> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecroma.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SIC Acts

> Search every administrative act and judgment of Colombia's Superintendencia de Industria y Comercio since 2014, about 280,000, by party identification, case, office, type, date or full text; read any one in full with its document.

The Superintendencia de Industria y Comercio (SIC) keeps a register of the acts it issues: about 144,000 resoluciones from its investigations (consumer protection, personal data and habeas data, telecommunications users, technical regulations and legal metrology, chambers of commerce, cobro coactivo) and about 136,000 sentencias from its jurisdictional delegation, the country's largest consumer-law court. Each act here comes with its number, date and issuing office, the case it belongs to, what it decided as the Superintendencia classifies it, its parties with their role and identification, its full text and a copy of its document.

Search by a party's identification number (a NIT or a cédula) to see every act that names it, or by case, office, type, date, or free text over the body, the parties and the decisions. The register loads new acts two or three times a month, some dated months back; they appear here the day after.

<Note>
  The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries `as_of`: how current the data is. [How datasets work](/datasets).
</Note>

## Search the acts

`POST /co/sic-actos/acts-search/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

One search over every act in the register, by party identification, case, office, type, date or free text.

| Field                   | Type    | Notes                                                                                                                             |
| ----------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `query`                 | string  | Optional words matched against the full text, the parties' names, the decisions and the office.                                   |
| `type`                  | enum    | Optional type: `resolution` or `judgment`. Default `any`.                                                                         |
| `office`                | string  | Optional issuing office, e.g. `Grupo de Trabajo de Defensa del Consumidor`, matched from the start. Case and accents are ignored. |
| `case_number`           | string  | Optional case (radicado), e.g. `24-449511` or `24 449511`.                                                                        |
| `party_document_number` | string  | Optional identification number (NIT or cédula) of any party or representative, digits only; separators are ignored.               |
| `issued_from`           | string  | Optional: only acts issued on or after this date, `yyyy-mm-dd`.                                                                   |
| `issued_to`             | string  | Optional: only acts issued on or before this date, `yyyy-mm-dd`.                                                                  |
| `page`                  | integer | 1-based page number. Default `1`.                                                                                                 |
| `per_page`              | integer | Results per page (1-50). Default `20`.                                                                                            |

```bash theme={"dark"}
curl https://api.croma.run/co/sic-actos/acts-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "query": "habeas data",
        "type": "resolution",
        "issued_from": "2025-01-01"
      }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, most recent first. Every result carries `id` (the act's permanent number in the register), `act_id`, `type` (`resolution`, `judgment` or `other`) and `type_label`, `number`, `issued_at`, `office` (the office that issued it), `case_number` (the radicado, e.g. `24-449511`), `decisions[]` (`class`, `name`, `act_type`: what the act decides, as the Superintendencia classifies it), `parties[]` (`name`, `role`, `document_type`, `document_number`, and the representative's `representative_name`, `representative_document_type`, `representative_document_number`), `party_document_numbers[]`, `file_name`, `registered_at`, `modified_at`, `text_status` (`ok`, `scanned` or `missing`), `document_url` (Croma's copy of the act's PDF, byte for byte as the Superintendencia published it), `source_document_url` (always null: the Superintendencia offers no permanent link to the document) and `document_bytes`.

<Note>
  Search results leave out the text; `query` still matches it. Read the text itself with the SIC Act endpoint.
</Note>

## One act, in full

`POST /co/sic-actos/act/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

| Field    | Type    | Notes                                                                                                      |
| -------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `act_id` | string  | **Required.** The act's `id` from a search result, e.g. `2681688`.                                         |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit`  | integer | How many characters of the text to return. Most acts fit in one response. Default `200000`.                |

```bash theme={"dark"}
curl https://api.croma.run/co/sic-actos/act/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "act_id": "2681688" }'
```

Returns `as_of`, `found`, `act_id` and `act`, which carries everything the search returns plus `content`: a window onto the act's full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the act's permanent number in the register), `act_id`, `type` (`resolution`, `judgment` or `other`) and `type_label`, `number`, `issued_at`, `office` (the office that issued it), `case_number` (the radicado, e.g. `24-449511`), `decisions[]` (`class`, `name`, `act_type`: what the act decides, as the Superintendencia classifies it), `parties[]` (`name`, `role`, `document_type`, `document_number`, and the representative's `representative_name`, `representative_document_type`, `representative_document_number`), `party_document_numbers[]`, `file_name`, `registered_at`, `modified_at`, `text_status` (`ok`, `scanned` or `missing`), `document_url` (Croma's copy of the act's PDF, byte for byte as the Superintendencia published it), `source_document_url` (always null: the Superintendencia offers no permanent link to the document) and `document_bytes`.

<Note>
  An `id` the register does not hold returns `found: false` with HTTP 200, not an error.
</Note>

<Card title="Full reference" icon="code" href="/api-reference/overview">
  Schemas, all response fields, and an interactive playground.
</Card>
