Skip to main content
GET
Observed now-playing with freshness

Authorizations

Authorization
string
header
required

Station-scoped listener credential. Send Authorization: Bearer <token>, for example Bearer rtm_…. Sending the rtm_ token alone without Bearer returns 401 UNAUTHENTICATED. In the interactive playground, enter only the raw rtm_ token; the playground adds the prefix. Listener REST and GraphQL: listener:read. Listener devices: push:register.

Path Parameters

stationSlug
string
required

Public station slug from the station settings; distinct from the internal station ID.

Required string length: 3 - 63

Response

Current observed track independent of the planned rundown

contractVersion
enum<number>
required

Public JSON contract version. The current version is 1; tolerate additional fields within this version.

Available options:
1
Example:

1

stationId
string
required

Station identifier associated with this response.

Example:

"station-rivier"

timezone
string
required

IANA timezone used to interpret station calendar dates, for example Europe/Amsterdam.

Required string length: 1 - 100
Example:

"Europe/Amsterdam"

track
object | null
required

Latest reported track; null when no observation is available.

Example:
elapsedSeconds
integer | null
required

Elapsed seconds derived at response time; null when duration is unknown or the track is not playing.

Required range: x >= 0
Example:

30

endsAt
string<date-time> | null
required

End timestamp. For now-playing this is derived from observedAt and durationSeconds; null when duration is unknown or the track is not playing.

Example:

"2026-10-05T08:03:30.000Z"

freshness
object
required

Age and freshness of the source observation. A successful HTTP read does not guarantee fresh data.

Example: