naftiko: 1.0.0-alpha2 info: label: ElevenLabs Voices API — Voice Library description: 'ElevenLabs Voices API — Voice Library. 2 operations. Lead operation: List shared voices. Self-contained Naftiko capability covering one Elevenlabs business surface.' tags: - Elevenlabs - Voice Library created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ELEVENLABS_API_KEY: ELEVENLABS_API_KEY capability: consumes: - type: http namespace: voices-voice-library baseUri: https://api.elevenlabs.io description: ElevenLabs Voices API — Voice Library business capability. Self-contained, no shared references. resources: - name: v1-voice-library path: /v1/voice-library operations: - name: listsharedvoices method: GET description: List shared voices outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page_size in: query type: integer description: Number of voices to return per page. - name: gender in: query type: string description: Filter voices by gender. - name: language in: query type: string description: Filter voices by language. - name: search in: query type: string description: Search term to filter voices by name or description. - name: v1-voice-library-public_user_id-voice_id-add path: /v1/voice-library/{public_user_id}/{voice_id}/add operations: - name: addsharedvoice method: POST description: Add shared voice outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: public_user_id in: path type: string description: The public user ID of the voice owner. required: true - 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-voice-library-rest port: 8080 description: REST adapter for ElevenLabs Voices API — Voice Library. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/voice-library name: v1-voice-library description: REST surface for v1-voice-library. operations: - method: GET name: listsharedvoices description: List shared voices call: voices-voice-library.listsharedvoices with: page_size: rest.page_size gender: rest.gender language: rest.language search: rest.search outputParameters: - type: object mapping: $. - path: /v1/v1/voice-library/{public-user-id}/{voice-id}/add name: v1-voice-library-public-user-id-voice-id-add description: REST surface for v1-voice-library-public_user_id-voice_id-add. operations: - method: POST name: addsharedvoice description: Add shared voice call: voices-voice-library.addsharedvoice with: public_user_id: rest.public_user_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: voices-voice-library-mcp port: 9090 transport: http description: MCP adapter for ElevenLabs Voices API — Voice Library. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-shared-voices description: List shared voices hints: readOnly: true destructive: false idempotent: true call: voices-voice-library.listsharedvoices with: page_size: tools.page_size gender: tools.gender language: tools.language search: tools.search outputParameters: - type: object mapping: $. - name: add-shared-voice description: Add shared voice hints: readOnly: false destructive: false idempotent: false call: voices-voice-library.addsharedvoice with: public_user_id: tools.public_user_id body: tools.body outputParameters: - type: object mapping: $.