> ## 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 Supremo de Justicia

> Busca en la jurisprudencia del Tribunal Supremo de Justicia de Bolivia, unos 90.000 autos supremos, sentencias y resoluciones de sus salas desde 2001, con las líneas jurisprudenciales del Tribunal; lee cualquiera completa.

El Tribunal Supremo de Justicia es el máximo tribunal de la jurisdicción ordinaria de Bolivia. Sus salas (Civil, Penal, Social, Contenciosa y Contenciosa Administrativa, la Sala Plena y las salas liquidadoras que cerraron la carga de la antigua Corte) han publicado unas 90.000 resoluciones desde 2001. Cada una llega aquí con su texto completo, los números de resolución y de expediente, la sala, el tipo de resolución y la forma en que se resolvió, la materia, el departamento de origen, el magistrado relator, las líneas jurisprudenciales que el Tribunal extrajo de ella (descriptor, restrictor, ratio decidendi, máxima, síntesis y precedente), el documento tal como lo publicó el Tribunal y un enlace a la resolución en el sitio del Tribunal.

Busca en todas a la vez, por sala, tipo de resolución, materia, forma de resolución, número de resolución o de expediente, magistrado relator, departamento, año o fecha, o con texto libre que llega a las líneas jurisprudenciales y al cuerpo de cada resolución. Cada sala numera sus resoluciones desde uno cada año, así que un número puede pertenecer a varias salas; `id` identifica una sola 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 /bo/tsj-bo/rulings-search/v1` <a className="dataset-pill" href="/es/datasets">Dataset</a>

Una sola búsqueda sobre el texto completo y las líneas jurisprudenciales de todas las resoluciones desde 2001, filtrada por sala, tipo de resolución, materia, forma de resolución, número, magistrado relator, departamento, año o fecha.

| Campo | Tipo | Notas |
| - | - | - |
| `query` | string | Palabras opcionales que se buscan en los números de resolución y de expediente, la sala, la materia, la forma de resolución, las líneas jurisprudenciales y el texto completo. |
| `chamber` | string | Sala opcional como la nombra `chamber`, p. ej. `Sala Civil`, `Sala Penal`, `Sala Plena` o `Sala Social`, comparado desde el inicio. No importan mayúsculas ni tildes. |
| `type` | enum | Tipo de resolución opcional: `auto_supremo`, `sentencia` o `resolucion`. |
| `subject` | string | Materia opcional como la nombra `subject`, p. ej. `Civil`, `Penal`, `Familia`, `Social`, `Agrario`, comparada desde el inicio. No importan mayúsculas ni tildes. |
| `outcome` | string | Forma de resolución opcional como la nombra `outcome`, p. ej. `Infundado`, `Casa`, `Improcedente`, `Anula`, comparada desde el inicio. No importan mayúsculas ni tildes. |
| `registration_number` | string | Número de resolución opcional, como lo imprime el Tribunal, p. ej. `AS/0001/2013` o `SE/0001/2023`. Cada sala numera sus propias resoluciones, así que un número puede devolver varias; agrega `chamber` para acotarlo. No importan mayúsculas, espacios ni signos. |
| `case_number` | string | Número de expediente opcional, como lo imprime el Tribunal. No importan mayúsculas, espacios ni signos. |
| `reporting_judge` | string | Magistrado relator opcional como lo nombra `reporting_judge`, comparado desde el inicio. No importan mayúsculas ni tildes. |
| `department` | string | Departamento de origen opcional, p. ej. `La Paz`, `Santa Cruz`, `Chuquisaca`, comparado desde el inicio. No importan mayúsculas ni tildes. |
| `year` | integer | Año de la resolución opcional. 0 busca en todos los años. Por defecto `0`. |
| `from_date` | string | Opcional: solo resoluciones dictadas en esta fecha o después, `yyyy-mm-dd`. |
| `to_date` | string | Opcional: solo resoluciones dictadas 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/bo/tsj-bo/rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "query": "nulidad de contrato",
        "chamber": "Sala Civil",
        "type": "auto_supremo"
      }'
```

Devuelve `as_of` (qué tan actualizados están los datos), los filtros aplicados, `total` y `total_is_exact`, `page`, `per_page`, `total_pages`, `count` y `results[]`, de la resolución más reciente a la más antigua. Cada resultado incluye `id` (el número permanente de la resolución, p. ej. `11378`), `registration_number` (el número de la resolución, p. ej. `AS/0001/2010`), `case_number` (el expediente), `ruling_date`, `year`, `chamber` (la sala), `type` (`auto_supremo`, `sentencia` o `resolucion`) con `type_label` y `subtype`, `outcome` (la forma de resolución, p. ej. `Infundado`, `Casa`), `subject` (la materia), `proceeding`, `department`, `reporting_judge` (el magistrado relator), `jurisprudence` (las líneas jurisprudenciales del Tribunal, cada una con `kind`, `descriptor`, `restrictor`, `ratio_decidendi`, `maxim`, `summary` y `precedent`), `descriptors`, `text_status` (`ok`, `scanned` o `missing`), `document_kind` (`scan`, `rendering` o `none`), `official_url` (la página de la resolución en el sitio del Tribunal), `document_url` (la copia de Croma del documento, idéntica byte a byte a la que entregó el Tribunal, que sigue disponible pase lo que pase con el enlace del Tribunal) y `source_document_url` (donde el Tribunal publica el documento: el enlace del escaneo, o la página de la resolución). Los campos que el Tribunal deja vacíos vienen en null o como listas vacías; nunca se incluyen nombres de las partes.

<Note>
  Los resultados de búsqueda no incluyen el texto. `query` sí busca dentro de él, así que una frase del cuerpo encuentra la resolución; para leer el texto usa el endpoint Tribunal Supremo de Justicia de Bolivia Ruling.
</Note>

## Una resolución, completa

`POST /bo/tsj-bo/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. `11378`, 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/bo/tsj-bo/ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "11378" }'
```

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 número permanente de la resolución, p. ej. `11378`), `registration_number` (el número de la resolución, p. ej. `AS/0001/2010`), `case_number` (el expediente), `ruling_date`, `year`, `chamber` (la sala), `type` (`auto_supremo`, `sentencia` o `resolucion`) con `type_label` y `subtype`, `outcome` (la forma de resolución, p. ej. `Infundado`, `Casa`), `subject` (la materia), `proceeding`, `department`, `reporting_judge` (el magistrado relator), `jurisprudence` (las líneas jurisprudenciales del Tribunal, cada una con `kind`, `descriptor`, `restrictor`, `ratio_decidendi`, `maxim`, `summary` y `precedent`), `descriptors`, `text_status` (`ok`, `scanned` o `missing`), `document_kind` (`scan`, `rendering` o `none`), `official_url` (la página de la resolución en el sitio del Tribunal), `document_url` (la copia de Croma del documento, idéntica byte a byte a la que entregó el Tribunal, que sigue disponible pase lo que pase con el enlace del Tribunal) y `source_document_url` (donde el Tribunal publica el documento: el enlace del escaneo, o la página de la resolución). Los campos que el Tribunal deja vacíos vienen en null o como listas vacías; nunca se incluyen nombres de las partes.

<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` no es `ok`; `document_url` sigue entregando el documento cuando el Tribunal publicó uno.
</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>


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