naftiko: 1.0.0-alpha2 info: label: RingCentral API — IVR description: 'RingCentral API — IVR. 10 operations. Lead operation: Get IVR Menu list. Self-contained Naftiko capability covering one Ringcentral business surface.' tags: - Ringcentral - IVR created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RINGCENTRAL_API_KEY: RINGCENTRAL_API_KEY capability: consumes: - type: http namespace: platform-ivr baseUri: https://platform.ringcentral.com description: RingCentral API — IVR business capability. Self-contained, no shared references. resources: - name: restapi-v1.0-account-accountId-ivr-menus path: /restapi/v1.0/account/{accountId}/ivr-menus operations: - name: readivrmenulist method: GET description: Get IVR Menu list outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createivrmenu method: POST description: Create IVR Menu 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-ivr-menus-ivrMenuId path: /restapi/v1.0/account/{accountId}/ivr-menus/{ivrMenuId} operations: - name: readivrmenu method: GET description: Get IVR Menu outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateivrmenu method: PUT description: Update IVR Menu 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-ivr-prompts path: /restapi/v1.0/account/{accountId}/ivr-prompts operations: - name: listivrprompts method: GET description: List IVR Prompts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createivrprompt method: POST description: Create IVR Prompts 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-ivr-prompts-promptId path: /restapi/v1.0/account/{accountId}/ivr-prompts/{promptId} operations: - name: readivrprompt method: GET description: Get IVR Prompt outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateivrprompt method: PUT description: Update IVR Prompt outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deleteivrprompt method: DELETE description: Delete IVR Prompt outputRawFormat: json outputParameters: - name: result type: object value: $. - name: restapi-v1.0-account-accountId-ivr-prompts-promptId-content path: /restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}/content operations: - name: readivrpromptcontent method: GET description: Get IVR Prompt Content outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.RINGCENTRAL_API_KEY}}' exposes: - type: rest namespace: platform-ivr-rest port: 8080 description: REST adapter for RingCentral API — IVR. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/restapi/v1-0/account/{accountid}/ivr-menus name: restapi-v1-0-account-accountid-ivr-menus description: REST surface for restapi-v1.0-account-accountId-ivr-menus. operations: - method: GET name: readivrmenulist description: Get IVR Menu list call: platform-ivr.readivrmenulist outputParameters: - type: object mapping: $. - method: POST name: createivrmenu description: Create IVR Menu call: platform-ivr.createivrmenu with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/ivr-menus/{ivrmenuid} name: restapi-v1-0-account-accountid-ivr-menus-ivrmenuid description: REST surface for restapi-v1.0-account-accountId-ivr-menus-ivrMenuId. operations: - method: GET name: readivrmenu description: Get IVR Menu call: platform-ivr.readivrmenu outputParameters: - type: object mapping: $. - method: PUT name: updateivrmenu description: Update IVR Menu call: platform-ivr.updateivrmenu with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/ivr-prompts name: restapi-v1-0-account-accountid-ivr-prompts description: REST surface for restapi-v1.0-account-accountId-ivr-prompts. operations: - method: GET name: listivrprompts description: List IVR Prompts call: platform-ivr.listivrprompts outputParameters: - type: object mapping: $. - method: POST name: createivrprompt description: Create IVR Prompts call: platform-ivr.createivrprompt with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/ivr-prompts/{promptid} name: restapi-v1-0-account-accountid-ivr-prompts-promptid description: REST surface for restapi-v1.0-account-accountId-ivr-prompts-promptId. operations: - method: GET name: readivrprompt description: Get IVR Prompt call: platform-ivr.readivrprompt outputParameters: - type: object mapping: $. - method: PUT name: updateivrprompt description: Update IVR Prompt call: platform-ivr.updateivrprompt with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteivrprompt description: Delete IVR Prompt call: platform-ivr.deleteivrprompt outputParameters: - type: object mapping: $. - path: /v1/restapi/v1-0/account/{accountid}/ivr-prompts/{promptid}/content name: restapi-v1-0-account-accountid-ivr-prompts-promptid-content description: REST surface for restapi-v1.0-account-accountId-ivr-prompts-promptId-content. operations: - method: GET name: readivrpromptcontent description: Get IVR Prompt Content call: platform-ivr.readivrpromptcontent outputParameters: - type: object mapping: $. - type: mcp namespace: platform-ivr-mcp port: 9090 transport: http description: MCP adapter for RingCentral API — IVR. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-ivr-menu-list description: Get IVR Menu list hints: readOnly: true destructive: false idempotent: true call: platform-ivr.readivrmenulist outputParameters: - type: object mapping: $. - name: create-ivr-menu description: Create IVR Menu hints: readOnly: false destructive: false idempotent: false call: platform-ivr.createivrmenu with: body: tools.body outputParameters: - type: object mapping: $. - name: get-ivr-menu description: Get IVR Menu hints: readOnly: true destructive: false idempotent: true call: platform-ivr.readivrmenu outputParameters: - type: object mapping: $. - name: update-ivr-menu description: Update IVR Menu hints: readOnly: false destructive: false idempotent: true call: platform-ivr.updateivrmenu with: body: tools.body outputParameters: - type: object mapping: $. - name: list-ivr-prompts description: List IVR Prompts hints: readOnly: true destructive: false idempotent: true call: platform-ivr.listivrprompts outputParameters: - type: object mapping: $. - name: create-ivr-prompts description: Create IVR Prompts hints: readOnly: false destructive: false idempotent: false call: platform-ivr.createivrprompt with: body: tools.body outputParameters: - type: object mapping: $. - name: get-ivr-prompt description: Get IVR Prompt hints: readOnly: true destructive: false idempotent: true call: platform-ivr.readivrprompt outputParameters: - type: object mapping: $. - name: update-ivr-prompt description: Update IVR Prompt hints: readOnly: false destructive: false idempotent: true call: platform-ivr.updateivrprompt with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-ivr-prompt description: Delete IVR Prompt hints: readOnly: false destructive: true idempotent: true call: platform-ivr.deleteivrprompt outputParameters: - type: object mapping: $. - name: get-ivr-prompt-content description: Get IVR Prompt Content hints: readOnly: true destructive: false idempotent: true call: platform-ivr.readivrpromptcontent outputParameters: - type: object mapping: $.