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

# Ley Chile

> As leis, códigos, decretos-leis, decretos com força de lei, autos acordados, tratados e decretos supremos do Chile da Ley Chile: busque-os, leia qualquer um artigo por artigo com seu histórico de versões, e busque dentro do texto de cada artigo.

A Ley Chile é a base de dados da legislação chilena da Biblioteca del Congreso Nacional do Chile, com o texto consolidado de cada norma atualizado à medida que outras a modificam. A Croma mantém as leis e códigos do Chile, os decretos com força de lei (DFL), os decretos-leis (DL), os autos acordados dos tribunais, os tratados e os decretos supremos: cada um com sua identificação, datas de publicação e promulgação, situação (em vigor ou revogada), órgãos emissores, matérias e o resumo da BCN, cada versão do seu texto com as normas que a produziram, seu texto em vigor parte por parte, e o PDF e o XML da BCN de cada versão, conservados pela Croma.

Busque normas por tipo, número, ano, data, situação ou a norma que as modificou, ou com texto livre sobre seus nomes, títulos e resumos; leia uma norma completa, artigo por artigo; ou busque dentro do texto de cada artigo.

> [!NOTE]
>
> A fonte inteira, organizada e pronta para consultar: cada endpoint desta página responde em milissegundos. Cada resposta traz `as_of`: o quão atuais são os dados. [Como funcionam os datasets](https://docs.usecroma.com/pt/datasets.md).

## Buscar normas

`POST /cl/leychile/norms-search/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

Uma única busca sobre todas as leis, códigos, DFL, DL, autos acordados, tratados e decretos supremos que a Croma mantém da Ley Chile.

| Campo | Tipo | Notas |
| - | - | - |
| `query` | string | Palavras opcionais em espanhol buscadas no nome, no número, no título, nos nomes de uso comum, nas matérias e no resumo, p. ex. `protección de datos personales` ou `código del trabajo`. Todas as palavras devem aparecer. |
| `type` | enum | Tipo opcional: `ley`, `codigo`, `dfl`, `dl`, `auto_acordado`, `tratado` ou `decreto` (decretos supremos). |
| `number` | string | Número opcional, p. ex. `21450` para a Ley 21.450. Pontos são ignorados. Adicione `type` para identificar uma só norma. |
| `year` | integer | Ano de publicação opcional. 0 busca em todos os anos. Por padrão `0`. |
| `from_date` | string | Opcional: só normas publicadas nesta data ou depois, `yyyy-mm-dd`. |
| `to_date` | string | Opcional: só normas publicadas nesta data ou antes, `yyyy-mm-dd`. |
| `status` | enum | Opcional: `in_force` (em vigor) ou `repealed` (revogada). |
| `modified_by` | string | `norm_id` opcional de uma norma modificadora, p. ex. `1219906`: só as normas que ela modificou. |
| `page` | integer | Número da página, começa em 1. Por padrão `1`. |
| `per_page` | integer | Resultados por página (1-50). Por padrão `20`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/leychile/norms-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "protección de datos personales", "type": "ley" }'
```

Retorna `as_of` (o quão atuais são os dados), os filtros aplicados, `total` e `total_is_exact`, `page`, `per_page`, `total_pages`, `count` e `results[]`: primeiro as que melhor correspondem quando há `query`, senão da publicada mais recentemente à mais antiga. Cada resultado traz `norm_id` (o id permanente da BCN, p. ex. `1176603`), `name` (p. ex. `Ley 21450`), `type`, `number`, `title`, `common_names`, `issuing_bodies`, `publication_date`, `promulgation_date`, `year`, `current_version_date` (desde quando vigora o texto em vigor hoje) e `version_kind`, `repealed` e `repeal_date`, `treaty`, `subjects`, `summary`, `categories`, `gazette`, `gazette_number` e `cve` (o código de verificação do Diario Oficial), `version_count`, `article_count`, `official_url` (a página da norma na Ley Chile), `source_document_url`, e `document_url` e `xml_url` (as cópias da Croma do PDF e do XML da BCN da versão em vigor). Os campos que a BCN não indica vêm como null.

> [!NOTE]
>
> Os resultados da busca não incluem o texto, as versões nem o histórico de documentos; o endpoint Ley Chile Norm os retorna.

> [!NOTE]
>
> A Croma lê as normas novas todos os dias, e as normas que elas modificam até a BCN publicar o novo texto consolidado, e revisa a coleção inteira uma vez por mês.

## Uma norma, completa

`POST /cl/leychile/norm/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

| Campo | Tipo | Notas |
| - | - | - |
| `norm_id` | string | **Obrigatório.** O `norm_id` da norma retornado pela busca, p. ex. `1176603`, sua `official_url`, ou seu tipo e número, p. ex. `Ley 21450`, `DFL 1`, `Decreto 100`. Um tipo e número que várias normas compartilham retorna a mais recente. |
| `offset` | integer | Posição da primeira parte do texto a retornar (0 é o cabeçalho). Envie o `next_offset` da resposta anterior para continuar lendo. Por padrão `0`. |
| `limit` | integer | Quantas partes retornar (1-500). A maioria das leis cabe em uma resposta; um código exige várias. Por padrão `100`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/leychile/norm/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "norm_id": "Ley 21450" }'
```

Retorna `as_of`, `found`, `norm_id` e `norm`, que traz tudo o que a busca retorna mais `versions` (cada versão do texto, da mais recente à mais antiga, com seu `kind`, `from_date`, `to_date`, `url` e `modified_by`: as normas cujas mudanças produziram a versão seguinte, com seu `norm_id`, `type`, `number`, `title`, `change`, `publication_date` e `effective_date`), `modified_by_ids`, `document_versions` (cada PDF e XML que a Croma guardou, com `version_date`, `document_url`, `xml_url` e `bytes`), `modifies` (as normas cujo histórico de versões a registra como modificadora) e `articles`, um trecho das partes do texto em vigor com `offset`, `has_more` e `next_offset`. Cada resultado traz `norm_id` (o id permanente da BCN, p. ex. `1176603`), `name` (p. ex. `Ley 21450`), `type`, `number`, `title`, `common_names`, `issuing_bodies`, `publication_date`, `promulgation_date`, `year`, `current_version_date` (desde quando vigora o texto em vigor hoje) e `version_kind`, `repealed` e `repeal_date`, `treaty`, `subjects`, `summary`, `categories`, `gazette`, `gazette_number` e `cve` (o código de verificação do Diario Oficial), `version_count`, `article_count`, `official_url` (a página da norma na Ley Chile), `source_document_url`, e `document_url` e `xml_url` (as cópias da Croma do PDF e do XML da BCN da versão em vigor). Os campos que a BCN não indica vêm como null. Cada parte traz `norm_id`, `norm_name`, `norm_type`, `part_id` (o id da BCN para a parte, estável entre versões), `position` (seu lugar no texto, 0 para o cabeçalho), `level` e `parent_part_id` (o capítulo ou título que a contém), `kind` (`Artículo`, `Capítulo`, `Título`, `Disposición Transitoria`, `Anexo`, `Encabezado`, `Promulgación`...), `name` (p. ex. `1` para o Artigo 1), `heading`, `text`, `transitory`, `repealed` e `version_date` (a versão de onde vem seu texto).

> [!NOTE]
>
> As normas longas são lidas por trechos de partes: envie `offset` e `limit`, depois passe `next_offset` como `offset` até que `has_more` seja falso.

> [!NOTE]
>
> Uma norma que a Croma não tem retorna `found: false` com HTTP 200, não um erro.

## Buscar dentro dos artigos

`POST /cl/leychile/articles-search/v1` [Dataset](https://docs.usecroma.com/pt/datasets.md)

Encontre o artigo que diz algo, em todas as normas ou dentro de uma.

| Campo | Tipo | Notas |
| - | - | - |
| `query` | string | Palavras opcionais em espanhol buscadas no texto e no título de cada parte, p. ex. `indemnización por años de servicio`. Todas as palavras devem aparecer. |
| `norm_id` | string | `norm_id` opcional, p. ex. `207436`: só as partes dessa norma, na ordem do seu texto quando não há `query`. |
| `page` | integer | Número da página, começa em 1. Por padrão `1`. |
| `per_page` | integer | Resultados por página (1-50). Por padrão `20`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/leychile/articles-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "indemnización por años de servicio" }'
```

Retorna `as_of`, `query`, `norm_id`, `total` e `total_is_exact`, `page`, `per_page`, `total_pages`, `count` e `results[]`: primeiro as que melhor correspondem quando há `query`, senão na ordem do texto. Cada parte traz `norm_id`, `norm_name`, `norm_type`, `part_id` (o id da BCN para a parte, estável entre versões), `position` (seu lugar no texto, 0 para o cabeçalho), `level` e `parent_part_id` (o capítulo ou título que a contém), `kind` (`Artículo`, `Capítulo`, `Título`, `Disposición Transitoria`, `Anexo`, `Encabezado`, `Promulgación`...), `name` (p. ex. `1` para o Artigo 1), `heading`, `text`, `transitory`, `repealed` e `version_date` (a versão de onde vem seu texto).

> **[Referência completa](https://docs.usecroma.com/pt/api-reference/overview.md)**
>
> Esquemas, todos os campos de resposta e um playground interativo.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.