naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Custom voice API — Consent description: 'Microsoft Azure Custom voice API — Consent. 5 operations. Lead operation: Microsoft Azure Get Consents. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Consent 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-consent baseUri: '' description: Microsoft Azure Custom voice API — Consent business capability. Self-contained, no shared references. resources: - name: consents path: /consents operations: - name: microsoftazureconsentslist method: GET description: Microsoft Azure Get Consents outputRawFormat: json outputParameters: - name: result type: object value: $. - name: consents-id path: /consents/{id} operations: - name: microsoftazureconsentsget method: GET description: Microsoft Azure Get Consents Id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazureconsentsdelete method: DELETE description: Microsoft Azure Delete Consents Id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazureconsentscreate method: PUT description: Microsoft Azure Put Consents Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: consent in: body type: string description: consent definition required: true - name: microsoftazureconsentspost method: POST description: Microsoft Azure Post Consents Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: formData type: string description: The project ID. required: true - name: displayName in: formData type: string description: The display name of this consent. - name: description in: formData type: string description: Optional description of this consent. - name: voiceTalentName in: formData type: string description: The name of voice talent. required: true - name: companyName in: formData type: string description: The name of company. required: true - name: audiodata in: formData type: file description: An audio file containing the audio data. required: true - name: locale in: formData type: string description: The locale of this consent. Locale code follows BCP-47. You can find the text to speech locale list here https://learn.microsoft.com/azure/ai-services/speech-se required: true - name: properties in: formData type: string description: properties. exposes: - type: rest namespace: custom-voice-consent-rest port: 8080 description: REST adapter for Microsoft Azure Custom voice API — Consent. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/consents name: consents description: REST surface for consents. operations: - method: GET name: microsoftazureconsentslist description: Microsoft Azure Get Consents call: custom-voice-consent.microsoftazureconsentslist outputParameters: - type: object mapping: $. - path: /v1/consents/{id} name: consents-id description: REST surface for consents-id. operations: - method: GET name: microsoftazureconsentsget description: Microsoft Azure Get Consents Id call: custom-voice-consent.microsoftazureconsentsget outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazureconsentsdelete description: Microsoft Azure Delete Consents Id call: custom-voice-consent.microsoftazureconsentsdelete outputParameters: - type: object mapping: $. - method: PUT name: microsoftazureconsentscreate description: Microsoft Azure Put Consents Id call: custom-voice-consent.microsoftazureconsentscreate with: consent: rest.consent outputParameters: - type: object mapping: $. - method: POST name: microsoftazureconsentspost description: Microsoft Azure Post Consents Id call: custom-voice-consent.microsoftazureconsentspost with: projectId: rest.projectId displayName: rest.displayName description: rest.description voiceTalentName: rest.voiceTalentName companyName: rest.companyName audiodata: rest.audiodata locale: rest.locale properties: rest.properties outputParameters: - type: object mapping: $. - type: mcp namespace: custom-voice-consent-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Custom voice API — Consent. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-consents description: Microsoft Azure Get Consents hints: readOnly: true destructive: false idempotent: true call: custom-voice-consent.microsoftazureconsentslist outputParameters: - type: object mapping: $. - name: microsoft-azure-get-consents-id description: Microsoft Azure Get Consents Id hints: readOnly: true destructive: false idempotent: true call: custom-voice-consent.microsoftazureconsentsget outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-consents-id description: Microsoft Azure Delete Consents Id hints: readOnly: false destructive: true idempotent: true call: custom-voice-consent.microsoftazureconsentsdelete outputParameters: - type: object mapping: $. - name: microsoft-azure-put-consents-id description: Microsoft Azure Put Consents Id hints: readOnly: false destructive: false idempotent: true call: custom-voice-consent.microsoftazureconsentscreate with: consent: tools.consent outputParameters: - type: object mapping: $. - name: microsoft-azure-post-consents-id description: Microsoft Azure Post Consents Id hints: readOnly: false destructive: false idempotent: false call: custom-voice-consent.microsoftazureconsentspost with: projectId: tools.projectId displayName: tools.displayName description: tools.description voiceTalentName: tools.voiceTalentName companyName: tools.companyName audiodata: tools.audiodata locale: tools.locale properties: tools.properties outputParameters: - type: object mapping: $.