GET/api/v1/schedules
List a service's schedule in a window
The programme slots of one service that overlap [from, to) — at most 31 days — by start time. Each slot carries its readiness as last evaluated (reading does not re-evaluate it). Poll a window with updated_after (exclusive, millisecond); a deleted slot simply stops appearing. 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. Also 404 for a service that is not the org's.
Scopes: epg:read
Parameters
service_idquery · string (uuid)requiredThe service whose schedule to read (GET /api/v1/services lists them). Required.
fromquery · string (date-time)requiredThe start of the window (ISO 8601 with offset). Required.
toquery · string (date-time)requiredThe end of the window (ISO 8601 with offset), after
fromand at most 31 days after it. Required. Slots overlapping [from, to) are listed.updated_afterquery · string (date-time)Only slots 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 200ScheduleSlotList
dataarray of ScheduleSlotrequiredBy
starts_at, then id.idstring (uuid)requiredserviceobjectrequiredThe service the programme airs on.
idstring (uuid)requirednamestringrequired
titlestringrequireddescriptionstring or nullrequiredstarts_atstring (date-time)requiredends_atstring (date-time)requiredassetobject or nullrequiredThe asset scheduled, by its root id (GET /api/v1/assets/{id} takes it);
nameis the version picked when it was scheduled. Null for a rotation slot or when the asset is deleted or not in this org.idstring (uuid)requirednamestringrequired
fileobject or nullrequiredThe file that airs ({ id, name: its filename }), pinned when the asset was scheduled so a later upload cannot change what airs; null when none is pinned, or the pinned file is not an asset file of this org.
idstring (uuid)requirednamestringrequired
sourceobject or object or nullrequiredWhere a rotation slot draws its programme from —
{ project }or{ collection }; null for a slot with no source, or one whose source is deleted or not in this org.projectobjectrequiredidstring (uuid)requirednamestring or nullrequiredThe project's or collection's name. Null — for an OAuth token — when its person may not read it (a project they cannot open; a collection outside the projects they can open, or not shared with them): the id is the slot's own data, the name is not disclosed.
formatobject or nullrequiredThe clock the slot was authored against (GET /api/v1/formats/{id}), frozen on the slot; null for a freeform slot.
idstring (uuid)requirednamestringrequired
readiness"pending" | "ready" | "not_ready" | "unknown"requiredWhether what is scheduled meets the service's transmission spec, as last evaluated (when the slot is made, when its asset or service changes, and when its file is measured — not when you read it):
ready— it meets the spec, or the service has no spec;not_ready— it fails the spec;pending— nothing to judge yet (no asset or no file), or a value the spec demands could not be measured;unknown— the file is not measured yet.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 missing or bad
service_id,fromorto, a window wider than allowed, a bad filter,limitorcursor(errors[].pathnames it). - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.