naftiko: 1.0.0-alpha2 info: label: Sinch Voice API — Applications description: 'Sinch Voice API — Applications. 6 operations. Lead operation: Get Application Callback Urls. Self-contained Naftiko capability covering one Sinch business surface.' tags: - Sinch - Applications created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SINCH_API_KEY: SINCH_API_KEY capability: consumes: - type: http namespace: voice-applications baseUri: https://calling.api.sinch.com description: Sinch Voice API — Applications business capability. Self-contained, no shared references. resources: - name: calling-v1-configuration-callbacks-applications-application_key path: /calling/v1/configuration/callbacks/applications/{application_key} operations: - name: getapplicationcallbacks method: GET description: Get Application Callback Urls outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateapplicationcallbacks method: POST description: Update Application Callback Urls outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: calling-v1-configuration-numbers path: /calling/v1/configuration/numbers operations: - name: getnumbers method: GET description: Get Numbers Assigned to Application outputRawFormat: json outputParameters: - name: result type: object value: $. - name: calling-v1-configuration-numbers-number path: /calling/v1/configuration/numbers/{number} operations: - name: getnumberconfiguration method: GET description: Get Number Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: number in: path type: string description: The phone number in E.164 format required: true - name: updatenumberconfiguration method: POST description: Update Number Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: number in: path type: string description: The phone number in E.164 format required: true - name: body in: body type: object description: Request body (JSON). required: true - name: unassignnumber method: DELETE description: Unassign a Number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: number in: path type: string description: The phone number in E.164 format required: true authentication: type: basic username: '{{env.SINCH_USER}}' password: '{{env.SINCH_PASS}}' exposes: - type: rest namespace: voice-applications-rest port: 8080 description: REST adapter for Sinch Voice API — Applications. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/calling/v1/configuration/callbacks/applications/{application-key} name: calling-v1-configuration-callbacks-applications-application-key description: REST surface for calling-v1-configuration-callbacks-applications-application_key. operations: - method: GET name: getapplicationcallbacks description: Get Application Callback Urls call: voice-applications.getapplicationcallbacks outputParameters: - type: object mapping: $. - method: POST name: updateapplicationcallbacks description: Update Application Callback Urls call: voice-applications.updateapplicationcallbacks with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/calling/v1/configuration/numbers name: calling-v1-configuration-numbers description: REST surface for calling-v1-configuration-numbers. operations: - method: GET name: getnumbers description: Get Numbers Assigned to Application call: voice-applications.getnumbers outputParameters: - type: object mapping: $. - path: /v1/calling/v1/configuration/numbers/{number} name: calling-v1-configuration-numbers-number description: REST surface for calling-v1-configuration-numbers-number. operations: - method: GET name: getnumberconfiguration description: Get Number Configuration call: voice-applications.getnumberconfiguration with: number: rest.number outputParameters: - type: object mapping: $. - method: POST name: updatenumberconfiguration description: Update Number Configuration call: voice-applications.updatenumberconfiguration with: number: rest.number body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: unassignnumber description: Unassign a Number call: voice-applications.unassignnumber with: number: rest.number outputParameters: - type: object mapping: $. - type: mcp namespace: voice-applications-mcp port: 9090 transport: http description: MCP adapter for Sinch Voice API — Applications. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-application-callback-urls description: Get Application Callback Urls hints: readOnly: true destructive: false idempotent: true call: voice-applications.getapplicationcallbacks outputParameters: - type: object mapping: $. - name: update-application-callback-urls description: Update Application Callback Urls hints: readOnly: false destructive: false idempotent: false call: voice-applications.updateapplicationcallbacks with: body: tools.body outputParameters: - type: object mapping: $. - name: get-numbers-assigned-application description: Get Numbers Assigned to Application hints: readOnly: true destructive: false idempotent: true call: voice-applications.getnumbers outputParameters: - type: object mapping: $. - name: get-number-configuration description: Get Number Configuration hints: readOnly: true destructive: false idempotent: true call: voice-applications.getnumberconfiguration with: number: tools.number outputParameters: - type: object mapping: $. - name: update-number-configuration description: Update Number Configuration hints: readOnly: false destructive: false idempotent: false call: voice-applications.updatenumberconfiguration with: number: tools.number body: tools.body outputParameters: - type: object mapping: $. - name: unassign-number description: Unassign a Number hints: readOnly: false destructive: true idempotent: true call: voice-applications.unassignnumber with: number: tools.number outputParameters: - type: object mapping: $.