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

HeaderRequiredDescription
AuthorizationYesBearer <PARTNER_API_KEY>.
Content-TypeYesapplication/json.
X-User-IDNoRegister the channel for one of your end users rather than your own account. See Acting for your end users.

Request body

FieldTypeRequiredDescription
providerstringYesAlways youtube.
valuestringYesThe 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

HTTPWhen
400provider 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
401No credential, or the credential is not recognised
403Channel management is not enabled on your account, or X-User-ID was sent from an account without end-user support
406These endpoints only produce JSON. Send Accept: application/json or */*
429Rate 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.