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

# Tribunal Constitucional

> Busque em todas as resoluções que o Tribunal Constitucional do Peru publicou desde 1996, sentenças, autos e sentenças interlocutórias, e leia o texto completo de qualquer uma.

O Tribunal Constitucional do Peru publicou mais de 150.000 resoluções desde 1996: sentenças, autos e sentenças interlocutórias em processos de amparo, hábeas corpus, hábeas data, cumprimento, inconstitucionalidade e competência. Cada uma chega aqui com seu texto completo, o expediente, o tipo de processo, a sala, a data de publicação e um link para o documento no site do Tribunal.

Busque em todas de uma vez, por tipo de resolução, tipo de processo, sala, expediente, ano ou data, ou com texto livre que alcança o corpo de cada resolução.

<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 resoluções

`POST /pe/tribunal-constitucional/rulings-search/v1` <a className="dataset-pill" href="/pt/datasets">Dataset</a>

Uma única busca sobre o texto completo de todas as resoluções desde 1996, filtrada por tipo, processo, sala, expediente, ano ou data.

| Campo                 | Tipo    | Notas                                                                                                                                                                                               |
| --------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`               | string  | Palavras opcionais buscadas no expediente, no número da resolução e no texto completo.                                                                                                              |
| `type`                | enum    | Tipo de resolução opcional: `sentencia`, `auto` (autos e decretos) ou `sentencia_interlocutoria`.                                                                                                   |
| `proceeding_type`     | string  | Tipo de processo opcional, por código ou nome: `AA` (amparo), `HC` (hábeas corpus), `HD` (hábeas data), `AC` (cumprimento), `AI` ou `PI` (inconstitucionalidade), `CC` (competência), `Q` (queixa). |
| `chamber`             | string  | Sala opcional: `Pleno`, `Sala Primera` ou `Sala Segunda`. Maiúsculas e acentos são ignorados.                                                                                                       |
| `registration_number` | string  | Expediente opcional, como o Tribunal o escreve, p. ex. `05005-2025-HC`. Retorna todos os documentos desse expediente. Maiúsculas e espaços são ignorados.                                           |
| `year`                | integer | Ano de publicação opcional. 0 busca em todos os anos. Por padrão `0`.                                                                                                                               |
| `from_date`           | string  | Opcional: só resoluções publicadas nesta data ou depois, `yyyy-mm-dd`.                                                                                                                              |
| `to_date`             | string  | Opcional: só resoluções publicadas nesta data ou antes, `yyyy-mm-dd`.                                                                                                                               |
| `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/pe/tribunal-constitucional/rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "debido proceso", "proceeding_type": "HC" }'
```

Retorna `as_of` (o quão atuais são os dados), os filtros aplicados, `total` (correspondências em todas as páginas), `page`, `per_page`, `total_pages`, `count` e `results[]`, da publicação mais recente à mais antiga. Cada resultado traz `id` (o identificador permanente do documento, p. ex. `2026/05005-2025-HC.pdf`), `registration_number` (o expediente), `proceeding_type_code` e `proceeding_type` (p. ex. `HC`, `Hábeas corpus`), `type` (`sentencia`, `auto` ou `sentencia_interlocutoria`), `number` (o número de uma sentença, p. ex. `181/2026`), `publication_date`, `year`, `chamber` (`Pleno`, `Sala Primera` ou `Sala Segunda`), `judicial_district`, `case_id`, `text_status` (`ok`, `scanned` ou `missing`), `official_url` (o documento no site do Tribunal) e `case_url` (a página do processo lá).

<Note>
  Os resultados da busca não incluem o texto: uma única resolução pode ter centenas de milhares de caracteres. `query` busca dentro dele, então uma frase do corpo encontra a resolução; para ler o texto use o endpoint Tribunal Constitucional Ruling.
</Note>

## Uma resolução, completa

`POST /pe/tribunal-constitucional/ruling/v1` <a className="dataset-pill" href="/pt/datasets">Dataset</a>

| Campo       | Tipo    | Notas                                                                                                                    |
| ----------- | ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `ruling_id` | string  | **Obrigatório.** O `id` da resolução retornado pela busca, p. ex. `2026/05005-2025-HC.pdf`, ou sua `official_url`.       |
| `offset`    | integer | Primeiro caractere do texto a retornar. Envie o `next_offset` da resposta anterior para continuar lendo. Por padrão `0`. |
| `limit`     | integer | Quantos caracteres do texto retornar. A maioria das resoluções cabe em uma resposta. Por padrão `200000`.                |

```bash theme={"dark"}
curl https://api.croma.run/pe/tribunal-constitucional/ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "2026/05005-2025-HC.pdf" }'
```

Retorna `as_of`, `found`, `ruling_id` e `ruling`, que traz tudo o que a busca retorna mais `content`: uma janela sobre o texto completo da resolução, com `text`, `offset`, `total_length`, `has_more` e `next_offset`. Cada resultado traz `id` (o identificador permanente do documento, p. ex. `2026/05005-2025-HC.pdf`), `registration_number` (o expediente), `proceeding_type_code` e `proceeding_type` (p. ex. `HC`, `Hábeas corpus`), `type` (`sentencia`, `auto` ou `sentencia_interlocutoria`), `number` (o número de uma sentença, p. ex. `181/2026`), `publication_date`, `year`, `chamber` (`Pleno`, `Sala Primera` ou `Sala Segunda`), `judicial_district`, `case_id`, `text_status` (`ok`, `scanned` ou `missing`), `official_url` (o documento no site do Tribunal) e `case_url` (a página do processo lá).

<Note>
  As resoluções longas são lidas por intervalos: envie `offset` e `limit`, depois passe o `next_offset` da resposta como `offset` até que `has_more` seja falso. `content` é null quando `text_status` é `scanned` (o Tribunal publicou a resolução como imagem) ou `missing`; `official_url` continua apontando para o documento.
</Note>

<Note>
  Um `id` que o Tribunal não publicou retorna `found: false` com HTTP 200, não um erro.
</Note>

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