---
title: "List Assignable Roles"
method: GET
path: "/restapi/v1.0/account/{accountId}/extension/{extensionId}/assignable-roles"
tags: ["Role Management"]
---

# List Assignable Roles

`GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/assignable-roles`

## Request

- Base URL: `https://platform.ringcentral.com`
- URL: `https://platform.ringcentral.com/restapi/v1.0/account/{accountId}/extension/{extensionId}/assignable-roles`
- Auth: OAuth 2
  - Authorization code: `https://platform.ringcentral.com/restapi/oauth/authorize`
  - Token URL: `https://platform.ringcentral.com/restapi/oauth/token`
- TypeScript: <https://skmtc.dev/ringcentral/apis/ringcentral-api/docs/restapi/v1.0/account/:accountId/extension/:extensionId/assignable-roles/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a list of roles which can be assigned to a given extension.

## Path parameters

- `accountId` string, required
- `extensionId` string, required

## Query parameters

- `page` integer
- `perPage` integer

## Response `200`

List of roles which can be assigned to a given extension

- RolesCollectionResource
  - `uri` string, uri
  - `records` RoleResource[]
    - `uri` string, uri: Link to a role resource
    - `id` string: Internal identifier of a role
    - `displayName` string: Dispayed name of a role
    - `description` string: Role description
    - `siteCompatible` boolean: Site compatibility of a user role
    - `custom` boolean: Specifies if a user role is custom
    - `scope` 'Account' | 'AllExtensions' | 'Federation' | 'Group' | 'NonUserExtensions' | 'RoleBased' | 'Self' | 'UserExtensions': Specifies resource for permission
    - `hidden` boolean
    - `lastUpdated` string, date-time
    - `permissions` PermissionIdResource[]
      - `uri` string, uri
      - `id` string
      - `siteCompatible` 'Compatible' | 'Incompatible' | 'Independent': Site compatibility flag set for permission
      - `readOnly` boolean: Specifies if the permission is editable on UI (if set to `true`) or not (if set to `false`)
      - `assignable` boolean: Specifies if the permission can be assigned by the account administrator
      - `permissionsCapabilities` PermissionsCapabilities: Advanced permissions capabilities. Returned if `advancedPermissions` query parameter is set to `true`.
        - `enabled` boolean: Specifies whether the user is enabled with the listed permission or not
        - `manageEnabled` boolean: Specifies if the user can manage the listed permission and is allowed to enable it on other users
        - `grantEnabled` boolean: Specifies if the users who were enabled with the listed permission can grant it further to other users
  - `paging` EnumeratedPagingModel
    - `perPage` integer, required: Current page size, describes how many items are in each page. Matches "perPage" parameter from the request.
    - `page` integer: The current page number. 1-indexed, so the first page is 1 by default. May be omitted if result is empty (because non-existent page was specified or perPage=0 was requested)
    - `pageStart` integer: The zero-based number of the first element on the current page. Omitted if the page is omitted or result is empty
    - `pageEnd` integer: The zero-based index of the last element on the current page. Omitted if the page is omitted or result is empty
    - `totalPages` integer: The total number of pages in a dataset. May be omitted for some resources due to performance reasons
    - `totalElements` integer: The total number of elements in a dataset. May be omitted for some resource due to performance reasons
  - `navigation` PageNavigationModel: Links to other pages of the current result set
    - `firstPage` PageNavigationUri
      - `uri` string, uri: Canonical URI to retrieve the particular page of the result set
    - `nextPage` PageNavigationUri
      - `uri` string, uri: Canonical URI to retrieve the particular page of the result set
    - `previousPage` PageNavigationUri
      - `uri` string, uri: Canonical URI to retrieve the particular page of the result set
    - `lastPage` PageNavigationUri
      - `uri` string, uri: Canonical URI to retrieve the particular page of the result set

---

[API](https://skmtc.dev/ringcentral/apis/ringcentral-api.md) - [All operations](https://skmtc.dev/ringcentral/apis/ringcentral-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ringcentral/apis/ringcentral-api/revisions/8d602198ec97?raw)
