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