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

# Planalto (legislação federal)

> Busque na legislação federal brasileira como a Presidência da República a publica (a Constituição e suas emendas, e cada lei complementar, lei ordinária, lei delegada, decreto-lei, decreto e medida provisória), e leia o texto vigente de qualquer ato, inteiro ou artigo por artigo, com os atos posteriores que o alteraram.

A Presidência da República publica a legislação federal brasileira no site do
Planalto: cada ato como foi assinado e, para os alterados depois, um texto
compilado sem a redação substituída e com cada alteração anotada onde foi
feita. Aqui estão cerca de 55.000 atos, atualizados diariamente: a Constituição
de 1988 e suas emendas, e cada lei complementar, lei ordinária, lei delegada,
decreto-lei, decreto e medida provisória desde o século XIX.

Busque por espécie, número, ano, data ou qualquer palavra do texto, e depois
leia um ato inteiro ou um único artigo. Cada ato vem com os atos posteriores
que suas notas registram como alterações, acréscimos ou revogações, artigo por
artigo, e a consulta lista por sua vez os atos anteriores que ele alterou. Uma
medida provisória traz também sua situação: em tramitação, convertida em lei
(e em qual), com vigência encerrada, rejeitada ou revogada.

<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](/pt/datasets).
</Note>

## Buscar atos federais

`POST /br/planalto/laws-search/v1` <a className="dataset-pill" href="/pt/datasets">Dataset</a>

Encontra atos por espécie, número, ano, data ou palavras do texto.

| Campo            | Tipo    | Notas                                                                                                                                                                                                             |
| ---------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`          | string  | Opcional. Palavras buscadas no nome do ato, na ementa e no texto completo, p. ex. `usucapião extrajudicial`.                                                                                                      |
| `type`           | enum    | Opcional. `constitution`, `constitutional_amendment`, `complementary_law`, `ordinary_law`, `delegated_law`, `decree_law`, `decree` ou `provisional_measure`.                                                      |
| `measure_status` | enum    | Opcional. Só medidas provisórias nesta situação: `pending`, `converted`, `lapsed`, `rejected`, `prejudiced` ou `revoked`.                                                                                         |
| `number`         | string  | Opcional. O número do ato, com ou sem ponto de milhar: `13105` e `13.105` são o mesmo ato.                                                                                                                        |
| `year`           | integer | Opcional. O ano em que o ato foi assinado. Dois atos da mesma espécie podem ter o mesmo número (as leis mais antigas voltaram a ser numeradas a partir de 1 nos anos 1940), e o ano os distingue. Por padrão `0`. |
| `from_date`      | string  | Opcional. Só atos assinados nesta data ou depois, `yyyy-mm-dd`.                                                                                                                                                   |
| `to_date`        | string  | Opcional. Só atos assinados nesta data ou antes, `yyyy-mm-dd`.                                                                                                                                                    |
| `page`           | integer | Opcional. Página, a partir de 1. Por padrão `1`.                                                                                                                                                                  |
| `per_page`       | integer | Opcional. Resultados por página, 1-50. Por padrão `20`.                                                                                                                                                           |

```bash theme={"dark"}
curl https://api.croma.run/br/planalto/laws-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "type": "ordinary_law", "number": "13105" }'
```

Retorna `as_of` (o quão atuais são os dados), os filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` e `results[]`, do assinado mais recentemente ao mais antigo. Cada ato traz `id`, `type` e `type_label` (a espécie, como o direito brasileiro a nomeia), `number`, `year`, `name` (a citação completa), `summary` (a ementa), `signed_on`, `published_on` (no Diário Oficial da União), `revoked` e `revoked_by`, `amended_by[]` (os atos posteriores cujas alterações o texto registra, cada um com `law_id`, `name`, `changes[]` e os `articles[]` que alterou), `official_url`, `consolidated_url`, `veto_message_url` e, para uma medida provisória, `measure_status` (`pending`, `converted`, `lapsed`, `rejected`, `prejudiced` ou `revoked`), `measure_status_note` (a redação da Presidência) e `converted_into` (a lei em que se converteu).

