naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Custom voice API — PersonalVoice description: 'Microsoft Azure Custom voice API — PersonalVoice. 5 operations. Lead operation: Microsoft Azure Get Personalvoices. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - PersonalVoice created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: custom-voice-personalvoice baseUri: '' description: Microsoft Azure Custom voice API — PersonalVoice business capability. Self-contained, no shared references. resources: - name: personalvoices path: /personalvoices operations: - name: microsoftazurepersonalvoiceslist method: GET description: Microsoft Azure Get Personalvoices outputRawFormat: json outputParameters: - name: result type: object value: $. - name: personalvoices-id path: /personalvoices/{id} operations: - name: microsoftazurepersonalvoicesget method: GET description: Microsoft Azure Get Personalvoices Id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersonalvoicesdelete method: DELETE description: Microsoft Azure Delete Personalvoices Id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersonalvoicescreate method: PUT description: Microsoft Azure Put Personalvoices Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personalvoice in: body type: string description: personal voice definition required: true - name: microsoftazurepersonalvoicespost method: POST description: Microsoft Azure Post Personalvoices Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: displayName in: formData type: string description: The display name of this model. - name: description in: formData type: string description: Optional description of this model. - name: projectId in: formData type: string description: The project ID. required: true - name: audioData in: formData type: file description: Audio files. - name: properties in: formData type: string description: properties. exposes: - type: rest namespace: custom-voice-personalvoice-rest port: 8080 description: REST adapter for Microsoft Azure Custom voice API — PersonalVoice. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/personalvoices name: personalvoices description: REST surface for personalvoices. operations: - method: GET name: microsoftazurepersonalvoiceslist description: Microsoft Azure Get Personalvoices call: custom-voice-personalvoice.microsoftazurepersonalvoiceslist outputParameters: - type: object mapping: $. - path: /v1/personalvoices/{id} name: personalvoices-id description: REST surface for personalvoices-id. operations: - method: GET name: microsoftazurepersonalvoicesget description: Microsoft Azure Get Personalvoices Id call: custom-voice-personalvoice.microsoftazurepersonalvoicesget outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazurepersonalvoicesdelete description: Microsoft Azure Delete Personalvoices Id call: custom-voice-personalvoice.microsoftazurepersonalvoicesdelete outputParameters: - type: object mapping: $. - method: PUT name: microsoftazurepersonalvoicescreate description: Microsoft Azure Put Personalvoices Id call: custom-voice-personalvoice.microsoftazurepersonalvoicescreate with: personalvoice: rest.personalvoice outputParameters: - type: object mapping: $. - method: POST name: microsoftazurepersonalvoicespost description: Microsoft Azure Post Personalvoices Id call: custom-voice-personalvoice.microsoftazurepersonalvoicespost with: displayName: rest.displayName description: rest.description projectId: rest.projectId audioData: rest.audioData properties: rest.properties outputParameters: - type: object mapping: $. - type: mcp namespace: custom-voice-personalvoice-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Custom voice API — PersonalVoice. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-personalvoices description: Microsoft Azure Get Personalvoices hints: readOnly: true destructive: false idempotent: true call: custom-voice-personalvoice.microsoftazurepersonalvoiceslist outputParameters: - type: object mapping: $. - name: microsoft-azure-get-personalvoices-id description: Microsoft Azure Get Personalvoices Id hints: readOnly: true destructive: false idempotent: true call: custom-voice-personalvoice.microsoftazurepersonalvoicesget outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-personalvoices-id description: Microsoft Azure Delete Personalvoices Id hints: readOnly: false destructive: true idempotent: true call: custom-voice-personalvoice.microsoftazurepersonalvoicesdelete outputParameters: - type: object mapping: $. - name: microsoft-azure-put-personalvoices-id description: Microsoft Azure Put Personalvoices Id hints: readOnly: false destructive: false idempotent: true call: custom-voice-personalvoice.microsoftazurepersonalvoicescreate with: personalvoice: tools.personalvoice outputParameters: - type: object mapping: $. - name: microsoft-azure-post-personalvoices-id description: Microsoft Azure Post Personalvoices Id hints: readOnly: false destructive: false idempotent: false call: custom-voice-personalvoice.microsoftazurepersonalvoicespost with: displayName: tools.displayName description: tools.description projectId: tools.projectId audioData: tools.audioData properties: tools.properties outputParameters: - type: object mapping: $.