# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Text Independent API version: 1.0.0 extends: openapi/microsoft-azure-text-independent-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 10 - target: $.paths['/text-independent/profiles'].get update: x-apievangelist-phrasing: intent: List text-independent speaker profiles effect: read questions: - Which text-independent speaker profiles have I created? - Can I page through speaker profiles a set number at a time? instructions: - text: List my text-independent speaker profiles. - text: Show speaker profiles {maxpagesize} per page. slots: maxpagesize: query.maxpagesize method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles'].post update: x-apievangelist-phrasing: intent: Create a text-independent speaker profile effect: write questions: - How do I create a new speaker profile for voice recognition? - Does a text-independent speaker profile need a locale? instructions: - text: Create a text-independent speaker profile in locale {locale}. slots: locale: requestBody.locale - text: Set up a new voice profile for {locale} speakers. slots: locale: requestBody.locale method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles/{profileId}'].get update: x-apievangelist-phrasing: intent: Get a speaker profile effect: read questions: - What is the enrollment status of one speaker profile? - How many enrollment audios does a given profile have so far? instructions: - text: Get speaker profile {profileId}. slots: profileId: path.profileId - text: Show the enrollment status of profile {profileId}. slots: profileId: path.profileId method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles/{profileId}'].delete update: x-apievangelist-phrasing: intent: Delete a speaker profile effect: destructive questions: - How do I delete someone's voice profile entirely? - Can I remove a text-independent speaker profile? instructions: - text: Delete speaker profile {profileId}. slots: profileId: path.profileId - text: Remove voice profile {profileId} permanently. slots: profileId: path.profileId method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles/{profileId}:reset'].post update: x-apievangelist-phrasing: intent: Reset a speaker profile (colon :reset endpoint) effect: destructive questions: - How do I wipe a profile's enrollments using the colon :reset action form? - Which reset call uses the colon-style :reset route on a speaker profile? instructions: - text: Reset profile {profileId} using the colon-style :reset action. slots: profileId: path.profileId - text: Call :reset on speaker profile {profileId} to clear its enrollments. slots: profileId: path.profileId method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles/{profileId}/enrollments'].post update: x-apievangelist-phrasing: intent: Enroll audio into a speaker profile effect: write questions: - How do I add a voice sample to train a speaker profile? - Can I skip the minimum audio length check when enrolling? - Does the first enrollment have to be an activation phrase? instructions: - text: Add an enrollment recording to profile {profileId}. slots: profileId: path.profileId - text: Enroll audio into profile {profileId} with ignoreMinLength set to {ignoreMinLength}. slots: profileId: path.profileId ignoreMinLength: query.ignoreMinLength method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles:identifySingleSpeaker'].post update: x-apievangelist-phrasing: intent: Identify who is speaking among candidate profiles effect: read questions: - Can I tell which of several enrolled people is talking in a recording? - How long must the audio be to identify a speaker? instructions: - text: Identify the speaker in this audio among profiles {profileIds}. slots: profileIds: query.profileIds - text: 'Work out which of {profileIds} is speaking, ignoring the minimum length check: {ignoreMinLength}.' slots: profileIds: query.profileIds ignoreMinLength: query.ignoreMinLength method: generated generated: '2026-09-26' - target: $.paths['/text-independent/phrases/{locale}'].get update: x-apievangelist-phrasing: intent: List activation phrases for a locale effect: read questions: - What activation phrases are supported for my language? - Which passphrase should a user say for their first enrollment? instructions: - text: List activation phrases for locale {locale}. slots: locale: path.locale - text: Show the supported passphrases in {locale}. slots: locale: path.locale method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles/{profileId}/reset'].post update: x-apievangelist-phrasing: intent: Reset a speaker profile (/reset sub-path endpoint) effect: destructive questions: - How do I put a speaker profile back to Enrolling via the /reset sub-path? - Which reset call uses the /reset slash sub-path on a profile? instructions: - text: Reset profile {profileId} through the /reset sub-path. slots: profileId: path.profileId - text: Set enrollments on profile {profileId} back to zero using the slash-style reset route. slots: profileId: path.profileId method: generated generated: '2026-09-26' - target: $.paths['/text-independent/profiles/{profileId}/verify'].post update: x-apievangelist-phrasing: intent: Verify a speaker against their profile effect: read questions: - Can I confirm a recording really is the person who owns a voice profile? - What audio length limits apply to speaker verification? instructions: - text: Verify this audio against speaker profile {profileId}. slots: profileId: path.profileId - text: Check if the voice matches profile {profileId} with ignoreMinLength {ignoreMinLength}. slots: profileId: path.profileId ignoreMinLength: query.ignoreMinLength method: generated generated: '2026-09-26'