---
title: "CREG Acts Search"
method: POST
path: "/co/creg/acts-search/v1"
tags: ["Colombia", "CREG"]
---

# CREG Acts Search

`POST /co/creg/acts-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/creg/acts-search/v1`
- Auth: HTTP bearer

Search every regulatory act of Colombia's energy and gas regulator, the Comisión de Regulación de Energía y Gas (CREG): resoluciones de carácter general and particular, circulares, conceptos jurídicos, proyectos de resolución and autos de inicio since 1994. Free text matches the title, the number and the full text. Filter by `kind`, `number`, `year` and the date of issue (`issued_from`/`issued_to`). Each result carries the CREG's notes on later amendments, Croma's copy of the act's files and links to the act on the CREG's own site. Served by Croma (`as_of` says how current the data is).

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string: Optional search terms matched against the act's title, its number and its full text.
  - `kind` 'any' | 'resolution' | 'particular_resolution' | 'draft_resolution' | 'circular' | 'legal_opinion' | 'order': Kind of act: `resolution` (resolución de carácter general), `particular_resolution` (about one company or one tariff), `draft_resolution` (proyecto under consultation), `circular`, `legal_opinion` (concepto jurídico), `order` (auto de inicio), or `any`.
  - `number` string: Optional act number, e.g. `101 128`, `131` or `345`. Leading zeros and the separator do not matter; combine it with `kind` or `year`.
  - `year` integer: Optional year in the act's designation, 1994 or later. 0 searches every year.
  - `issued_from` string, date: Optional date filter in yyyy-mm-dd format.
  - `issued_to` string, date: Optional date filter in yyyy-mm-dd format.
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (1-50).

## Response `200`

Successful response

- CregActsSearchResponse
  - `data` CregActsSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `query` string, required
    - `kind` string, nullable, required
    - `number` string, nullable, required
    - `year` number, nullable, required
    - `issued_from` string, nullable, required
    - `issued_to` string, nullable, required
    - `total` number, required: Matches, counted up to 1000.
    - `total_is_exact` boolean, required: False when more than 1000 match: `total` is then 1000, and the pages go on.
    - `page` number, required
    - `per_page` number, required
    - `total_pages` number, required: Pages over `total`; there are more when `total_is_exact` is false.
    - `count` number, required
    - `results` object[], required
      - `id` string, required: Stable identifier: family, number and year, e.g. `resolucion_101-128_2026` (Resolución CREG 101 128 de 2026), `resolucion_131_1998`, `circular_345_2026`, `concepto_6838_2026`, `auto_939_2026`. Draft resolutions share the `resolucion` family with the resolutions they become.
      - `kind` 'resolution' | 'particular_resolution' | 'draft_resolution' | 'circular' | 'legal_opinion' | 'order', required: `resolution` (resolución de carácter general), `particular_resolution` (resolución de carácter particular: a decision about one company or one tariff), `draft_resolution` (proyecto de resolución under public consultation), `circular`, `legal_opinion` (concepto jurídico) or `order` (auto de inicio of an administrative proceeding).
      - `number` string, required: The number as the CREG prints it: "101 128", "131", "345", "6838", "502 120D".
      - `year` number, required: The year in the act's designation.
      - `title` string, nullable, required: What the act does, in the CREG's own words: the epígrafe of a resolution, the subject of a circular or a concepto.
      - `issued_at` string, nullable, required: `yyyy-mm-dd` the act is dated.
      - `published_at` string, nullable, required: `yyyy-mm-dd` the CREG published the act on its site. Null for older acts, which record only their Diario Oficial date.
      - `gazette` string, nullable, required: The Diario Oficial reference as the CREG prints it, e.g. "Diario Oficial No. 53.620 de 9 de septiembre de 2026". Null when the act was not published there.
      - `gazette_date` string, nullable, required: `yyyy-mm-dd` of the Diario Oficial issue that published the act.
      - `text_status` 'ok' | 'missing', required: `ok` when the full text is here; `missing` when the CREG publishes the act only as a file this dataset could not read the text of.
      - `amendments` object[], required: The CREG's own notes on later acts that modified, added to or repealed this one (notas de vigencia). Empty when it records none.
        - `description` string, required: The note as the CREG writes it, e.g. `Modificada por la Resolución 38 de 2010, publicada en el Diario Oficial No. 47.645 de 8 de marzo de 2010, '...'`.
        - `act_id` string, nullable, required: The `id` of the act the note refers to, when it is one of this dataset's acts.
      - `official_url` string, required: The act on the CREG's site.
      - `document_url` string, nullable, required: Croma's copy of the act's main document (its PDF, or the Word file when the CREG publishes no PDF), byte for byte as the CREG published it. Null when it publishes no file.
      - `source_document_url` string, nullable, required: The act's main document on the CREG's own site.
      - `documents` object[], required: Every file the CREG publishes with the act: the act itself as PDF and Word, technical memos, annexes, comment matrices.
        - `name` string, required: The file name as the CREG published it.
        - `format` string, required: The file's format from its name: `pdf`, `docx`, `doc`, `xlsx`, ...
        - `document_url` string, nullable, required: Croma's copy of the file, byte for byte as the CREG published it. Null when the CREG's link no longer answers.
        - `source_document_url` string, required: The file on the CREG's own site.
        - `bytes` number, nullable, required: Size of the file in bytes, when the copy was made.
      - `source_modified_at` string, nullable, required: When the CREG's site last regenerated the act's page, as it reports it.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