<Note>
  Os resultados não incluem o texto: os códigos e a Constituição têm centenas
  de milhares de caracteres. `query` busca dentro dele, então uma frase de um
  artigo encontra o ato. Para ir direto a um ato, filtre por `type` e
  `number`: uma busca pelo nome de um código também encontra cada ato
  posterior que o cita, do mais recente ao mais antigo.
</Note>

## Um ato, completo

`POST /br/planalto/law/v1` <a className="dataset-pill" href="/pt/datasets">Dataset</a>

Retorna um ato pelo id, ou um de seus artigos.

| Campo     | Tipo    | Notas                                                                                                                                                                                                                       |
| --------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `law_id`  | string  | **Obrigatório.** O `id` do ato, como a busca o retorna, p. ex. `lei-13105-2015` para o Código de Processo Civil ou `cf-1988` para a Constituição. O `law_id` dentro do `amended_by[]` de outro ato é o mesmo identificador. |
| `article` | string  | Opcional. O número de um artigo, p. ex. `12`, `1.029` ou `8-A`: `content` traz então só esse artigo, até o próximo artigo ou título.                                                                                        |
| `offset`  | integer | Opcional. Primeiro caractere do texto a retornar. Envie o `next_offset` da resposta anterior para continuar lendo. Por padrão `0`.                                                                                          |
| `limit`   | integer | Opcional. Quantos caracteres retornar. A maioria dos atos cabe em uma resposta; a Constituição e os códigos não. Por padrão `200000`.                                                                                       |

```bash theme={"dark"}
curl https://api.croma.run/br/planalto/law/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "law_id": "lei-13105-2015", "article": "1.029" }'
```

Retorna `as_of`, `found`, `law_id`, `article` e `article_found` (quando um artigo foi pedido) e `law`, que traz tudo o que a busca retorna mais `amends[]` (os atos anteriores que este alterou, com os `articles[]` que alterou em cada um) e `content`: uma janela sobre o texto, com `text`, `offset`, `total_length`, `has_more` e `next_offset`. Cada ato traz `id`, `type` e `type_label` (a espécie, como o direito brasileiro a nomeia), `number`, `year`, `name` (a citação completa), `summary` (a ementa), `signed_on`, `published_on` (no Diário Oficial da União), `revoked` e `revoked_by`, `amended_by[]` (os atos posteriores cujas alterações o texto registra, cada um com `law_id`, `name`, `changes[]` e os `articles[]` que alterou), `official_url`, `consolidated_url`, `veto_message_url` e, para uma medida provisória, `measure_status` (`pending`, `converted`, `lapsed`, `rejected`, `prejudiced` ou `revoked`), `measure_status_note` (a redação da Presidência) e `converted_into` (a lei em que se converteu).

<Note>
  O texto é o ato como vigora hoje: a redação substituída é omitida e cada
  dispositivo alterado mantém sua nota, p. ex. "(Redação dada pela Lei nº
  13.256, de 2016)". É a compilação da Presidência; o texto oficial é o
  publicado no Diário Oficial da União. Os atos mais longos passam de um milhão
  de caracteres, então envie `article` para um único artigo, ou leia o texto por
  intervalos: passe `next_offset` como `offset` até que `has_more` seja falso.
</Note>

<Note>
  O texto de um ato revogado é o que dele continua em vigor, muitas vezes só o
  título e a nota que o revogou. O Código de Processo Civil de 1973, revogado em
  2015, mantém apenas os artigos sobre insolvência que o novo código preservou. A medida provisória é a exceção: quando perde a
  vigência ou vira lei a Presidência a risca por inteiro, então seu texto é
  mantido como foi editado.
</Note>

<Note>
  Um id que a Croma não tem retorna `found: false` com HTTP 200, não um erro.
  Isso inclui um id do `amended_by[]` de outro ato que esta fonte não tem: uma
  edição anterior de uma medida provisória de antes de 2001 (só a última é
  mantida) ou um decreto sem número.
</Note>

<Card title="Referência completa" icon="code" href="/pt/api-reference/overview">
  Esquemas, todos os campos de resposta e um playground interativo.
</Card>
