---
title: "Add YouTube channels to the whitelist"
method: POST
path: "/api/v1/content_id/channels"
tags: ["Content ID"]
---

# Add YouTube channels to the whitelist

`POST /api/v1/content_id/channels`

Adds up to 50 channels per request — to add more, make multiple requests.
Accepts canonical channel IDs (`UC…`) or handles (`@name`); channels are
validated against YouTube when the request is processed, and non-existent
channels are rejected with a 422 listing the offending entries.
The whitelist license is created automatically on your first add.

## Headers

- `Authorization` string, required

## Request body

- object
  - `channel_ids` string[], required

## Response `200`

Updated whitelist license state

- ContentIdWhitelistResource
  - `data` object
    - `id` string — Whitelist license code (same value as meta.license.code on the channel list endpoint).
    - `type` string
    - `attributes` object
      - `status` 'active' | 'inactive' | 'expired' | 'quota_reached' — License status. quota_reached means the single-use code has been consumed.
      - `expiration_date` string, date, nullable — Inclusive: the last day whose uploads are covered. null means the license does not expire.
      - `channels_count` integer

## Other responses

- `403` — Missing or invalid API token
- `422` — Invalid channel input (not a UC… id or @handle), more than 50 IDs, or channels rejected by the licensing service as non-existent on YouTube (offending entries listed in the error title)
- `503` — Licensing service temporarily unavailable — retry the request

---

[API](https://skmtc.net/melod/apis/melodie-api.md) · [All operations](https://skmtc.net/melod/apis/melodie-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/melod/melodie-api/revisions/06cd6e66c531/schema)
