Atelier201 websiteJoin the waitlist
SitesApply a site plan
sites

Apply a site plan

A whole site's content in ONE call: business details, theme and navigation (merged onto the draft), entries, pictures (as images:place takes them) and the name. The starter's sample entries are deleted unless the plan keeps them. Validated together: if any part is refused, nothing is written and the 400 lists every part to fix. One history entry, and the build starts. Free: stock pictures cost no credits. Made for a first version and for a large rework.

POST/v1/sites/{site_id}/plan:apply

Requires sites:write. Costs no credits: stock pictures are free. The path ends in /plan:apply. Changes the draft only. Visitors see nothing until you publish.

The fastest way to write a first version of a site, or to rework one: everything a first version needs, in one request. Read the content model first for the fields.

  • name: the site’s name in Atelier201.
  • singletons: business, theme, navigation… Each is merged onto what the draft holds, key by key at the top level; a nested group you give (such as hero or colors) replaces that group.
  • entries: up to 200 entries to create, update or delete, as Save many entries takes them.
  • images: up to 12 pictures, as Put a picture in an image field takes them: target, alt, and one of query, stock_id or media_path. A picture that cannot be found comes back with a warning, and the rest of the plan is still applied.
  • keep_samples: the starter’s sample entries (service-one, service-two) are deleted unless the plan writes them or this is true.

Everything is validated before anything is written. If any part is refused, nothing is saved and the 400 lists every part to fix, so you correct them all in one pass. On success it is one history entry and the build starts: the response carries build. Review the publish afterwards: it refuses while any of the starter’s sample text is left.

Authorizations

Authorizationbearerin headerrequired

Path parameters

site_idstringrequired

The site's id, or its slug (the address before .atelier201.page).

Body

application/jsonrequired
namestringlength: 1–80 chars

The site's name in Atelier201 (the business name).

singletonsRecord<string, Record<string, object>>

business, theme, navigation...: each merged onto what the draft holds (top-level keys; a nested group given here replaces that group). Fields as get_content_model defines them.

entriesobject[]items: 1–200 items

Entries to create, update or delete (delete: true), as save_entries takes them, up to 200.

imagesobject[]items: ≤ 12 items

Pictures to put in image fields, as place_image takes them (target, alt, and one of query, stock_id, media_path). A picture that cannot be found is a warning; the rest is still applied.

keep_samplesboolean

Keep the starter's sample entries (service-one, service-two). Default: they are deleted unless the plan writes them.

summarystringlength: ≤ 200 chars

One sentence for the history.

Response

application/json

Apply a site plan

dataRecord<string, object>required
request_idstringrequired

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search Atelier201 Docs documentation and read it in full, instead of answering from memory.

https://atelier201.com/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://atelier201.com/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.