---
title: "Update Captions"
method: PUT
path: "/medias/{mediaHashedId}/captions/{languageCode}"
tags: ["Captions"]
---

# Update Captions

`PUT /medias/{mediaHashedId}/captions/{languageCode}`

## Request

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

This method is for replacing the captions on a video or audio media for the specified language.

## 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 `edit-transcripts` permission on this media can
also be used.

## Path parameters

- `mediaHashedId` string, required
- `languageCode` string, required

## Headers

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

## Request body

- object
  - `caption_file` string, required: Either an attached SRT file or a string parameter with the contents of an SRT file.

## Response `200`

Successful operation. Captions replaced.

## Other responses

- `401`: Unauthorized, invalid or missing token
- `404`: Captions or media not found.
- `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/:languageCode/put.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)
