# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Wistia Captions API version: 1.0.0 extends: openapi/wistia-captions-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 15 - target: $.paths['/medias/{mediaHashedId}/captions'].get update: x-apievangelist-phrasing: intent: List a video's captions effect: read questions: - Which caption languages does this video already have? - Can I see all the captions attached to one of my videos? instructions: - text: List the captions on media {media}. slots: media: path.mediaHashedId - text: Show every caption language available for video {media}. slots: media: path.mediaHashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{mediaHashedId}/captions'].post update: x-apievangelist-phrasing: intent: Add captions to a video effect: write questions: - How do I upload my own caption file to a video? - Can I attach subtitles I already have to a video? instructions: - text: Upload captions to media {media}. slots: media: path.mediaHashedId - text: Add a new caption track to video {media}. slots: media: path.mediaHashedId method: generated generated: '2026-10-01' - target: $.paths['/captions'].get update: x-apievangelist-phrasing: intent: List captions across my account effect: read questions: - Which captions exist across all the videos in my account? - Can I filter the account-wide caption list down to one media? instructions: - text: List every caption file in my account. - text: List account captions filtered to media {media_id}. slots: media_id: query.media_id method: generated generated: '2026-10-01' - target: $.paths['/medias/{mediaHashedId}/captions/purchase'].post update: x-apievangelist-phrasing: intent: Order professional captions effect: write questions: - Can I pay Wistia to caption a video for me? - How do I order captions for a video that has none? instructions: - text: Purchase captions for media {media}. slots: media: path.mediaHashedId - text: Order a paid caption transcription for video {media}. slots: media: path.mediaHashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{mediaHashedId}/captions/{languageCode}'].get update: x-apievangelist-phrasing: intent: Show captions in one language effect: read questions: - How do I get the Spanish captions text for a specific video? - Can I download one language's captions for a video? instructions: - text: Show the {language} captions for media {media}. slots: media: path.mediaHashedId language: path.languageCode - text: Get caption track {language} on video {media}. slots: media: path.mediaHashedId language: path.languageCode method: generated generated: '2026-10-01' - target: $.paths['/medias/{mediaHashedId}/captions/{languageCode}'].put update: x-apievangelist-phrasing: intent: Replace captions in one language effect: write questions: - How do I fix a typo in a video's existing captions? - Can I replace the caption file for one language on a video? instructions: - text: Update the {language} captions on media {media}. slots: media: path.mediaHashedId language: path.languageCode - text: Replace the existing {language} caption track for video {media}. slots: media: path.mediaHashedId language: path.languageCode method: generated generated: '2026-10-01' - target: $.paths['/medias/{mediaHashedId}/captions/{languageCode}'].delete update: x-apievangelist-phrasing: intent: Delete captions in one language effect: destructive questions: - How do I remove a caption language from a video? - Can I delete just one language's captions and keep the others? instructions: - text: Delete the {language} captions from media {media}. slots: media: path.mediaHashedId language: path.languageCode - text: Remove caption track {language} from video {media}. slots: media: path.mediaHashedId language: path.languageCode method: generated generated: '2026-10-01' - target: $.paths['/medias/{mediaHashedId}/captions/{languageCode}/edits'].post update: x-apievangelist-phrasing: intent: Correct words in a caption transcript effect: write questions: - Can I fix a few misspelled words in a transcript without re-uploading the caption file? - Do word timings stay intact when I find-and-replace words in captions? instructions: - text: Apply edits {edits} to the {language} captions on media {media} at version {version}. slots: edits: requestBody.edits language: path.languageCode media: path.mediaHashedId version: requestBody.expected_version - text: Find and replace words in the {language} transcript of video {media}. slots: language: path.languageCode media: path.mediaHashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{mediaHashedId}/captions/order'].post update: x-apievangelist-phrasing: intent: Order English captions for a video effect: write questions: - Can I order computer-generated English captions for a video? - Is it possible to order human-made captions with rush turnaround? instructions: - text: Order automated English captions for video {media} through the order endpoint. slots: media: path.mediaHashedId - text: Order human-generated captions for media {media} with rush delivery. slots: media: path.mediaHashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{hashedId}/captions'].get update: x-apievangelist-phrasing: intent: List a video's captions via the legacy route effect: read questions: - Does the older hashed-ID captions route still list a video's caption tracks? - Which legacy endpoint lists captions for one video by hashed ID? instructions: - text: List caption tracks on video {media} via the legacy hashedId route. slots: media: path.hashedId - text: Read the caption list for hashed ID {media} from the older endpoint. slots: media: path.hashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{hashedId}/captions'].post update: x-apievangelist-phrasing: intent: Upload captions via the legacy route effect: write questions: - Can I still upload a caption file through the legacy hashed-ID route? - Which older endpoint adds a caption track by hashed ID? instructions: - text: Upload a caption file to video {media} via the legacy hashedId route. slots: media: path.hashedId - text: Attach captions to hashed ID {media} with the older create endpoint. slots: media: path.hashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{hashedId}/captions/{languageCode}'].get update: x-apievangelist-phrasing: intent: Show one caption language via the legacy route effect: read questions: - Does the legacy route still return one language's captions for a video? - Which older endpoint reads a single caption language by hashed ID? instructions: - text: Read the {language} caption track on video {media} via the legacy hashedId route. slots: language: path.languageCode media: path.hashedId - text: Fetch {language} captions for hashed ID {media} from the older show endpoint. slots: language: path.languageCode media: path.hashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{hashedId}/captions/{languageCode}'].put update: x-apievangelist-phrasing: intent: Replace one caption language via the legacy route effect: write questions: - Can I replace one language's captions through the legacy hashed-ID route? - Which older endpoint overwrites a caption language by hashed ID? instructions: - text: Overwrite the {language} captions on video {media} via the legacy hashedId route. slots: language: path.languageCode media: path.hashedId - text: Replace {language} captions for hashed ID {media} with the older update endpoint. slots: language: path.languageCode media: path.hashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{hashedId}/captions/{languageCode}'].delete update: x-apievangelist-phrasing: intent: Delete one caption language via the legacy route effect: destructive questions: - Can the legacy hashed-ID route still delete one caption language? - Which older endpoint removes a single caption language by hashed ID? instructions: - text: Remove the {language} captions from video {media} via the legacy hashedId route. slots: language: path.languageCode media: path.hashedId - text: Delete {language} captions for hashed ID {media} with the older delete endpoint. slots: language: path.languageCode media: path.hashedId method: generated generated: '2026-10-01' - target: $.paths['/medias/{hashedId}/captions/purchase'].post update: x-apievangelist-phrasing: intent: Buy captions via the legacy route effect: write questions: - Can I still buy captions through the legacy hashed-ID purchase route? - Which older endpoint purchases captions for a video by hashed ID? instructions: - text: Buy captions for video {media} via the legacy hashedId purchase route. slots: media: path.hashedId - text: Purchase captions for hashed ID {media} with the older purchase endpoint. slots: media: path.hashedId method: generated generated: '2026-10-01'