Popular

↑↓ move ↵ open All results →

Integration API · Content

Create or update a draft

PUThttps://{store}/api/v1/integrations/content/pages/{external_id}

Writes a page or blog post by your id. Saving never publishes: publish it with the publish call. HTML in body is sanitized; the slug comes from slug or the title.

Integration key with the content:write ability: Authorization: Bearer {key}.

Path parameters

external_idstringrequired
Your page id.

Request body application/json

titlestringrequired
Title.
typestring
page or blog. Default page.
pageblog
slugstring
Address part; made from the title when left out.
bodystring
HTML of the page.

Example

{
    "type": "blog",
    "title": "Як обрати навушники",
    "slug": "yak-obraty-navushnyky",
    "body": "<p>Три речі, на які варто зважати…</p>"
}

Responses

200The draft.
{
    "external_id": "cms-post-118",
    "data": {
        "id": 58,
        "type": "blog",
        "title": "Як обрати навушники",
        "slug": "yak-obraty-navushnyky",
        "published_at": null,
        "updated_at": "2026-10-12 08:55:00"
    }
}
401Missing, unknown or revoked key.
{
    "code": "unauthenticated",
    "message": "Integration key is inactive.",
    "field": null
}
403The key lacks content:write, or the store’s plan has no API access.
{
    "code": "forbidden",
    "message": "Integration key cannot content:write.",
    "field": null
}
422A field is invalid; field names it.
{
    "code": "validation_error",
    "message": "name is required.",
    "field": "name"
}
429More than 60 requests a minute for this key. Wait Retry-After seconds.
{
    "code": "rate_limited",
    "message": "Too many integration requests.",
    "field": null
}