Versioning
A stable /v1 contract with visible change
The API path, event schema, and OpenAPI contract are versioned independently. Consumers should retain the event schema version and compare OpenAPI before deployment upgrades.
Compatible changes
- Adding optional request fields or response fields.
- Adding endpoints, event types, or enum values where consumers are documented to tolerate unknown values.
- Fixing bugs without changing public semantics.
Breaking changes
Removing or renaming fields, changing types, tightening existing validation, or changing signature bytes or lifecycle semantics requires a new major API or event-schema version and a migration period.
API path version /v1
contract version X-Sentinel-Contract-Version
event schema version event.schema_version
application version GET /v1/systemDeprecation
A capability is removed only after its replacement reaches parity, migration guidance is published, and the announced window ends. Legacy /api/*, WebSocket, and MCP routes remain compatibility surfaces and are not removed merely because /v1 exists.
API v1 is the productization contract on this branch. A public immutable image, production release version, and external SLA remain publication gates.