> ## Documentation Index
> Fetch the complete documentation index at: https://www.text.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List roles

> List the roles available for an organization. The result combines predefined and user-defined roles.

**Required scopes:** `accounts.roles--all:ro`


## OpenAPI

````yaml /api/global-accounts/openapi.json get /roles
openapi: 3.0.0
info:
  title: Global Accounts API
  description: >-
    API used to manage Organizations and Accounts for multiple products. Also
    responsible for authorization and authentication processes.
  version: 2.0.0
servers:
  - url: https://accounts.livechat.com/v2
    description: Main production server URL
security: []
paths:
  /roles:
    get:
      tags:
        - Roles
      summary: List roles
      description: >-
        List the roles available for an organization. The result combines
        predefined and user-defined roles.
      responses:
        '200':
          description: 'OK: Returns the list of roles.'
          content:
            application/json:
              schema:
                type: array
                items:
                  description: Role groups account scopes into one permission entity.
                  type: object
                  properties:
                    role_id:
                      type: string
                      description: Unique role definition ID.
                    product:
                      type: string
                      description: The default product for the account.
                      enum:
                        - LiveChat
                        - Accounts
                        - ChatBot
                        - HelpDesk
                        - OpenWidget
                    role:
                      type: string
                      description: >-
                        The role name; can be one of the predefined roles or a
                        custom role name.
                      enum:
                        - owner
                        - viceowner
                        - administrator
                        - normal
                        - member
                    type:
                      type: string
                      readOnly: true
                      description: >-
                        The role type: `primary` is an obligatory accounts role,
                        `secondary` is a basic product role, `custom` is a
                        custom-defined role.
                    predefined:
                      readOnly: true
                      type: boolean
                      description: >-
                        If `true`: the role is common across all organizations.
                        If `false`: the role is specific to an organization.
              example:
                - role_id: 728b99be-848c-11ea-9b91-005056a007e9
                  product: LiveChat
                  role: administrator
                  type: primary
                  predefined: true
        '401':
          description: Unauthorized, missing, or invalid authorization.
          content:
            application/json:
              schema:
                allOf:
                  - description: The default error object.
                    type: object
                    properties:
                      error:
                        description: The error code.
                        type: string
                        enum:
                          - bad_request
                          - invalid_request
                          - unauthorized_client
                          - unauthorized
                          - access_denied
                          - unsupported_response_type
                          - invalid_scope
                          - server_error
                          - temporarily_unavailable
                          - unsupported_grant_type
                          - invalid_grant
                          - invalid_client
                          - conflict
                          - resource_not_found
                          - join_link_expired
                          - traffic_blocked
                          - not_implemented
                      error_description:
                        type: string
                      sub_error:
                        description: The error subcode.
                        type: string
                        nullable: true
                      request_id:
                        description: Unique request identifier.
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      error:
                        type: string
                      error_description:
                        type: string
              example:
                error: unauthorized
                error_description: The account is not authorized.
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
        '403':
          description: 'Forbidden: Insufficient scope.'
          content:
            application/json:
              schema:
                allOf:
                  - description: The default error object.
                    type: object
                    properties:
                      error:
                        description: The error code.
                        type: string
                        enum:
                          - bad_request
                          - invalid_request
                          - unauthorized_client
                          - unauthorized
                          - access_denied
                          - unsupported_response_type
                          - invalid_scope
                          - server_error
                          - temporarily_unavailable
                          - unsupported_grant_type
                          - invalid_grant
                          - invalid_client
                          - conflict
                          - resource_not_found
                          - join_link_expired
                          - traffic_blocked
                          - not_implemented
                      error_description:
                        type: string
                      sub_error:
                        description: The error subcode.
                        type: string
                        nullable: true
                      request_id:
                        description: Unique request identifier.
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      error:
                        type: string
                      sub_error:
                        type: string
                      error_description:
                        type: string
              example:
                error: access_denied
                sub_error: insufficient_scope
                error_description: The resource owner or authorization server denied the request.
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
        '500':
          description: Server Error.
          content:
            application/json:
              schema:
                allOf:
                  - description: The default error object.
                    type: object
                    properties:
                      error:
                        description: The error code.
                        type: string
                        enum:
                          - bad_request
                          - invalid_request
                          - unauthorized_client
                          - unauthorized
                          - access_denied
                          - unsupported_response_type
                          - invalid_scope
                          - server_error
                          - temporarily_unavailable
                          - unsupported_grant_type
                          - invalid_grant
                          - invalid_client
                          - conflict
                          - resource_not_found
                          - join_link_expired
                          - traffic_blocked
                          - not_implemented
                      error_description:
                        type: string
                      sub_error:
                        description: The error subcode.
                        type: string
                        nullable: true
                      request_id:
                        description: Unique request identifier.
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      error:
                        type: string
                      error_description:
                        type: string
              example:
                error: server_error
                error_description: >-
                  The server encountered an unexpected condition that prevented
                  it from fulfilling the request.
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
      security:
        - PersonalAccessToken: []
        - OAuth2BearerToken:
            - accounts.roles--all:ro
components:
  securitySchemes:
    PersonalAccessToken:
      description: >-
        Use your `account ID` as the username and your personal access token
        (PAT) as the password, or pass a Base64-encoded value directly in the
        Authorization header. For more information, see the <a
        href="/authentication/personal-access-tokens">personal access tokens
        guide</a>.
      type: http
      scheme: basic
    OAuth2BearerToken:
      description: >-
        This API uses OAuth2 with the implicit grant flow. <a
        href="/authentication/oauth-authorization#implicit-grant">Learn about
        the implicit grant flow.</a>
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://accounts.livechat.com
          scopes: {}
        authorizationCode:
          authorizationUrl: https://accounts.livechat.com
          tokenUrl: https://accounts.livechat.com/token
          scopes: {}

````