All pages

List editions

Returns each edition you own, oldest first. Start here: the slug in this response is the id every other endpoint takes in its path.

GET/v1/editions

Request

curl https://api.mastheads.app/v1/editions \
  -H "Authorization: Bearer mh_live_your_key_here"

Response

200 OK
{
  "editions": [
    {
      "slug": "3f9c1e84-2b7a-4d6e-9c15-8a0d7e6b4f21",
      "name": "The Bristol Ledger",
      "publisher_target": "wordpress",
      "language_code": "en",
      "country_code": "GB",
      "timezone": "UTC",
      "created_at": "2026-06-01T09:00:00",
      "article_counts": { "draft": 12, "published": 130 }
    }
  ]
}

article_counts covers the two public statuses. An article still being written, delayed or failed is not counted, and does not appear on /v1 at all.

FieldTypeNotes
slugstringThe edition UUID. v5 has no separate slug column, so this is what the other endpoints take in their path.
namestringThe edition's display name.
publisher_targetstringWhere it publishes: wordpress, ghost, wpcom, markdown. "draft" when nothing is connected.
language_codestringThe edition's writing language.
country_codestringThe country it covers.
timezonestringAlways "UTC". v5 stores every timestamp in UTC and has no per-edition clock.
created_atstringNaive ISO-8601, UTC, no offset.
article_countsobjectCounts for the two public statuses only: draft and published.

Errors

StatusCodeWhen
401invalid_keyMissing, invalid, or revoked API key.
429rate_limitedOver 120 requests/minute on this key. Retry-After: 60.
503unavailableThe data store could not be reached.

Every request needs a key - Authentication. The error shape and the full status table are on Rate limits & errors.