Using the API

Versioning

Within v1, the contract grows additively except for one documented private-beta correction. Build a client that ignores what it doesn't recognize and it will keep working through additive releases.

The compatibility promise

How a breaking change would ship

After the private-beta exception above, a breaking change ships as /api/v2, not as a mutation of v1. When that day comes:

The contract and its changelog

Versioning on the MCP side

The MCP connector carries the same promise in tool names: every tool is suffixed _v1 (list_products_v1, publish_master_v1, …). Within the suffix, tool inputs and outputs change additively, exactly like the REST surface. The same 2026-08-11 private-beta correction narrowed get_master_translations_v1 to products and collections; after that exception, a breaking tool-contract change ships under a new versioned name rather than changing the existing tool underneath connected assistants.