Colombian legislation moves to the Gestor Normativo

Colombian laws, decrees and conceptos now come from Función Pública's Gestor Normativo. The Legalize endpoints retire on 30 September 2026.

New endpoint

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.

DeprecatedSuccessor
POST /co/legalize/laws/v1POST /co/funcion-publica/norms-search/v1
POST /co/legalize/law/v1POST /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" }'
LegalizeGestor Normativo
queryquery, over the citation, the description and the norm's full text
law_typedocument_type: ley, decreto, concepto, sentencia, resolucion and more
year as a string ("2008")year as a number (2008)
per_page up to 100per_page up to 50
status and jurisdictionNo 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_mdcontent.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 Deprecation and Sunset headers, a Link with rel="successor-version" and a deprecation field 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_search and funcion_publica_norm.
  • From 30 September 2026 both paths answer 410 with code: "endpoint_retired" and the same Link to 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.

Start querying official records