Versioning
Every endpoint path carries its major version:/co/rues/entity-by-nit/v1,
/pe/sunat/ruc/v1, /global/web-search/v1. The version is part of the path,
not a header, so a request is unambiguous on its own and the OpenAPI
description at https://api.croma.run/openapi (also
https://usecroma.com/openapi.json) lists every version in service.
Within a major version the contract only grows. These changes ship without a
new version and without notice:
- New endpoints, new optional request fields, new response fields.
- New values in fields that are documented as open sets (source-language statuses, names, legal terms).
- New sources behind an existing endpoint, when the response shape is unchanged.
/v2):
- Removing or renaming a request or response field.
- Changing a field’s type or meaning.
- Making an optional request field required.
- Changing an error
codeor the error envelope.
snake_case on every endpoint, and every endpoint
accepts an optional Idempotency-Key
header; those conventions are part of the contract too.
Deprecation
When an endpoint version is scheduled for removal:- It is announced in the changelog (and its Atom feed) at least 90 days before the sunset date, naming the successor.
- From the announcement on, every response from the retiring endpoint
carries a
Deprecationheader (RFC 9745) with the date the deprecation took effect, aSunsetheader (RFC 8594) with the removal date, and aLinkheader withrel="successor-version"pointing at the replacement. - The OpenAPI description marks the operation
deprecated: trueand its description names the successor. - After the sunset date the path answers
410 Gonewith the standard error envelope (code: "endpoint_retired") and the sameLinkheader, for at least 90 more days.
POST /co/siata/v1 (SIATA), since
2026-08-27, with sunset on 2026-12-01; its successor is the
SIATA Geoportal source, starting with
POST /co/siata-geoportal/weather/v1. And POST /mx/scjn/tesis-browse/v1
(SCJN), since 2026-09-07, with sunset on 2026-12-15; its successor is
POST /mx/scjn/tesis-search/v1, which takes the same
request and answers the same response. Every response from either carries the
headers above. A client that watches for Deprecation and Sunset on every
response learns of a retirement the day it is announced.
What this does not cover
- Data content. Croma returns official records as they are published; a source changing what it publishes is not an API change. Each guide notes the source’s own limits.
- Rate limits and quotas, which are per organization and can change with your plan. They are reported on every response; see Rate limits.
- The MCP server negotiates its protocol version per the Model Context
Protocol; the tool names track the endpoint ids (
rues_entity_by_nit) and follow the same deprecation schedule as the endpoints behind them.