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, Builder UI behavior, and shared documentation. 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
- agent-facing reference material
- docs pages
- agent prompts or guidance 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.