---
title: "Purchase Captions"
method: POST
path: "/medias/{mediaHashedId}/captions/purchase"
tags: ["Captions"]
---

# Purchase Captions

`POST /medias/{mediaHashedId}/captions/purchase`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/medias/{mediaHashedId}/captions/purchase`
- Auth: HTTP bearer

This method is for purchasing English captions for a media. The request will charge the credit card on the account if successful. A saved credit card is required to use this endpoint.

## Requires api token with one of the following permissions
```
Read, update & delete anything
```

Tokens with the "Act with a team member's permissions" permission
(`all:delegate_to_contact_permissions` scope) can also be used. Requests
made with such a token are authorized using the permissions of the
contact assigned to the token.

An [expiring access token](https://docs.wistia.com/reference/post_expiring-token)
created with the `all:delegate_to_contact_permissions` scope and an
authorization granting the `create-transcripts` permission on this media can
also be used.

## Path parameters

- `mediaHashedId` string, required

## Headers

- `X-Wistia-API-Version` string, required

## Request body

- object
  - `automated` boolean: Order computer-generated captions or human-reviewed ones. What each costs depends on the account's plan and billing settings; computer-generated captions are included at no cost on some plans and billed per minute on others.
  - `rush` boolean: Enable rush order for one business day turnaround instead of the standard four, for human-reviewed captions only. Rush bills at the account's higher per-minute rate.
  - `automatically_enable` boolean: Automatically enable captions for the media once the order is ready or hold the captions for review before manually enabling.

## Response `200`

Successful operation. Captions purchased.

- object
  - `message` string, required: Success message indicating the captions have been purchased
  - `id` string, required: The unique hashed identifier of the time-coded transcript that was created

## Other responses

- `400`: English captions already exist for this media.
- `401`: Unauthorized, invalid or missing token
- `403`: Forbidden, token is valid but account does not have access to feature
- `404`: Media not found.
- `422`: Unprocessable entity. Account not eligible, captions already purchased, or other validation error.
- `500`: Internal server error

## Changes

- **2026-11-03** `b86cb2a7b420`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wistia/apis/data-api/changes/medias/:mediaHashedId/captions/purchase/post.md)

---

[API](https://skmtc.dev/wistia/apis/data-api.md) - [All operations](https://skmtc.dev/wistia/apis/data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wistia/apis/data-api/revisions/b86cb2a7b420?raw)
