RingCentral User Permissions API
The User Permissions API from RingCentral — 6 operation(s) for user permissions.
The User Permissions API from RingCentral — 6 operation(s) for user permissions.
openapi: 3.0.3
info:
title: RingCentral Adaptive Cards User Permissions API
description: RingCentral API specification
version: 1.0.58-20240529-47eda8bd
contact:
name: RingCentral Developers Support
url: https://developers.ringcentral.com/support
termsOfService: https://www.ringcentral.com/legal/apilitos.html
license:
name: RingCentral API License Agreement
url: https://www.ringcentral.com/legal/apilitos.html
servers:
- url: https://platform.ringcentral.com
description: Production API entry point
- url: https://media.ringcentral.com
description: Production Media entry point
- url: https://platform.devtest.ringcentral.com
description: Developer sandbox API entry point
- url: https://platform.devtest.ringcentral.com
description: Developer sandbox Media entry point
security:
- OAuth2: []
tags:
- name: User Permissions
paths:
/restapi/v1.0/account/{accountId}/extension/{extensionId}/authz-profile:
get:
tags:
- User Permissions
summary: Get Authorization Profile
description: 'Returns a list of user permissions granted at authorization procedure.
Please note: Some permissions may be restricted by extension type.
'
operationId: readAuthorizationProfile
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
- name: targetExtensionId
in: query
schema:
type: string
responses:
'200':
description: List of user permissions
content:
application/json:
schema:
$ref: '#/components/schemas/AuthProfileResource'
x-availability: High
x-throttling-group: Medium
/restapi/v1.0/account/{accountId}/extension/{extensionId}/authz-profile/check:
get:
tags:
- User Permissions
summary: Check User Permission
description: Checks if a certain user permission is activated for a particular extension.
operationId: checkUserPermission
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ExtensionId'
- name: permissionId
in: query
schema:
type: string
- name: targetExtensionId
in: query
schema:
type: string
responses:
'200':
description: Authorization profile resource
content:
application/json:
schema:
$ref: '#/components/schemas/AuthProfileCheckResource'
x-availability: High
x-throttling-group: Light
/restapi/v1.0/dictionary/permission:
get:
tags:
- User Permissions
summary: List Permissions
description: Returns a list of extension user permissions.
operationId: listPermissions
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PerPage'
- name: assignable
in: query
description: Specifies whether to return only assignable permissions
schema:
type: boolean
- name: servicePlanId
in: query
description: Internal identifier of a service plan
schema:
type: string
responses:
'200':
description: List of user permissions
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionCollectionResource'
x-availability: High
x-throttling-group: Light
/restapi/v1.0/dictionary/permission/{permissionId}:
get:
tags:
- User Permissions
summary: Get Permission
description: Returns a user permission by ID.
operationId: readPermission
parameters:
- name: permissionId
in: path
description: Internal identifier of a user permission
required: true
schema:
type: string
responses:
'200':
description: Permission information
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionResource'
x-availability: High
x-throttling-group: Light
/restapi/v1.0/dictionary/permission-category:
get:
tags:
- User Permissions
summary: List Permission Categories
description: Returns a list of permission categories.
operationId: listPermissionCategories
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PerPage'
- name: servicePlanId
in: query
description: Internal identifier of a service plan
schema:
type: string
responses:
'200':
description: List of permission categories
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionCategoryCollectionResource'
x-availability: High
x-throttling-group: Light
/restapi/v1.0/dictionary/permission-category/{permissionCategoryId}:
get:
tags:
- User Permissions
summary: Get Permission Category
description: Returns a permission category by ID.
operationId: readPermissionCategory
parameters:
- name: permissionCategoryId
in: path
description: Internal identifier of a category
required: true
schema:
type: string
responses:
'200':
description: Permission category
content:
application/json:
schema:
$ref: '#/components/schemas/PermissionCategoryResource'
x-availability: High
x-throttling-group: Light
components:
parameters:
PerPage:
name: perPage
in: query
description: 'The number of items per page. If provided value in the request
is greater than a maximum, the maximum value is applied
'
required: false
explode: false
schema:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 100
example: 100
ExtensionId:
name: extensionId
in: path
description: 'Internal identifier of the RingCentral extension/user
(can be set to "~" to indicate that the extension associated with current authorization session should be used)
'
required: true
style: simple
explode: false
schema:
type: string
default: '~'
example: '~'
Page:
name: page
in: query
description: The result set page number (1-indexed) to return
required: false
explode: false
schema:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 1
example: 1
AccountId:
name: accountId
in: path
description: 'Internal identifier of the RingCentral account
(can be set to "~" to indicate that the account associated with current authorization session should be used)
'
required: true
style: simple
explode: false
schema:
type: string
default: '~'
example: '~'
schemas:
PermissionIdResource:
type: object
properties:
uri:
type: string
format: uri
id:
type: string
siteCompatible:
type: string
description: Site compatibility flag set for permission
enum:
- Compatible
- Incompatible
- Independent
readOnly:
type: boolean
description: Specifies if the permission is editable on UI (if set to `true`) or not (if set to `false`)
assignable:
type: boolean
description: Specifies if the permission can be assigned by the account administrator
permissionsCapabilities:
$ref: '#/components/schemas/PermissionsCapabilities'
PageNavigationUri:
type: object
additionalProperties: false
properties:
uri:
type: string
description: Canonical URI to retrieve the particular page of the result set
format: uri
EnumeratedPagingModel:
type: object
required:
- perPage
additionalProperties: false
properties:
perPage:
type: integer
format: int32
minimum: 1
maximum: 1000
description: 'Current page size, describes how many items are in each page.
Matches "perPage" parameter from the request.
'
example: 50
page:
type: integer
format: int32
minimum: 1
maximum: 1000
description: '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)
'
example: 5
pageStart:
type: integer
format: int32
minimum: 0
description: 'The zero-based number of the first element on the current page.
Omitted if the page is omitted or result is empty
'
example: 0
pageEnd:
type: integer
format: int32
minimum: 0
description: 'The zero-based index of the last element on the current page.
Omitted if the page is omitted or result is empty
'
example: 5
totalPages:
type: integer
format: int32
minimum: 0
description: 'The total number of pages in a dataset. May be omitted for
some resources due to performance reasons
'
example: 25
totalElements:
type: integer
format: int32
minimum: 0
description: 'The total number of elements in a dataset. May be omitted for
some resource due to performance reasons
'
example: 25
RoleIdResource:
type: object
properties:
uri:
type: string
format: uri
id:
type: string
PermissionCategoryIdResource:
type: object
properties:
uri:
type: string
format: uri
id:
type: string
PermissionCollectionResource:
type: object
properties:
uri:
type: string
format: uri
records:
type: array
items:
$ref: '#/components/schemas/PermissionResource'
paging:
$ref: '#/components/schemas/EnumeratedPagingModel'
navigation:
$ref: '#/components/schemas/PageNavigationModel'
AuthProfileCheckResource:
type: object
properties:
uri:
type: string
format: uri
successful:
type: boolean
default: false
details:
$ref: '#/components/schemas/ActivePermissionResource'
PermissionCategoryCollectionResource:
type: object
properties:
uri:
type: string
format: uri
records:
type: array
items:
$ref: '#/components/schemas/PermissionCategoryResource'
paging:
$ref: '#/components/schemas/EnumeratedPagingModel'
navigation:
$ref: '#/components/schemas/PageNavigationModel'
PermissionsCapabilities:
type: object
description: Advanced permissions capabilities. Returned if `advancedPermissions` query parameter is set to `true`.
properties:
enabled:
type: boolean
description: Specifies whether the user is enabled with the listed permission or not
manageEnabled:
type: boolean
description: Specifies if the user can manage the listed permission and is allowed to enable it on other users
grantEnabled:
type: boolean
description: Specifies if the users who were enabled with the listed permission can grant it further to other users
ActivePermissionResource:
type: object
properties:
permission:
$ref: '#/components/schemas/PermissionIdResource'
effectiveRole:
$ref: '#/components/schemas/RoleIdResource'
scopes:
type: array
items:
type: string
enum:
- Account
- AllExtensions
- Federation
- NonUserExtensions
- RoleBased
- Self
- UserExtensions
PermissionCategoryResource:
type: object
properties:
uri:
type: string
format: uri
id:
type: string
displayName:
type: string
description:
type: string
PermissionResource:
type: object
properties:
uri:
type: string
format: uri
id:
type: string
displayName:
type: string
description:
type: string
assignable:
type: boolean
default: false
readOnly:
type: boolean
default: false
siteCompatible:
type: string
description: Site compatibility flag set for permission
enum:
- Incompatible
- Compatible
- Independent
category:
$ref: '#/components/schemas/PermissionCategoryIdResource'
includedPermissions:
type: array
items:
$ref: '#/components/schemas/PermissionIdResource'
PageNavigationModel:
type: object
description: Links to other pages of the current result set
additionalProperties: false
properties:
firstPage:
$ref: '#/components/schemas/PageNavigationUri'
nextPage:
$ref: '#/components/schemas/PageNavigationUri'
previousPage:
$ref: '#/components/schemas/PageNavigationUri'
lastPage:
$ref: '#/components/schemas/PageNavigationUri'
AuthProfileResource:
type: object
properties:
uri:
type: string
format: uri
permissions:
type: array
items:
$ref: '#/components/schemas/ActivePermissionResource'
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://platform.ringcentral.com/restapi/oauth/authorize
tokenUrl: https://platform.ringcentral.com/restapi/oauth/token
refreshUrl: https://platform.ringcentral.com/restapi/oauth/token
scopes: {}
x-tagGroups:
- name: Voice
popular: true
tags:
- Business Hours
- Call Blocking
- Call Control
- Call Forwarding
- Call Handling Rules
- Interaction Rules
- State-based Rules
- Call Flip
- Call Log
- Call History
- Call Log Export
- Call Monitoring Groups
- Call Queues
- Call Recordings
- Call Recording Settings
- Device SIP Registration
- Greetings
- IVR
- RingOut
- Verification Calls
- name: SMS and Fax
popular: true
tags:
- Fax
- Message Exports
- Message Store
- Pager Messages
- SMS
- High Volume SMS
- SMS Log Export
- SMS Templates
- Voicemail Broadcasting
- name: Social Messaging
popular: true
tags:
- Identities
- Contents
- name: Team Messaging
popular: true
tags:
- Adaptive Cards
- Bots
- Calendar Events
- Chats
- Conversations
- Compliance Exports
- Contacts
- Incoming Webhooks
- Notes
- Posts
- Profile
- Tasks
- Teams
- name: Video
popular: true
tags:
- Bridge Management
- Delegation Management
- Meetings History
- Meeting Recordings
- RCM Meetings (Legacy)
- RCM Webinars (Legacy)
- name: Webinar
popular: true
tags:
- Webinars and Sessions
- Invitees
- Historical Webinars
- Historical Recordings
- Registration Management
- Registrants
- Webinar Analytics
- Webinar Subscriptions
- name: Analytics
popular: true
tags:
- Business Analytics
- name: Artificial Intelligence
popular: true
tags:
- Insights
- Audio
- Text
- Status
- name: Authentication
tags:
- OAuth 2.0 / OpenID Connect
- Interoperability
- name: Account
tags:
- Company
- Custom Fields
- Features
- Licenses
- Tax Locations
- Cost Centers
- Multi-Site
- Phone Numbers
- Presence
- Regional Settings
- User Permissions
- User Settings
- Audit Trail
- Calling Rates
- Appearance Customization
- Account Integrations
- name: Provisioning
tags:
- Automatic Location Updates
- Devices
- Extensions
- Paging Only Groups
- Park Locations
- Phone Lines
- SCIM
- Shared Lines
- Group Call Pickup
- Delegated Lines Groups
- Directed Call Pickup
- IVR Apps
- Video Configuration
- Number Porting
- SMB
- Account Federation
- Integrations
- Enterprise Portal API
- Push to Talk Provisioning
- BYOC
- name: Address Book
tags:
- External Contacts
- Internal Contacts
- Hybrid Directory Contacts
- Overlay Contacts
- External Shared Directory
- name: Roles and Permissions
tags:
- Permissions
- Role Management
- Site Administration
- User Groups
- name: Events & Notifications
tags:
- Subscriptions
- name: User Integrations
tags:
- Token Management
- Calendar Management
- Calendar Event Management
- Calendar Presence Link
- Cloud Personal Contacts
- Cloud Shared Contacts
- Cloud Directory
- Deprecated Calendar API
- name: Rooms
tags:
- Rooms Client API
- Rooms Management API
- name: App Management
tags:
- App Gallery
- App Rating Review
- Bot Provisioning
- name: Workflow Builder
tags:
- Flows
- Flow Editor
- Flow Log
- Flow Templates
- name: Utilities
tags:
- API Info
- Application Settings
- Async Tasks
- User Notifications
- Client Versions
- End-to-End Encryption