Atelier201 websiteJoin the waitlist
PublishingPublish a build
publishing

Publish a build

VISIBLE ON THE INTERNET. Only a site on the Site plan can be published: a draft is refused with 403 feature_not_available and an action_url to its plan. Makes this exact build (or, without build_id, the draft as it is now, built first when needed) what visitors see on every address of the site, within about a minute. Refused with 409 if the site was published, rolled back or taken offline since your review (expected_generation). Requires sites:publish.

POST/v1/sites/{site_id}/publish

Requires sites:publish and a workspace admin. Costs no credits.

This is visible on the internet. Publish only after the owner has approved what the review showed. A claim link or a sign-in is not that approval.

If the site was published, rolled back or taken offline since your review (by anyone, you included), the call is refused with 409 conflict and nothing changes. Review again. A build with blockers is refused the same way, with the blockers in details.

Without build_id, the draft as it is now goes live, built first when needed. A build_id older than the draft is refused (older_than_draft) unless you send allow_older_build: true: putting an earlier version live is then a decision, not an accident.

Authorizations

Authorizationbearerin headerrequired

Path parameters

site_idstringrequired

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

Body

application/jsonrequired
build_idstring<uuid>pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

The build to publish. Omit it to publish the draft as it is now: it is built first when needed, which adds a few seconds.

expected_generationintegerrequiredrange: 0–9007199254740991
allow_older_buildboolean

Required to publish a build older than the draft on purpose; otherwise that is refused (older_than_draft).

Response

application/json

Publish a build

dataobjectrequired
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.