REST APIStatus

Status

After you submit a release, monitor its progress with two endpoints — one for store delivery and one for the background processing job. Both require authentication.

Delivery & aggregate status

curl -H "Authorization: Bearer $ONCE_ACCESS_TOKEN" \
  https://once.app/v1/releases/<id>/status

GET /v1/releases/:id/status returns per-store delivery state plus an aggregate status for the release. Poll this after submission to follow the release out to the stores.

Processing job

curl -H "Authorization: Bearer $ONCE_ACCESS_TOKEN" \
  https://once.app/v1/releases/<id>/job

GET /v1/releases/:id/job returns the background processing job’s state and any errors. Use it to diagnose a release that is stuck or failed before it reaches the delivery stage.

Polling guidance

Status moves through asynchronous stages, so poll on an interval rather than expecting an immediate final state. Respect the Retry-After header if you receive a 429 rate_limit_error, and treat a 502 upstream_error as transient — retry with backoff.

Tip: Webhooks for release status are not available yet — polling is the supported pattern for v1.