naftiko: 1.0.0-alpha2 info: label: RingCentral API — User Settings description: 'RingCentral API — User Settings. 17 operations. Lead operation: Get Extension. Self-contained Naftiko capability covering one Ringcentral business surface.' tags: - Ringcentral - User Settings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RINGCENTRAL_API_KEY: RINGCENTRAL_API_KEY capability: consumes: - type: http namespace: platform-user-settings baseUri: https://platform.ringcentral.com description: RingCentral API — User Settings business capability. Self-contained, no shared references. resources: - name: restapi-v1.0-account-accountId-extension-extensionId path: /restapi/v1.0/account/{accountId}/extension/{extensionId} operations: - name: readextension method: GET description: Get Extension outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateextension method: PUT description: Update Extension outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteextension method: DELETE description: Delete Extension outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: savePhoneLines in: query type: boolean - name: savePhoneNumbers in: query type: boolean - name: restapi-v1.0-account-accountId-extension-extensionId-caller-id path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id operations: - name: readextensioncallerid method: GET description: Get Extension Caller ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateextensioncallerid method: PUT description: Update Extension Caller ID 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-conferencing path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing operations: - name: readconferencingsettings method: GET description: Get User Conferencing Settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: countryId in: query type: string description: Internal identifier of a country. If not specified, the response - name: updateconferencingsettings method: PUT description: Update User Conferencing Settings 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-grant path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/grant operations: - name: listextensiongrants method: GET description: List Extension Grants outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: extensionType in: query type: string description: Type of extension to be returned. Multiple values are supported. - name: page in: query type: integer description: Indicates a page number to retrieve. Only positive number values - name: perPage in: query type: integer description: Indicates a page size (number of items) - name: restapi-v1.0-account-accountId-extension-extensionId-notification-settings path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings operations: - name: readnotificationsettings method: GET description: Get Notification Settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatenotificationsettings method: PUT description: Update Notification Settings 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-profile-image path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image operations: - name: readuserprofileimagelegacy method: GET description: Get User Profile Image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateuserprofileimage method: PUT description: Update User Profile Image outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: createuserprofileimage method: POST description: Upload User Profile Image outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteuserprofileimage method: DELETE description: Delete User Profile Image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: restapi-v1.0-account-accountId-extension-extensionId-profile-image-scaleSize path: /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image/{scaleSize} operations: - name: readscaledprofileimage method: GET description: Get Scaled Profile Image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: restapi-v2-accounts-accountId-batch-provisioning-users path: /restapi/v2/accounts/{accountId}/batch-provisioning/users operations: - name: postbatchprovisionusers method: POST description: Create Multiple User Extensions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: restapi-v2-accounts-accountId-extensions path: /restapi/v2/accounts/{accountId}/extensions operations: - name: bulkdeleteusersv2 method: DELETE description: Delete User Extensions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.RINGCENTRAL_API_KEY}}' exposes: - type: rest namespace: platform-user-settings-rest port: 8080 description: REST adapter for RingCentral API — User Settings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid} name: restapi-v1-0-account-accountid-extension-extensionid description: REST surface for restapi-v1.0-account-accountId-extension-extensionId. operations: - method: GET name: readextension description: Get Extension call: platform-user-settings.readextension outputParameters: - type: object mapping: $. - method: PUT name: updateextension description: Update Extension call: platform-user-settings.updateextension with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteextension description: Delete Extension call: platform-user-settings.deleteextension with: savePhoneLines: rest.savePhoneLines savePhoneNumbers: rest.savePhoneNumbers outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/caller-id name: restapi-v1-0-account-accountid-extension-extensionid-caller-id description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-caller-id. operations: - method: GET name: readextensioncallerid description: Get Extension Caller ID call: platform-user-settings.readextensioncallerid outputParameters: - type: object mapping: $. - method: PUT name: updateextensioncallerid description: Update Extension Caller ID call: platform-user-settings.updateextensioncallerid with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/conferencing name: restapi-v1-0-account-accountid-extension-extensionid-conferencing description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-conferencing. operations: - method: GET name: readconferencingsettings description: Get User Conferencing Settings call: platform-user-settings.readconferencingsettings with: countryId: rest.countryId outputParameters: - type: object mapping: $. - method: PUT name: updateconferencingsettings description: Update User Conferencing Settings call: platform-user-settings.updateconferencingsettings with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/grant name: restapi-v1-0-account-accountid-extension-extensionid-grant description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-grant. operations: - method: GET name: listextensiongrants description: List Extension Grants call: platform-user-settings.listextensiongrants with: extensionType: rest.extensionType page: rest.page perPage: rest.perPage outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/notification-settings name: restapi-v1-0-account-accountid-extension-extensionid-notification-settings description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-notification-settings. operations: - method: GET name: readnotificationsettings description: Get Notification Settings call: platform-user-settings.readnotificationsettings outputParameters: - type: object mapping: $. - method: PUT name: updatenotificationsettings description: Update Notification Settings call: platform-user-settings.updatenotificationsettings with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/profile-image name: restapi-v1-0-account-accountid-extension-extensionid-profile-image description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-profile-image. operations: - method: GET name: readuserprofileimagelegacy description: Get User Profile Image call: platform-user-settings.readuserprofileimagelegacy outputParameters: - type: object mapping: $. - method: PUT name: updateuserprofileimage description: Update User Profile Image call: platform-user-settings.updateuserprofileimage with: body: rest.body outputParameters: - type: object mapping: $. - method: POST name: createuserprofileimage description: Upload User Profile Image call: platform-user-settings.createuserprofileimage with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteuserprofileimage description: Delete User Profile Image call: platform-user-settings.deleteuserprofileimage outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/extension/{extensionid}/profile-image/{scalesize} name: restapi-v1-0-account-accountid-extension-extensionid-profile-image-scalesize description: REST surface for restapi-v1.0-account-accountId-extension-extensionId-profile-image-scaleSize. operations: - method: GET name: readscaledprofileimage description: Get Scaled Profile Image call: platform-user-settings.readscaledprofileimage outputParameters: - type: object mapping: $. - path: /v1/restapi/v2/accounts/{accountid}/batch-provisioning/users name: restapi-v2-accounts-accountid-batch-provisioning-users description: REST surface for restapi-v2-accounts-accountId-batch-provisioning-users. operations: - method: POST name: postbatchprovisionusers description: Create Multiple User Extensions call: platform-user-settings.postbatchprovisionusers with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v2/accounts/{accountid}/extensions name: restapi-v2-accounts-accountid-extensions description: REST surface for restapi-v2-accounts-accountId-extensions. operations: - method: DELETE name: bulkdeleteusersv2 description: Delete User Extensions call: platform-user-settings.bulkdeleteusersv2 with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: platform-user-settings-mcp port: 9090 transport: http description: MCP adapter for RingCentral API — User Settings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-extension description: Get Extension hints: readOnly: true destructive: false idempotent: true call: platform-user-settings.readextension outputParameters: - type: object mapping: $. - name: update-extension description: Update Extension hints: readOnly: false destructive: false idempotent: true call: platform-user-settings.updateextension with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-extension description: Delete Extension hints: readOnly: false destructive: true idempotent: true call: platform-user-settings.deleteextension with: savePhoneLines: tools.savePhoneLines savePhoneNumbers: tools.savePhoneNumbers outputParameters: - type: object mapping: $. - name: get-extension-caller-id description: Get Extension Caller ID hints: readOnly: true destructive: false idempotent: true call: platform-user-settings.readextensioncallerid outputParameters: - type: object mapping: $. - name: update-extension-caller-id description: Update Extension Caller ID hints: readOnly: false destructive: false idempotent: true call: platform-user-settings.updateextensioncallerid with: body: tools.body outputParameters: - type: object mapping: $. - name: get-user-conferencing-settings description: Get User Conferencing Settings hints: readOnly: true destructive: false idempotent: true call: platform-user-settings.readconferencingsettings with: countryId: tools.countryId outputParameters: - type: object mapping: $. - name: update-user-conferencing-settings description: Update User Conferencing Settings hints: readOnly: false destructive: false idempotent: true call: platform-user-settings.updateconferencingsettings with: body: tools.body outputParameters: - type: object mapping: $. - name: list-extension-grants description: List Extension Grants hints: readOnly: true destructive: false idempotent: true call: platform-user-settings.listextensiongrants with: extensionType: tools.extensionType page: tools.page perPage: tools.perPage outputParameters: - type: object mapping: $. - name: get-notification-settings description: Get Notification Settings hints: readOnly: true destructive: false idempotent: true call: platform-user-settings.readnotificationsettings outputParameters: - type: object mapping: $. - name: update-notification-settings description: Update Notification Settings hints: readOnly: false destructive: false idempotent: true call: platform-user-settings.updatenotificationsettings with: body: tools.body outputParameters: - type: object mapping: $. - name: get-user-profile-image description: Get User Profile Image hints: readOnly: true destructive: false idempotent: true call: platform-user-settings.readuserprofileimagelegacy outputParameters: - type: object mapping: $. - name: update-user-profile-image description: Update User Profile Image hints: readOnly: false destructive: false idempotent: true call: platform-user-settings.updateuserprofileimage with: body: tools.body outputParameters: - type: object mapping: $. - name: upload-user-profile-image description: Upload User Profile Image hints: readOnly: false destructive: false idempotent: false call: platform-user-settings.createuserprofileimage with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-user-profile-image description: Delete User Profile Image hints: readOnly: false destructive: true idempotent: true call: platform-user-settings.deleteuserprofileimage outputParameters: - type: object mapping: $. - name: get-scaled-profile-image description: Get Scaled Profile Image hints: readOnly: true destructive: false idempotent: true call: platform-user-settings.readscaledprofileimage outputParameters: - type: object mapping: $. - name: create-multiple-user-extensions description: Create Multiple User Extensions hints: readOnly: false destructive: false idempotent: false call: platform-user-settings.postbatchprovisionusers with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-user-extensions description: Delete User Extensions hints: readOnly: false destructive: true idempotent: true call: platform-user-settings.bulkdeleteusersv2 with: body: tools.body outputParameters: - type: object mapping: $.