API Versioning
Cessy has two kinds of contracts: generated app contracts and platform-owned contracts.
Generated app contracts
Generated REST, GraphQL, Runtime MCP, webhooks, subscriptions, and pages change when the published DomainConfig changes.
Treat these as app-level contract changes:
- renaming commands, events, projections, or fields
- changing required fields
- removing enum values
- changing projection filters or sort fields
- changing permission expectations
- changing webhook or subscription event shape
Review generated OpenAPI and affected pages or agents before publishing breaking model changes.
Platform-owned contracts
Platform-owned contracts include Design MCP, OAuth, admin APIs, Builder UI behavior, and docs tooling. Changes here need compatibility planning across all apps.
MCP tool compatibility
For MCP tools, prefer additive changes. If a tool behavior changes, update:
- tool description
- input schema
- reference knowledge
- docs pages
- agent prompts or docs contracts that rely on it
Docs versioning
Docs should describe the current supported platform behavior. If an app-specific generated contract differs, the generated OpenAPI for that app wins.
Deprecation
Deprecate before removing when external consumers or agents may depend on a field, endpoint, tool, or behavior. Include replacement guidance and a migration window.