From today, Colombian legislation in Croma comes from Función Pública's Gestor Normativo: more than 40,000 norms, from laws and decrees to conceptos, rulings and circulars, each with its consolidated text, the subjects it is filed under and the later norms that added to, modified or repealed it. The two Legalize endpoints are deprecated as of today and stop answering on 30 September 2026.
| Deprecated | Successor |
|---|---|
POST /co/legalize/laws/v1 | POST /co/funcion-publica/norms-search/v1 |
POST /co/legalize/law/v1 | POST /co/funcion-publica/norm/v1 |
Why the change#
Legalize is an external service. We don't control how it updates its data, when it fixes an error or how long it keeps the service running, so we couldn't stand behind those endpoints with the support we give the rest of the API.
So we started maintaining our own source of truth for Colombian legislation, one we do control: the Gestor Normativo, complete, organized and up to date, with as_of on every response telling you how current the data is. When something breaks, we see it and fix it ourselves, without waiting on a third party, and we can answer for every norm when you write to us.
How to migrate#
The request and the response change, so migrating takes more than a new path. Find a law by type, number and year:
curl https://api.croma.run/co/funcion-publica/norms-search/v1 \
-H "Authorization: Bearer $CROMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"document_type": "ley",
"number": "1266",
"year": 2008
}'Each result's id (34488 for Ley 1266 de 2008) is the norm_id that fetches the full norm:
curl https://api.croma.run/co/funcion-publica/norm/v1 \
-H "Authorization: Bearer $CROMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "norm_id": "34488" }'| Legalize | Gestor Normativo |
|---|---|
query | query, over the citation, the description and the norm's full text |
law_type | document_type: ley, decreto, concepto, sentencia, resolucion and more |
year as a string ("2008") | year as a number (2008) |
per_page up to 100 | per_page up to 50 |
status and jurisdiction | No direct equivalent. entity filters by the issuing body, and amendments lists the norms that modified or repealed it |
law_id (LEY-1266-2008) | norm_id (34488), the id the search returns |
content_md | content.text, in ranges: follow next_offset until has_more is false |
What happens until 30 September#
- The Legalize endpoints keep answering unchanged. Every response carries the
DeprecationandSunsetheaders, aLinkwithrel="successor-version"and adeprecationfield in the body. - Legalize no longer appears as a tool on the MCP server or on the site's tools. Agents connected over MCP have
funcion_publica_norms_searchandfuncion_publica_norm. - From 30 September 2026 both paths answer
410withcode: "endpoint_retired"and the sameLinkto the successor.
The versioning policy gives 90 days' notice before an endpoint retires. These two get 14, and the policy says so next to the list of deprecated endpoints.
The guide is at Función Pública.