Example wire
TickerFed holds at 4.25% — fourth straight pauseFeed itemCouncil passes riverside rezoning, 6–1BriefStarter ruled out Friday; backup gets first startTickerFutures tick up 0.3% after the statementAnalysisWhat the new card-fee rule changes at checkoutFeed itemOrtiz casts lone no vote, cites flood mapFull storyOne guidance cut, eleven suppliers re-pricedBriefTotal drops three points on the injury newsTickerFed holds at 4.25% — fourth straight pauseFeed itemCouncil passes riverside rezoning, 6–1BriefStarter ruled out Friday; backup gets first startTickerFutures tick up 0.3% after the statementAnalysisWhat the new card-fee rule changes at checkoutFeed itemOrtiz casts lone no vote, cites flood mapFull storyOne guidance cut, eleven suppliers re-pricedBriefTotal drops three points on the injury news
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
Get an API key
# 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