Format run queue.position is always null: no queue depth published

The status response has a queue object, but position is null on purpose. Use queue.state and expires_at for waiting UX instead of a fake countdown.

5 min readSume
All posts

Do not build a 'you are number 4 in line' message for a Format run: queue.position is always null. Sume's Runs and results page documents the field and says a position is not published (read 2026-10-04). What the object does give you is queue.state, which is waiting or runtime_unavailable.

A client that renders position as a number will show nothing, or a bug, so decide the waiting screen from the fields that are real.

What can the UI say instead?

Map the documented fields to copy you can stand behind.

Waiting states for a Format run, from Sume's Runs and results docs, read 2026-10-04.
SignalShow
status queued, queue.state waitingQueued, waiting for a worker to pick it up
queue.state runtime_unavailableDelayed; the runtime is not available yet
status processingWorking; show events from events_url
expires_at approachingLatest time the run can end as failed

How long can it wait?

expires_at is the outer bound. A run is force-finalized as failed 90 minutes after creation, or sooner when it is older than 25 minutes and has been silent for 10. Show that time rather than guessing, and let next_action tell your poller whether to keep going.

What about a progress bar?

Use the events instead. The run's events_url lists what the agent has done, which is a truer sign of progress than a queue number would be, and it needs no estimate that could be wrong.

Sources

Related posts

More in Formats

All Formats posts

Written by Sume