GET/api/v1/channels
List the org's playout channels
The org's playout channels as the DAM stores them — mode, the service each airs, whether it records and where — by name. Never a stream key, an ingest key or a destination, for any credential. Not the live on-air state: reading never calls the playout engine; that status is served once the orchestration tier owns the channel's convergence loop. Poll with updated_after (exclusive, millisecond). For an OAuth token, its person needs membership of the org (no platform-admin bypass); a key reads the whole org. 404 when the org does not have playout, and for an OAuth token whose person is not a member of the org.
Scopes: channels:read
Parameters
updated_afterquery · string (date-time)Only channels changed strictly after this instant (ISO 8601 with offset), compared to the millisecond.
limitquery · integerPage size, default 50. Values above 100 are treated as 100.
cursorquery · stringnext_cursor from the previous page, with the other parameters unchanged.
Response 200ChannelList
dataarray of ChannelrequiredBy name, then id.
idstring (uuid)requirednamestringrequiredmode"strict" | "relay"requiredstrict— a scheduled playlist the playout engine plays out;relay— a live feed restreamed to platforms.serviceobject or nullrequiredThe broadcast service (EPG channel, GET /api/v1/services/{id}) the channel airs; null when none is linked.
idstring (uuid)requirednamestringrequired
recordingobject or nullrequiredWhether the channel records, and where the recordings go; null when it does not record.
kind"live_input"requiredWhat is recorded:
live_input— a relay channel's incoming live feed, kept as a lossless master and registered as an asset.projectobject or nullrequiredThe project recordings are filed into; null when none is set or it is no longer a live project of the org (they file into the org's Unfiled project).
idstring (uuid)requirednamestring or nullrequiredNull — for an OAuth token — when its person may not read the project.
created_atstring (date-time)requiredupdated_atstring (date-time)required
next_cursorstring or nullrequiredPass as
cursorto get the next page; null means this is the last page.
Other responses
- 401 unauthenticated — no key, or an unknown, revoked or expired one.
- 403 insufficient-scope — the key lacks a required scope.
- 404 not-found.
- 422 validation — a bad
updated_after,limitorcursor(errors[].pathnames it). - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.