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

> Busca en todas las resoluciones que el Tribunal Constitucional del Perú ha publicado desde 1996, sentencias, autos y sentencias interlocutorias, y lee el texto completo de cualquiera.

El Tribunal Constitucional del Perú ha publicado más de 150.000 resoluciones desde 1996: sentencias, autos y sentencias interlocutorias en procesos de amparo, hábeas corpus, hábeas data, cumplimiento, inconstitucionalidad y competenciales. Cada una llega aquí con su texto completo, el expediente, el tipo de proceso, la sala, la fecha de publicación y un enlace al documento en el sitio del Tribunal.

Busca en todas a la vez, por tipo de resolución, tipo de proceso, sala, expediente, año o fecha, o con texto libre que llega hasta el cuerpo de cada resolución.

<Note>
  La fuente entera, organizada y lista para consultar: cada endpoint de esta página responde en milisegundos. Cada respuesta incluye `as_of`: qué tan actualizados están los datos. [Cómo funcionan los datasets](/es/datasets).
</Note>

## Buscar resoluciones

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

Una sola búsqueda sobre el texto completo de todas las resoluciones desde 1996, filtrada por tipo, proceso, sala, expediente, año o fecha.

| Campo                 | Tipo    | Notas                                                                                                                                                                                              |
| --------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`               | string  | Palabras opcionales que se buscan en el expediente, el número de la resolución y el texto completo.                                                                                                |
| `type`                | enum    | Tipo de resolución opcional: `sentencia`, `auto` (autos y decretos) o `sentencia_interlocutoria`.                                                                                                  |
| `proceeding_type`     | string  | Tipo de proceso opcional, por código o nombre: `AA` (amparo), `HC` (hábeas corpus), `HD` (hábeas data), `AC` (cumplimiento), `AI` o `PI` (inconstitucionalidad), `CC` (competencial), `Q` (queja). |
| `chamber`             | string  | Sala opcional: `Pleno`, `Sala Primera` o `Sala Segunda`. No importan mayúsculas ni tildes.                                                                                                         |
| `registration_number` | string  | Expediente opcional, como lo escribe el Tribunal, p. ej. `05005-2025-HC`. Devuelve todos los documentos de ese expediente. No importan mayúsculas ni espacios.                                     |
| `year`                | integer | Año de publicación opcional. 0 busca en todos los años. Por defecto `0`.                                                                                                                           |
| `from_date`           | string  | Opcional: solo resoluciones publicadas en esta fecha o después, `yyyy-mm-dd`.                                                                                                                      |
| `to_date`             | string  | Opcional: solo resoluciones publicadas en esta fecha o antes, `yyyy-mm-dd`.                                                                                                                        |
| `page`                | integer | Número de página, empieza en 1. Por defecto `1`.                                                                                                                                                   |
| `per_page`            | integer | Resultados por página (1-50). Por defecto `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" }'
```

Devuelve `as_of` (qué tan actualizados están los datos), los filtros aplicados, `total` (coincidencias en todas las páginas), `page`, `per_page`, `total_pages`, `count` y `results[]`, de la publicación más reciente a la más antigua. Cada resultado incluye `id` (el identificador permanente del documento, p. ej. `2026/05005-2025-HC.pdf`), `registration_number` (el expediente), `proceeding_type_code` y `proceeding_type` (p. ej. `HC`, `Hábeas corpus`), `type` (`sentencia`, `auto` o `sentencia_interlocutoria`), `number` (el número de una sentencia, p. ej. `181/2026`), `publication_date`, `year`, `chamber` (`Pleno`, `Sala Primera` o `Sala Segunda`), `judicial_district`, `case_id`, `text_status` (`ok`, `scanned` o `missing`), `official_url` (el documento en el sitio del Tribunal) y `case_url` (la página del expediente allí).

<Note>
  Los resultados de búsqueda no incluyen el texto: una sola resolución puede tener cientos de miles de caracteres. `query` sí busca dentro de él, así que una frase del cuerpo encuentra la resolución; para leer el texto usa el endpoint Tribunal Constitucional Ruling.
</Note>

## Una resolución, completa

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

| Campo       | Tipo    | Notas                                                                                                                       |
| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------------- |
| `ruling_id` | string  | **Obligatorio.** El `id` de la resolución que devuelve la búsqueda, p. ej. `2026/05005-2025-HC.pdf`, o su `official_url`.   |
| `offset`    | integer | Primer carácter del texto a devolver. Envía el `next_offset` de la respuesta anterior para seguir leyendo. Por defecto `0`. |
| `limit`     | integer | Cuántos caracteres del texto devolver. La mayoría de las resoluciones caben en una sola respuesta. Por defecto `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" }'
```

Devuelve `as_of`, `found`, `ruling_id` y `ruling`, que trae todo lo que devuelve la búsqueda más `content`: una ventana sobre el texto completo de la resolución, con `text`, `offset`, `total_length`, `has_more` y `next_offset`. Cada resultado incluye `id` (el identificador permanente del documento, p. ej. `2026/05005-2025-HC.pdf`), `registration_number` (el expediente), `proceeding_type_code` y `proceeding_type` (p. ej. `HC`, `Hábeas corpus`), `type` (`sentencia`, `auto` o `sentencia_interlocutoria`), `number` (el número de una sentencia, p. ej. `181/2026`), `publication_date`, `year`, `chamber` (`Pleno`, `Sala Primera` o `Sala Segunda`), `judicial_district`, `case_id`, `text_status` (`ok`, `scanned` o `missing`), `official_url` (el documento en el sitio del Tribunal) y `case_url` (la página del expediente allí).

<Note>
  Las resoluciones largas se leen por rangos: envía `offset` y `limit`, y luego pasa el `next_offset` de la respuesta como `offset` hasta que `has_more` sea falso. `content` es null cuando `text_status` es `scanned` (el Tribunal publicó la resolución como imagen) o `missing`; `official_url` sigue enlazando el documento.
</Note>

<Note>
  Un `id` que el Tribunal no ha publicado devuelve `found: false` con HTTP 200, no un error.
</Note>

<Card title="Referencia completa" icon="code" href="/es/api-reference/overview">
  Esquemas, todos los campos de respuesta y un playground interactivo.
</Card>
