For your engineers
One feed. Everything in it checks out.
Request a source-bound generation, then pull ready articles or receive a signed webhook. Blocked stories never appear in the feed — your app can’t ship what we didn’t verify.
Not technical? Skip it — the console does all this with buttons.
GET/v1/newsrooms/{id}/feeds/{feed}/articlesready articles, newest first
GET/v1/newsrooms/{id}/articles/{article}/evidenceevidence and gate result
POST/v1/newsroomscreate a draft newsroom
POST/v1/newsrooms/{id}/previewtest before delivery
POST/v1/newsrooms/{id}/generationsqueue a durable generation
# queue a durable, source-bound generation
POST /v1/newsrooms/{newsroom_id}/generations
Authorization: Bearer $NEWSROOM_API_KEY
Idempotency-Key: run-2026-07-28-01
{"feed_id":"feed_default"}
# → 202
{"data":{"status":"queued","stage":"queued"}}
signed webhooks: article.ready · generation.blocked