GET/api/v1/transmission-log
Read a service's planned transmission log
The events of one service's transmission log that overlap [from, to) — at most 7 days — by start time: each slot's programme, and the breaks and IDs its format places inside it. This is the PLANNED log, derived from the schedule and re-derived whenever the schedule changes; it is not an as-run record (none exists yet). Events have no updated_at: re-read the window. 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 log 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 7 days after it. Required. Events overlapping [from, to) are listed.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 200TransmissionLog
The planned transmission log of a service in a window, derived from its schedule and the slots' formats. Not an as-run record.
dataarray of TransmissionEventrequiredBy
starts_at, then id.idstring (uuid)requiredserviceobjectrequiredThe service the event airs on.
idstring (uuid)requirednamestringrequired
slot_idstring (uuid) or nullrequiredThe schedule slot it is derived from (GET /api/v1/schedules/{id}).
event_type"primary" | "secondary"requiredprimary— the programme itself, one per slot;secondary— a break or an ID inside it, from the slot's format.secondary_kind"break" | "noncommercial_break" | "id" or nullrequiredFor a secondary event, the format element that produced it; null for a primary event.
titlestringrequiredstarts_atstring (date-time)requiredends_atstring (date-time)requiredfileobject or nullrequiredFor a primary event, the file that airs ({ id, name: its filename }); null for a break or an ID (their content is chosen later).
idstring (uuid)requirednamestringrequired
formatobject or nullrequiredThe format the event was derived from.
idstring (uuid)requirednamestringrequired
status"planned" | "pushed" | "aired"requiredplanned— derived from the schedule and re-derived when it changes;pushed— handed to playout;aired. Today every event isplanned.
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 badlimitorcursor(errors[].pathnames it). - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.