naftiko: 1.0.0-alpha2 info: label: ElevenLabs Voices API — Voices description: 'ElevenLabs Voices API — Voices. 5 operations. Lead operation: List voices. Self-contained Naftiko capability covering one Elevenlabs business surface.' tags: - Elevenlabs - Voices created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ELEVENLABS_API_KEY: ELEVENLABS_API_KEY capability: consumes: - type: http namespace: voices-voices baseUri: https://api.elevenlabs.io description: ElevenLabs Voices API — Voices business capability. Self-contained, no shared references. resources: - name: v1-voices path: /v1/voices operations: - name: listvoices method: GET description: List voices outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: show_legacy in: query type: boolean description: Whether to include legacy voices in the response. - name: v1-voices-add path: /v1/voices/add operations: - name: addvoice method: POST description: Add voice outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-voices-voice_id path: /v1/voices/{voice_id} operations: - name: getvoice method: GET description: Get voice outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: with_settings in: query type: boolean description: Whether to include the voice settings in the response. - name: deletevoice method: DELETE description: Delete voice outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-voices-voice_id-edit path: /v1/voices/{voice_id}/edit operations: - name: editvoice method: POST description: Edit voice outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: xi-api-key value: '{{env.ELEVENLABS_API_KEY}}' placement: header exposes: - type: rest namespace: voices-voices-rest port: 8080 description: REST adapter for ElevenLabs Voices API — Voices. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/voices name: v1-voices description: REST surface for v1-voices. operations: - method: GET name: listvoices description: List voices call: voices-voices.listvoices with: show_legacy: rest.show_legacy outputParameters: - type: object mapping: $. - path: /v1/v1/voices/add name: v1-voices-add description: REST surface for v1-voices-add. operations: - method: POST name: addvoice description: Add voice call: voices-voices.addvoice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/voices/{voice-id} name: v1-voices-voice-id description: REST surface for v1-voices-voice_id. operations: - method: GET name: getvoice description: Get voice call: voices-voices.getvoice with: with_settings: rest.with_settings outputParameters: - type: object mapping: $. - method: DELETE name: deletevoice description: Delete voice call: voices-voices.deletevoice outputParameters: - type: object mapping: $. - path: /v1/v1/voices/{voice-id}/edit name: v1-voices-voice-id-edit description: REST surface for v1-voices-voice_id-edit. operations: - method: POST name: editvoice description: Edit voice call: voices-voices.editvoice with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: voices-voices-mcp port: 9090 transport: http description: MCP adapter for ElevenLabs Voices API — Voices. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-voices description: List voices hints: readOnly: true destructive: false idempotent: true call: voices-voices.listvoices with: show_legacy: tools.show_legacy outputParameters: - type: object mapping: $. - name: add-voice description: Add voice hints: readOnly: false destructive: false idempotent: false call: voices-voices.addvoice with: body: tools.body outputParameters: - type: object mapping: $. - name: get-voice description: Get voice hints: readOnly: true destructive: false idempotent: true call: voices-voices.getvoice with: with_settings: tools.with_settings outputParameters: - type: object mapping: $. - name: delete-voice description: Delete voice hints: readOnly: false destructive: true idempotent: true call: voices-voices.deletevoice outputParameters: - type: object mapping: $. - name: edit-voice description: Edit voice hints: readOnly: false destructive: false idempotent: false call: voices-voices.editvoice with: body: tools.body outputParameters: - type: object mapping: $.