GET/api/v1/services
List the org's broadcast services
The org's linear broadcast services (EPG channels) — each with its transmission spec, its fallback format and the formats bound to it — by sort_order, as the app lists them. Returned whole, at most 1000. 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 the EPG, and for an OAuth token whose person is not a member of the org.
Scopes: epg:read
Parameters
updated_afterquery · string (date-time)Only services changed strictly after this instant (ISO 8601 with offset), compared to the millisecond. A format binding added or removed does not change a service's
updated_at; its ETag moves.
Response 200ServiceList
dataarray of ServicerequiredBy sort_order, then creation, as the app lists them. Returned whole, at most 1000.
idstring (uuid)requirednamestringrequireddescriptionstring or nullrequirednumberinteger or nullrequiredThe channel number viewers know it by, when it has one.
colorstringrequiredThe colour the app shows the service in (a CSS hex colour).
sort_orderintegerrequiredIts place in the app's list of services (ascending).
spec_profileSpecProfileRef or nullrequiredThe transmission spec its programmes are judged against (GET /api/v1/spec-profiles/{id}); null when none is set.
idstring (uuid)requirednamestringrequiredrevisionintegerrequiredThe spec's revision: a published spec changes only by a new revision, which supersedes this one.
default_formatobject or nullrequiredThe fallback clock (GET /api/v1/formats/{id}) for a day no bound format covers; null when none is set.
idstring (uuid)requirednamestringrequired
formatsarray of objectrequiredThe formats bound to the service, each with the days it applies, by
starts_on(unbounded first), then format name.formatobjectrequiredA clock the service may use (GET /api/v1/formats/{id}).
idstring (uuid)requirednamestringrequired
starts_onstring (date) or nullrequiredThe first broadcast day it applies (YYYY-MM-DD); null — no start bound.
ends_onstring (date) or nullrequiredThe last broadcast day it applies (YYYY-MM-DD); null — no end bound.
created_atstring (date-time)requiredupdated_atstring (date-time)required
next_cursorstring or nullrequiredAlways null: the list is returned whole.
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. - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.