Articles API — programmatic newsroom content management
Create, read, update, and publish articles programmatically — full coverage of the editorial domain.
List articles
GET /v1/articles?status=published&limit=50&offset=0Filterable by: status (draft, in-review, approved, published, archived), author_id, department_id, tag, published_after, published_before. Default sort is published_at descending.
Get one article
GET /v1/articles/{article_id}Create an article
POST /v1/articles
Content-Type: application/json
{
"headline": "Mayor announces 2026 budget",
"lede": "$2.3B in new investments",
"body": "<p>The mayor today...</p>",
"department_id": "politics",
"tags": ["politics", "budget", "mayor"],
"status": "draft"
}Update an article
PATCH /v1/articles/{article_id}
Content-Type: application/json
{ "headline": "Updated headline" }Publish
Publishing is a state transition, not a separate field. Move the article to "approved" then "published":
POST /v1/articles/{article_id}/transitions
Content-Type: application/json
{ "to_state": "published", "publish_at": "2026-05-10T06:00:00Z" }Pagination
List endpoints return a paged response with total count and next offset. Default page size is 50, maximum is 200.
For high-volume integrations (e.g., daily import of wire content), use the bulk endpoint POST /v1/articles/bulk which accepts up to 500 articles per request.
Was this helpful?
Can't find what you need, or spot something wrong? Let us know — every article is improved based on customer feedback.
Contact support