---
title: "Create Review Bundle"
method: POST
path: "/review_bundles"
tags: ["Review Bundles"]
---

# Create Review Bundle

`POST /review_bundles`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/review_bundles`
- Auth: HTTP bearer

Creates a review bundle from a set of existing media, producing a single link
that can be shared for review. The media to include are specified by their hashed
IDs and must already belong to the account. The media can come from any folder.
Review Bundles are limited to 25 media.


## 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
authorizations granting the `share` permission on every listed media can
also be used. The new review bundle is not covered by the token that
created it, so follow-up requests need a token whose authorizations name
the returned hashed id.

## Headers

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

## Request body

- object
  - `media_hashed_ids` string[], required: The hashed ids of the media to include in the bundle. Limited to 25 media.
  - `name` string, required: The bundle display name.
  - `allow_downloads` boolean: Whether the videos in the bundle can be downloaded.

## Response `201`

Review Bundle created successfully.

- object
  - `hashed_id` string: A unique alphanumeric identifier for this review bundle.
  - `name` string: The bundle display name.
  - `url` string: The URL of the bundle.
  - `allow_downloads` boolean: Whether the videos in the bundle can be downloaded.
  - `cursor` string, nullable: A cursor for stable pagination based on current `sort_by` order. You can pass this to `cursor[before]` or `cursor[after]` as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with `cursor[enabled]`, or `cursor[before]` or `cursor[after]`.

## Other responses

- `401`: Unauthorized, invalid or missing token
- `403`: Forbidden, token is valid but account does not have access to feature
- `422`: Unprocessable entity, the request parameters were invalid.
- `500`: Internal server error

## Changes

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

[Operation history](https://skmtc.dev/wistia/apis/data-api/changes/review_bundles/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)
