Skip to content

Broadcast clock as a service

GET
/api/network/program

The same rundown denpa.ai airs, scoped to a station’s venues and lanes. No params = the persisted global rundown; preset overrides the filters. 30 s SWR. SDK: client.getProgram().

  • None
preset
string
Allowed values: hot resolving close

A named lineup (overrides the filters).

providers
string

Comma-separated venues: polymarket, kalshi. Default polymarket.

categories
string

Comma-separated lanes to air (explicit = allowed).

maxResolveHours
number
>= 1 <= 2160
minVolume
number
topPerCategory
integer
>= 1 <= 50
limit
integer
default: 200 >= 1 <= 400

Caps segments; total still reports the whole rundown.

lanes
string
Allowed values: 0

lanes=0 returns lanes: [] — halves the payload.

OK (also { enabled: false } when the hub has no clock).

The broadcast clock as a service. { enabled: false, generatedAt: null, total: 0, lanes: [], segments: [] } when the hub has no clock wired.

object
enabled
required
boolean
generatedAt
required
string | null format: date-time
total
required

Length of the whole rundown, even when limit truncates segments.

integer
lanes
required

[] when lanes=0 — the grouping repeats every segment.

Array<object>
object
key
required
string
label
required
string
segments
required
Array<object>

One block of the rundown (program-clock PublicSegment). Prices are 0–100.

object
id
required
string
marketId
required
string
title
required
string
category
required
string
lane
required
string
kind
required
string
Allowed values: bumper content
score
required
number
yesPrice
required
number
<= 100
noPrice
required
number
<= 100
volume
required
number
startsAt
required
string format: date-time
endsAt
required
string format: date-time
endsInMs
required
integer
durationSec
required
integer
status
required
string
Allowed values: live next upcoming
locked
required
boolean
bumper
required

Planned bumper (status: "planned") — never rendered automatically.

object
assetId
string | null
seed
integer | null
durationSec
integer
status
string
snapshot
required

Move-step snapshot, present once the block has gone on air (content only). Deltas are for consumers to compute.

object
airedAt
string format: date-time
yesAirBps
integer | null
yesEndBps
integer | null
yesPostBps
integer | null
volumeAir
number | null
volumeEnd
number | null
volumePost
number | null
preempted
required
boolean
preemptReason
required
string | null
curationReason
required
string | null
segments
required
Array<object>

One block of the rundown (program-clock PublicSegment). Prices are 0–100.

object
id
required
string
marketId
required
string
title
required
string
category
required
string
lane
required
string
kind
required
string
Allowed values: bumper content
score
required
number
yesPrice
required
number
<= 100
noPrice
required
number
<= 100
volume
required
number
startsAt
required
string format: date-time
endsAt
required
string format: date-time
endsInMs
required
integer
durationSec
required
integer
status
required
string
Allowed values: live next upcoming
locked
required
boolean
bumper
required

Planned bumper (status: "planned") — never rendered automatically.

object
assetId
string | null
seed
integer | null
durationSec
integer
status
string
snapshot
required

Move-step snapshot, present once the block has gone on air (content only). Deltas are for consumers to compute.

object
airedAt
string format: date-time
yesAirBps
integer | null
yesEndBps
integer | null
yesPostBps
integer | null
volumeAir
number | null
volumeEnd
number | null
volumePost
number | null
preempted
required
boolean
preemptReason
required
string | null
curationReason
required
string | null
preset
string
spec

FilterSpec forwarded to the clock. Empty object = the persisted global rundown.

object
providers
Array<string>
Allowed values: polymarket kalshi
categories
Array<string>
maxResolveHours
number
minVolume
number
topPerCategory
integer