naftiko: 1.0.0-alpha2 info: label: RingCentral API — Role Management description: 'RingCentral API — Role Management. 15 operations. Lead operation: List Company Assigned Roles. Self-contained Naftiko capability covering one Ringcentral business surface.' tags: - Ringcentral - Role Management created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RINGCENTRAL_API_KEY: RINGCENTRAL_API_KEY capability: consumes: - type: http namespace: platform-role-management baseUri: https://platform.ringcentral.com description: RingCentral API — Role Management business capability. Self-contained, no shared references. resources: - name: restapi-v1.0-account-accountId-assigned-role path: /restapi/v1.0/account/{accountId}/assigned-role operations: - name: listassignedroles method: GET description: List Company Assigned Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: showHidden in: query type: boolean description: Specifies if hidden roles are shown or not - name: restapi-v1.0-account-accountId-extension-extensionId-assignable-roles path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/assignable-roles operations: - name: listofavailableforassigningroles method: GET description: List Assignable Roles outputRawFormat: json outputParameters: - name: result type: object value: $. - name: restapi-v1.0-account-accountId-extension-extensionId-assigned-role path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/assigned-role operations: - name: listuserassignedroles method: GET description: List User Assigned Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: showHidden in: query type: boolean description: Specifies if hidden roles are shown or not - name: updateuserassignedroles method: PUT description: Update User Assigned Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: restapi-v1.0-account-accountId-extension-extensionId-assigned-role-default path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/assigned-role/default operations: - name: assigndefaultrole method: PUT description: Assign Default Role outputRawFormat: json outputParameters: - name: result type: object value: $. - name: restapi-v1.0-account-accountId-user-role path: /restapi/v1.0/account/{accountId}/user-role operations: - name: listuserroles method: GET description: List Company User Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: custom in: query type: boolean description: Specifies whether to return custom roles or predefined roles only. - name: createcustomrole method: POST description: Create Custom Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: restapi-v1.0-account-accountId-user-role-default path: /restapi/v1.0/account/{accountId}/user-role/default operations: - name: readdefaultrole method: GET description: Get Default User Role outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatedefaultuserrole method: PUT description: Set Default User Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: restapi-v1.0-account-accountId-user-role-roleId path: /restapi/v1.0/account/{accountId}/user-role/{roleId} operations: - name: readuserrole method: GET description: Get User Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleId in: path type: string description: Internal identifier of a role required: true - name: advancedPermissions in: query type: boolean description: Specifies whether to return advanced permissions capabilities within `permissionsCapabilities` resource. - name: updateuserrole method: PUT description: Update User Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleId in: path type: string description: Internal identifier of a role required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletecustomrole method: DELETE description: Delete Custom Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleId in: path type: string description: Internal identifier of a role required: true - name: validateOnly in: query type: boolean description: Specifies that role should be validated prior to deletion, whether - name: restapi-v1.0-account-accountId-user-role-roleId-bulk-assign path: /restapi/v1.0/account/{accountId}/user-role/{roleId}/bulk-assign operations: - name: assignmultipleuserroles method: POST description: Assign Multiple User Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleId in: path type: string description: Internal identifier of a role required: true - name: body in: body type: object description: Request body (JSON). required: true - name: restapi-v1.0-dictionary-user-role path: /restapi/v1.0/dictionary/user-role operations: - name: liststandarduserrole method: GET description: List Standard User Roles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: servicePlanId in: query type: string description: Internal identifier of a service plan. - name: advancedPermissions in: query type: boolean description: Specifies whether to return advanced permissions capabilities within `permissionsCapabilities` resource. - name: restapi-v1.0-dictionary-user-role-roleId path: /restapi/v1.0/dictionary/user-role/{roleId} operations: - name: readstandarduserrole method: GET description: Get Standard User Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleId in: path type: string description: Internal identifier of a role required: true authentication: type: bearer token: '{{env.RINGCENTRAL_API_KEY}}' exposes: - type: rest namespace: platform-role-management-rest port: 8080 description: REST adapter for RingCentral API — Role Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/restapi/v1-0/account/{accountid}/assigned-role name: restapi-v1-0-account-accountid-assigned-role description: REST surface for restapi-v1.0-account-accountId-assigned-role. operations: - method: GET name: listassignedroles description: List Company Assigned Roles call: platform-role-management.listassignedroles with: showHidden: rest.showHidden outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/assignable-roles name: restapi-v1-0-account-accountid-extension-extensionid-assignable-roles description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-assignable-roles. operations: - method: GET name: listofavailableforassigningroles description: List Assignable Roles call: platform-role-management.listofavailableforassigningroles outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/assigned-role name: restapi-v1-0-account-accountid-extension-extensionid-assigned-role description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-assigned-role. operations: - method: GET name: listuserassignedroles description: List User Assigned Roles call: platform-role-management.listuserassignedroles with: showHidden: rest.showHidden outputParameters: - type: object mapping: $. - method: PUT name: updateuserassignedroles description: Update User Assigned Roles call: platform-role-management.updateuserassignedroles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/assigned-role/default name: restapi-v1-0-account-accountid-extension-extensionid-assigned-role-default description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-assigned-role-default. operations: - method: PUT name: assigndefaultrole description: Assign Default Role call: platform-role-management.assigndefaultrole outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/user-role name: restapi-v1-0-account-accountid-user-role description: REST surface for restapi-v1.0-account-accountId-user-role. operations: - method: GET name: listuserroles description: List Company User Roles call: platform-role-management.listuserroles with: custom: rest.custom outputParameters: - type: object mapping: $. - method: POST name: createcustomrole description: Create Custom Role call: platform-role-management.createcustomrole with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/user-role/default name: restapi-v1-0-account-accountid-user-role-default description: REST surface for restapi-v1.0-account-accountId-user-role-default. operations: - method: GET name: readdefaultrole description: Get Default User Role call: platform-role-management.readdefaultrole outputParameters: - type: object mapping: $. - method: PUT name: updatedefaultuserrole description: Set Default User Role call: platform-role-management.updatedefaultuserrole with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/user-role/{roleid} name: restapi-v1-0-account-accountid-user-role-roleid description: REST surface for restapi-v1.0-account-accountId-user-role-roleId. operations: - method: GET name: readuserrole description: Get User Role call: platform-role-management.readuserrole with: roleId: rest.roleId advancedPermissions: rest.advancedPermissions outputParameters: - type: object mapping: $. - method: PUT name: updateuserrole description: Update User Role call: platform-role-management.updateuserrole with: roleId: rest.roleId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecustomrole description: Delete Custom Role call: platform-role-management.deletecustomrole with: roleId: rest.roleId validateOnly: rest.validateOnly outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/user-role/{roleid}/bulk-assign name: restapi-v1-0-account-accountid-user-role-roleid-bulk-assign description: REST surface for restapi-v1.0-account-accountId-user-role-roleId-bulk-assign. operations: - method: POST name: assignmultipleuserroles description: Assign Multiple User Roles call: platform-role-management.assignmultipleuserroles with: roleId: rest.roleId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/dictionary/user-role name: restapi-v1-0-dictionary-user-role description: REST surface for restapi-v1.0-dictionary-user-role. operations: - method: GET name: liststandarduserrole description: List Standard User Roles call: platform-role-management.liststandarduserrole with: servicePlanId: rest.servicePlanId advancedPermissions: rest.advancedPermissions outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/dictionary/user-role/{roleid} name: restapi-v1-0-dictionary-user-role-roleid description: REST surface for restapi-v1.0-dictionary-user-role-roleId. operations: - method: GET name: readstandarduserrole description: Get Standard User Role call: platform-role-management.readstandarduserrole with: roleId: rest.roleId outputParameters: - type: object mapping: $. - type: mcp namespace: platform-role-management-mcp port: 9090 transport: http description: MCP adapter for RingCentral API — Role Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-company-assigned-roles description: List Company Assigned Roles hints: readOnly: true destructive: false idempotent: true call: platform-role-management.listassignedroles with: showHidden: tools.showHidden outputParameters: - type: object mapping: $. - name: list-assignable-roles description: List Assignable Roles hints: readOnly: true destructive: false idempotent: true call: platform-role-management.listofavailableforassigningroles outputParameters: - type: object mapping: $. - name: list-user-assigned-roles description: List User Assigned Roles hints: readOnly: true destructive: false idempotent: true call: platform-role-management.listuserassignedroles with: showHidden: tools.showHidden outputParameters: - type: object mapping: $. - name: update-user-assigned-roles description: Update User Assigned Roles hints: readOnly: false destructive: false idempotent: true call: platform-role-management.updateuserassignedroles with: body: tools.body outputParameters: - type: object mapping: $. - name: assign-default-role description: Assign Default Role hints: readOnly: false destructive: false idempotent: true call: platform-role-management.assigndefaultrole outputParameters: - type: object mapping: $. - name: list-company-user-roles description: List Company User Roles hints: readOnly: true destructive: false idempotent: true call: platform-role-management.listuserroles with: custom: tools.custom outputParameters: - type: object mapping: $. - name: create-custom-role description: Create Custom Role hints: readOnly: false destructive: false idempotent: false call: platform-role-management.createcustomrole with: body: tools.body outputParameters: - type: object mapping: $. - name: get-default-user-role description: Get Default User Role hints: readOnly: true destructive: false idempotent: true call: platform-role-management.readdefaultrole outputParameters: - type: object mapping: $. - name: set-default-user-role description: Set Default User Role hints: readOnly: false destructive: false idempotent: true call: platform-role-management.updatedefaultuserrole with: body: tools.body outputParameters: - type: object mapping: $. - name: get-user-role description: Get User Role hints: readOnly: true destructive: false idempotent: true call: platform-role-management.readuserrole with: roleId: tools.roleId advancedPermissions: tools.advancedPermissions outputParameters: - type: object mapping: $. - name: update-user-role description: Update User Role hints: readOnly: false destructive: false idempotent: true call: platform-role-management.updateuserrole with: roleId: tools.roleId body: tools.body outputParameters: - type: object mapping: $. - name: delete-custom-role description: Delete Custom Role hints: readOnly: false destructive: true idempotent: true call: platform-role-management.deletecustomrole with: roleId: tools.roleId validateOnly: tools.validateOnly outputParameters: - type: object mapping: $. - name: assign-multiple-user-roles description: Assign Multiple User Roles hints: readOnly: false destructive: false idempotent: false call: platform-role-management.assignmultipleuserroles with: roleId: tools.roleId body: tools.body outputParameters: - type: object mapping: $. - name: list-standard-user-roles description: List Standard User Roles hints: readOnly: true destructive: false idempotent: true call: platform-role-management.liststandarduserrole with: servicePlanId: tools.servicePlanId advancedPermissions: tools.advancedPermissions outputParameters: - type: object mapping: $. - name: get-standard-user-role description: Get Standard User Role hints: readOnly: true destructive: false idempotent: true call: platform-role-management.readstandarduserrole with: roleId: tools.roleId outputParameters: - type: object mapping: $.