naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Speaker Identification API — Text-Independent description: 'Microsoft Azure Speaker Identification API — Text-Independent. 8 operations. Lead operation: Microsoft Azure Activation Phrases. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Text-Independent 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: speaker-identification-text-independent baseUri: '' description: Microsoft Azure Speaker Identification API — Text-Independent business capability. Self-contained, no shared references. resources: - name: text-independent-phrases-locale path: /text-independent/phrases/{locale} operations: - name: microsoftazuretextindependentlistactivationphrases method: GET description: Microsoft Azure Activation Phrases outputRawFormat: json outputParameters: - name: result type: object value: $. - name: text-independent-profiles path: /text-independent/profiles operations: - name: microsoftazuretextindependentcreateprofile method: POST description: Microsoft Azure Create Profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileInfo in: body type: string description: Provide following detail info when creating a new profile. - name: microsoftazuretextindependentlistprofiles method: GET description: Microsoft Azure List Profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: maxpagesize in: query type: integer description: The number of profiles to return. Default is 100 and the maximum is 500 - name: text-independent-profiles-profileId path: /text-independent/profiles/{profileId} operations: - name: microsoftazuretextindependentgetprofile method: GET description: Microsoft Azure Retrieve Single Profile outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazuretextindependentdeleteprofile method: DELETE description: Microsoft Azure Delete Profile outputRawFormat: json outputParameters: - name: result type: object value: $. - name: text-independent-profiles-profileId-enrollments path: /text-independent/profiles/{profileId}/enrollments operations: - name: microsoftazuretextindependentcreateenrollment method: POST description: Microsoft Azure Enroll Profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ignoreMinLength in: query type: boolean description: If true, a voice print will be created immediately for this profile regardless of how much speech is supplied or stored. Default is false. - name: audioData in: body type: object description: Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB. required: true - name: text-independent-profiles-profileId}:reset path: /text-independent/profiles/{profileId}:reset operations: - name: microsoftazuretextindependentresetprofile method: POST description: Microsoft Azure Reset Profile outputRawFormat: json outputParameters: - name: result type: object value: $. - name: text-independent-profiles:identifySingleSpeaker path: /text-independent/profiles:identifySingleSpeaker operations: - name: microsoftazuretextindependentidentifysinglespeaker method: POST description: Microsoft Azure Identify Single Speaker Profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileIds in: query type: array description: Comma-delimited profile IDs. Maximum supported number is 50 IDs. required: true - name: ignoreMinLength in: query type: boolean description: If true, the minimum amount of speech needed for identification is skipped. Default is false. - name: audioData in: body type: object description: Binary audio file. Supported formats are audio/wav; codecs=audio/pcm. Supports audio up to 5MB. required: true exposes: - type: rest namespace: speaker-identification-text-independent-rest port: 8080 description: REST adapter for Microsoft Azure Speaker Identification API — Text-Independent. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/text-independent/phrases/{locale} name: text-independent-phrases-locale description: REST surface for text-independent-phrases-locale. operations: - method: GET name: microsoftazuretextindependentlistactivationphrases description: Microsoft Azure Activation Phrases call: speaker-identification-text-independent.microsoftazuretextindependentlistactivationphrases outputParameters: - type: object mapping: $. - path: /v1/text-independent/profiles name: text-independent-profiles description: REST surface for text-independent-profiles. operations: - method: POST name: microsoftazuretextindependentcreateprofile description: Microsoft Azure Create Profile call: speaker-identification-text-independent.microsoftazuretextindependentcreateprofile with: profileInfo: rest.profileInfo outputParameters: - type: object mapping: $. - method: GET name: microsoftazuretextindependentlistprofiles description: Microsoft Azure List Profile call: speaker-identification-text-independent.microsoftazuretextindependentlistprofiles with: maxpagesize: rest.maxpagesize outputParameters: - type: object mapping: $. - path: /v1/text-independent/profiles/{profileid} name: text-independent-profiles-profileid description: REST surface for text-independent-profiles-profileId. operations: - method: GET name: microsoftazuretextindependentgetprofile description: Microsoft Azure Retrieve Single Profile call: speaker-identification-text-independent.microsoftazuretextindependentgetprofile outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuretextindependentdeleteprofile description: Microsoft Azure Delete Profile call: speaker-identification-text-independent.microsoftazuretextindependentdeleteprofile outputParameters: - type: object mapping: $. - path: /v1/text-independent/profiles/{profileid}/enrollments name: text-independent-profiles-profileid-enrollments description: REST surface for text-independent-profiles-profileId-enrollments. operations: - method: POST name: microsoftazuretextindependentcreateenrollment description: Microsoft Azure Enroll Profile call: speaker-identification-text-independent.microsoftazuretextindependentcreateenrollment with: ignoreMinLength: rest.ignoreMinLength audioData: rest.audioData outputParameters: - type: object mapping: $. - path: /v1/text-independent/profiles/profileid-reset name: text-independent-profiles-profileid-reset description: REST surface for text-independent-profiles-profileId}:reset. operations: - method: POST name: microsoftazuretextindependentresetprofile description: Microsoft Azure Reset Profile call: speaker-identification-text-independent.microsoftazuretextindependentresetprofile outputParameters: - type: object mapping: $. - path: /v1/text-independent/profiles-identifysinglespeaker name: text-independent-profiles-identifysinglespeaker description: REST surface for text-independent-profiles:identifySingleSpeaker. operations: - method: POST name: microsoftazuretextindependentidentifysinglespeaker description: Microsoft Azure Identify Single Speaker Profile call: speaker-identification-text-independent.microsoftazuretextindependentidentifysinglespeaker with: profileIds: rest.profileIds ignoreMinLength: rest.ignoreMinLength audioData: rest.audioData outputParameters: - type: object mapping: $. - type: mcp namespace: speaker-identification-text-independent-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Speaker Identification API — Text-Independent. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-activation-phrases description: Microsoft Azure Activation Phrases hints: readOnly: true destructive: false idempotent: true call: speaker-identification-text-independent.microsoftazuretextindependentlistactivationphrases outputParameters: - type: object mapping: $. - name: microsoft-azure-create-profile description: Microsoft Azure Create Profile hints: readOnly: false destructive: false idempotent: false call: speaker-identification-text-independent.microsoftazuretextindependentcreateprofile with: profileInfo: tools.profileInfo outputParameters: - type: object mapping: $. - name: microsoft-azure-list-profile description: Microsoft Azure List Profile hints: readOnly: true destructive: false idempotent: true call: speaker-identification-text-independent.microsoftazuretextindependentlistprofiles with: maxpagesize: tools.maxpagesize outputParameters: - type: object mapping: $. - name: microsoft-azure-retrieve-single-profile description: Microsoft Azure Retrieve Single Profile hints: readOnly: true destructive: false idempotent: true call: speaker-identification-text-independent.microsoftazuretextindependentgetprofile outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-profile description: Microsoft Azure Delete Profile hints: readOnly: false destructive: true idempotent: true call: speaker-identification-text-independent.microsoftazuretextindependentdeleteprofile outputParameters: - type: object mapping: $. - name: microsoft-azure-enroll-profile description: Microsoft Azure Enroll Profile hints: readOnly: false destructive: false idempotent: false call: speaker-identification-text-independent.microsoftazuretextindependentcreateenrollment with: ignoreMinLength: tools.ignoreMinLength audioData: tools.audioData outputParameters: - type: object mapping: $. - name: microsoft-azure-reset-profile description: Microsoft Azure Reset Profile hints: readOnly: false destructive: false idempotent: false call: speaker-identification-text-independent.microsoftazuretextindependentresetprofile outputParameters: - type: object mapping: $. - name: microsoft-azure-identify-single-speaker description: Microsoft Azure Identify Single Speaker Profile hints: readOnly: false destructive: false idempotent: false call: speaker-identification-text-independent.microsoftazuretextindependentidentifysinglespeaker with: profileIds: tools.profileIds ignoreMinLength: tools.ignoreMinLength audioData: tools.audioData outputParameters: - type: object mapping: $.