---
title: "Bulk Tag Media"
method: POST
path: "/taggings/bulk_create"
tags: ["Taggings"]
---

# Bulk Tag Media

`POST /taggings/bulk_create`

## Request

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

This method accepts a list of medias to tag. It processes requests asynchronously and will return a background_job_status object rather than the typical Media response object.

The tags will be added to the existing tags on each media file, not replaced.

## 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.

Expiring access tokens created with authorizations cannot be used; such
requests fail with a 403.

## Headers

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

## Request body

- object
  - `hashed_ids` string[], required: An array of the media hashed IDs to be tagged.
  - `tag_names` string[], required: An array of tag names to add to each media.

## Response `200`

Successful tagging of media.

- object
  - `message` string, required: A confirmation message that the background job has been queued.
  - `background_job_status` object, required: A background job keeps track of the progress of an asynchronous task, e.g bulk archiving media, translating media, etc.
    - `id` integer, required: The ID of the background job that's been queued for the request.
    - `hashed_id` string, required: The unguessable hashed ID of the background job. Prefer this over the numeric ID when polling for status.
    - `status` 'queued' | 'started' | 'finished' | 'failed', required: The status of the background job that's been queued for the request.

## Other responses

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

## Changes

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

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