> ## 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.

# ANM

> Search every notice Colombia's mining authority has published since 2020 by placa, office, kind or date, and read any one's full text.

The Agencia Nacional de Minería (ANM) administers Colombia's mining titles and applications. When it cannot notify a decision in person, it publishes a notice: an estado, an aviso, an edicto or a notice of general character, each listing the placas (mining title or application numbers) it concerns.

There are about 19,000 of them since May 2020, from the headquarters in Bogotá and eleven regional offices. Search them by placa, office, kind or publication date, or with free text that reaches into the body of every notice, then read one in full.

<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 notices

`POST /co/anm/notices-search/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

One search over every notice since May 2020, by placa, office, kind or date, or with free text over the full text.

| Field          | Type    | Notes                                                                                                                                                            |
| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`        | string  | Optional words matched against the notice number and the full text.                                                                                              |
| `title_number` | string  | Optional placa (mining title or application number), e.g. `ABC-12345`. Exact match; case and spaces are ignored.                                                 |
| `office`       | enum    | Optional regional office: `bogota`, `bucaramanga`, `ibague`, `pasto`, `cali`, `cartagena`, `cucuta`, `manizales`, `medellin`, `nobsa`, `quibdo` or `valledupar`. |
| `type`         | enum    | Optional kind of notice: `estado`, `aviso`, `edicto` or `caracter_general`.                                                                                      |
| `year`         | integer | Optional year of publication. 0 searches every year. Default `0`.                                                                                                |
| `from_date`    | string  | Optional: only notices published on or after this date, `yyyy-mm-dd`.                                                                                            |
| `to_date`      | string  | Optional: only notices published 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/anm/notices-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "office": "bogota", "type": "estado" }'
```

Returns `as_of` (how current the data is), the applied filters, `total` (matches across every page), `page`, `per_page`, `total_pages`, `count` and `results[]`, most recently published first. Every result carries `id` (the notice's permanent identifier, e.g. `GGDN-2026-P-0378.pdf`), `notice_number` (e.g. `GGDN-2026-EST-165`), `type` (`estado`, `aviso`, `edicto` or `caracter_general`), `office` (the regional office, e.g. `Bogotá`), `publication_date`, `year`, `title_numbers` (every placa the notice covers), `text_status` (`extracted`, `no_text_layer` or `unavailable`) and `document_url` (the notice's document as the ANM publishes it).

<Note>
  Search results leave out the text. `query` still matches against it, so a phrase from the body finds the notice; read the text itself with the ANM Notice endpoint.
</Note>

## One notice, in full

`POST /co/anm/notice/v1` <a className="dataset-pill" href="/datasets">Dataset</a>

| Field       | Type    | Notes                                                                                                      |
| ----------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `notice_id` | string  | **Required.** The notice's `id` from a search result, e.g. `GGDN-2026-P-0378.pdf`, or its `document_url`.  |
| `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 notices fit in one response. Default `200000`.             |

```bash theme={"dark"}
curl https://api.croma.run/co/anm/notice/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "notice_id": "GGDN-2026-P-0378.pdf" }'
```

Returns `as_of`, `found`, `notice_id` and `notice`, which carries everything the search returns plus `content`: a window onto the notice's full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the notice's permanent identifier, e.g. `GGDN-2026-P-0378.pdf`), `notice_number` (e.g. `GGDN-2026-EST-165`), `type` (`estado`, `aviso`, `edicto` or `caracter_general`), `office` (the regional office, e.g. `Bogotá`), `publication_date`, `year`, `title_numbers` (every placa the notice covers), `text_status` (`extracted`, `no_text_layer` or `unavailable`) and `document_url` (the notice's document as the ANM publishes it).

<Note>
  `content` is null when `text_status` is `no_text_layer` (the ANM published the notice as an image) or `unavailable`; `document_url` still links the document.
</Note>

<Note>
  An `id` the ANM has not published 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>
