Add a channel
Register a YouTube channel on the allowlist so our catalog stops generating Content-ID claims against it.
POST/api/v4/allowlist/channels/
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <PARTNER_API_KEY>. |
Content-Type | Yes | application/json. |
X-User-ID | No | Register the channel for one of your end users rather than your own account. See Acting for your end users. |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | Always youtube. |
value | string | Yes | The YouTube channel id — the 24-character string beginning with UC. Not a handle, not a URL. |
Example request
curl https://api.slipstreammusic.com/api/v4/allowlist/channels/ \
-X POST \
-H "Authorization: Bearer $PARTNER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "youtube",
"value": "UC_x5XG1OV2P6uZZ5FSM9Ttw"
}'Response — 201 Created
{
"id": "9b5c3d2e-0a8e-4b7c-8c4d-2f9e5f6b8d7c",
"channel_id": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"name": "Google for Developers",
"provider": "youtube",
"image_url": "https://yt3.ggpht.com/..."
}The body is the channel object itself. name and image_url come from YouTube — you do not send them.
Store the id: it is what removes the channel later. If you lose it, List channels and match on channel_id — a repeat POST will not give it back to you.
Errors
| HTTP | When |
|---|---|
| 400 | provider is anything other than youtube; value does not resolve to a YouTube channel; the channel is already registered; or the account’s channel allowance is used up |
| 401 | No credential, or the credential is not recognised |
| 403 | Channel management is not enabled on your account, or X-User-ID was sent from an account without end-user support |
| 406 | These endpoints only produce JSON. Send Accept: application/json or */* |
| 429 | Rate limit or usage allowance exceeded |
An already-registered channel is refused with one of two messages, and they mean different things — see One channel, one allowlist.