# Fetching a list of Roles

The Roles endpoint provides a list of all active roles that belong to the account of the user making the request.

The response will contain an array of role objects, sorted alphabetically by the name attribute
available under the key named roles.


This endpoint returns structured Role objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the roles top-level JSON key.
Please see our Response Format section for more information.

Endpoint: GET /roles
Version: 1.0.0

## Query parameters:

  - `created_after` (string)
    Filter for records created after a specified datetime. The datetime must be in ISO 8601 format.

  - `created_before` (string)
    Filter for records created before a specified datetime. The datetime must be in ISO 8601 format.

  - `external_reference_external_message` (string)
    Filter the objects based on the external message of their associated external references. This is an exact match.

  - `external_reference_external_status` (string)
    Filter by the status of the external object in the external system.

  - `external_reference_service_model` (string)
    Filter by the type of the external object this external reference belongs to.

  - `external_reference_service_model_ref` (integer)
    Filter by the id of the external object this external reference belongs to.

  - `external_reference_service_model_refs` (string)
    Filter for objects that correlate to the specified external object IDs. Provide a comma-separated list of up to 200 external IDs.

  - `external_reference_service_name` (string)
    Filter by the name of the provider for integration.

  - `external_reference_status` (string)
    Filter by the status of the integration, this can be successful or fail.

  - `for_rate_card` (integer)
    Only includes roles from a given rate card.

  - `for_scenario_rate_card` (integer)
    Only includes roles that are on the scenario's rate card.

  - `for_workspace` (integer)
    Only includes roles for a specific project ID.

  - `for_workspace_rate_card` (integer)
    Only includes roles that are on the workspace's rate card.

  - `has_external_references` (boolean)
    Filter by whether or not the object has external references.

  - `include` (string)
    Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.
- external_references (ExternalReference) - Includes references to external integrations for this object.

  - `matching` (string)
    Only includes roles with names that match the search string.

  - `not_on_rate_card_set_version` (integer)
    Only includes roles that are not already on the rate card set version.

  - `only` (string)
    Allows you to request one or more resources directly by ID. Multiple IDs can be supplied
in a comma separated list, like GET /api/v1/workspaces.json?only=5,6,7.

  - `only_active` (boolean)
    Only includes roles that have not been soft-deleted (via deleted_at).

  - `order` (string)
    Supply order with the name of a valid sort field for the endpoint and a direction.

Valid values: alphabetical:asc and alphabetical:desc.

  - `page` (integer)

  - `per_page` (integer)

  - `updated_after` (string)
    Filter for records updated after a specified datetime. The datetime must be in ISO 8601 format.

  - `updated_before` (string)
    Filter for records updated before a specified datetime. The datetime must be in ISO 8601 format.

  - `without_external_reference_service_name` (string)
    Exclude by the existence of an external reference with the specified service name.

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

  - `roles` (object)

  - `external_references` (object)

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)


