Get one article
Fetches one article. The object is byte-for-byte the shape you get inside articles[] on the list endpoint, so a parser written for one works on the other.
GET
/v1/editions/{slug}/articles/{article_id}Parameters
| Param | In | Notes |
|---|---|---|
| slug | path | The edition UUID. |
| article_id | path | The article UUID, from the list endpoint's id field. |
Request
curl https://api.mastheads.app/v1/editions/3f9c1e84-2b7a-4d6e-9c15-8a0d7e6b4f21/articles/a1d4c7b2-5e83-4f19-b06c-2d9f8e3a7c54 \
-H "Authorization: Bearer mh_live_your_key_here"Response
200 OK
{
"id": "a1d4c7b2-5e83-4f19-b06c-2d9f8e3a7c54",
"slug": "harbour-works-overrun-by-two-years",
"url_path": "/harbour-works-overrun-by-two-years",
"status": "published",
"title": "Harbour works overrun by two years",
"intro": "",
"body": "<p>The harbour redevelopment ...</p>",
"conclusion": "",
"meta_title": "Harbour works overrun by two years",
"meta_description": "The council's own timetable ...",
"tags": [],
"section": null,
"language_code": "en",
"article_type": "standard",
"word_count": 842,
"source_url": "",
"byline": "Jordan Avery",
"image": {
"featured_url": "/v1/editions/3f9c1e84-2b7a-4d6e-9c15-8a0d7e6b4f21/articles/a1d4c7b2-5e83-4f19-b06c-2d9f8e3a7c54/image",
"source": "ai:generated"
},
"created_at": "2026-07-05T08:12:00",
"published_at": null
}Unwrapped: the article object itself, not { "article": ... }. Field-by-field notes are on the list-articles page.
Errors
| Status | Code | When |
|---|---|---|
| 401 | invalid_key | Missing, invalid, or revoked API key. |
| 429 | rate_limited | Over 120 requests/minute on this key. Retry-After: 60. |
| 503 | unavailable | The data store could not be reached. |
| 404 | not_found | No such edition or article on your account, or either id is not a UUID. |
Every request needs a key - Authentication. The error shape and the full status table are on Rate limits & errors.