Changelog
Notable changes to the public API and to these docs. Breaking changes are announced here before they reach production; see the stability policy.
2026-10-17
- Real error codes. Errors now carry a specific
extensions.code:NOT_FOUND,CONFLICT,TOO_MANY_REQUESTSand others, instead ofINTERNAL_SERVER_ERROR.extensions.originalErroris gone. Branch on the code (Errors & limits). - HTTP 429 for rate limits. A rate-limited request answers HTTP 429 with a
Retry-Afterheader and the codeTOO_MANY_REQUESTS(Rate limits). - Suspended projects. A request for a suspended project answers HTTP 403 with the code
PROJECT_SUSPENDED. - Any origin.
/graphql/publicnow answers browser requests from any origin, without cookies or credentials. We still recommend calling it from your server (Authentication). - Per-token limit. On a developer project whose site cms-craft does not host, the general 200-per-minute limit is counted per API token instead of per IP.
- Token access. The API token is shown to the owner of a developer project who has developer access. Access is granted by our team: e-mail support@cms-craft.com (Authentication).
- Token checks. A
project-authvalue that is not 64 lowercase hex characters is refused withnot matched token. A new or regenerated token can take up to 2 seconds to start working (Authentication).
2026-10-16
- Docs rewritten to match production. Authentication is the
project-authheader with the project’s API token; the API is meant to be called from your server; rate limits, query limits and error shapes are documented as the API returns them today (Authentication, Errors & limits). - Schema download. The public schema is published at https://docs.cms-craft.com/schema.graphql and updated when the API changes, for code generators and editors (Schema & types).
- Breaking-change policy. Breaking changes are announced in this changelog; anything removed is first marked
@deprecatedin the schema for at least 90 days. - New guides: a Quickstart with a complete Next.js and Astro starter, and Cache revalidation describing the request cms-craft sends to your site after every save.