Versioning and deprecation
A surface that does not change without warning.
Agents should be able to integrate against Civic Data without surprises. This page is the commitment for the REST API, the MCP tools and the CLI.
REST
- The major version is in the URL path:
/v1/…. Breaking changes ship only under a new prefix (/v2/). - Additive changes — new endpoints, new optional parameters, new response fields, new
notices— may ship inside a major version without notice. Clients must ignore unknown fields. - Response schemas are published in the OpenAPI document and generated from the same Zod contracts the gateway validates against.
Deprecation signals
- When an endpoint, parameter or major version is scheduled for removal, its responses carry
Deprecation(RFC 9745) andSunset(RFC 8594) headers and aLinkheader withrel="deprecation"pointing at the migration note. - The minimum notice between the first
Sunsetheader and removal is 90 days. - Deprecated OpenAPI operations are marked
deprecated: true, and deprecated MCP tools say so in their description.
MCP and CLI
- MCP tool names and input schemas follow the same additive rule. A renamed tool keeps the old name, marked deprecated, for the notice period. The server reports its version in
serverInfo(currentlycivic-data-london0.1.0). - The
civicdatanpm package uses semantic versioning; a breaking CLI change is a major release.
Data semantics
A change to a calculation, join or classification is a data-semantics change, not an API change. It is recorded in the methodology and decision records, shipped with tests, and the edge cache version is incremented so old responses are never reused.
Current API version: 0.1.0. Questions: contact Civic Data.