---
title: "Update a video"
method: PATCH
path: "/v2/videos/{video_id}"
tags: ["Videos"]
---

# Update a video

`PATCH /v2/videos/{video_id}`

## Request

- Base URL: `https://api.synthesia.io`
- URL: `https://api.synthesia.io/v2/videos/{video_id}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/synthesia/apis/synthesia-api/docs/v2/videos/:video_id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Use the Update a video endpoint to make the video public and accessible via the share page or update its title and description.

## Path parameters

- `video_id` string, required

## Request body

- UpdateVideoMetadataRequest
  - `ctaSettings` CtaSettings
    - `label` string, required: Label for a call-to-action button.
    - `url` string, required: URL to navigate to, when the call-to-action button is clicked.
  - `description` string
  - `title` string
  - `visibility` 'private' | 'public'

## Response `200`

OK.

- VideoResponse
  - `callbackId` string: Use callback ID to link videos back to the initial request. For example, if you are making a personalized video for a customer, you could enter the customer's email as a callback ID. This way, you can tell who the video is for, once its generated..
  - `createdAt` integer: UNIX timestamp representing the time video was created.
  - `ctaSettings` CtaSettings
    - `label` string, required: Label for a call-to-action button.
    - `url` string, required: URL to navigate to, when the call-to-action button is clicked.
  - `description` string: Description of the video to be shown on the share page.
  - `test` boolean: Test videos are free and not counted towards your quota. If you create a video in the “test” mode, we will overlay a watermark over your video.
  - `download` string
  - `duration` string
  - `id` string, uuid
  - `lastUpdatedAt` integer
  - `status` 'complete' | 'deleted' | 'error' | 'in_progress' | 'rejected' | 'approved'
  - `thumbnail` VideoThumbnailTypesResponse
    - `image` string, nullable
    - `gif` string, nullable
  - `title` string: Title of the video to be shown on the share page.
  - `visibility` 'private' | 'public': Public videos will be visible to anyone with a share URL. Private videos can only be downloaded via a time-limited download link. See Retrieve a video for details. Visibility can be changed also once the video is created via Update a video.

## Other responses

- `400`: Bad Request.
- `403`: Forbidden - Wrong API key.
- `404`: Video not found.
- `default`: Unexpected Server error.

---

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