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

# Poder Judicial

> The case law of Chile's courts: search about 4.65 million rulings of the Corte Suprema, the Cortes de Apelaciones and the civil, criminal, family, labor and labor collection courts, and read any one in full.

The Poder Judicial de Chile publishes the rulings of its courts: about 4.65 million that anyone may read, across seven collections. The Corte Suprema (about 310,000 since 2005) and the 17 Cortes de Apelaciones (about 2 million since 2000) publish within a day. Five first-instance jurisdictions follow: civil (about 856,000), criminal (about 840,000), family (about 373,000), labor (about 236,000) and labor collection (about 26,000), which publish months or years after ruling, in batches.

Each ruling here comes with its case number (rol), date, court and chamber, the court the case came from, the case title, matters, kind of appeal, outcome, the judges who ruled and signed, the drafting judge, the court's descriptors, the provisions it cites, the unique case number (RUC) where recorded, and its full text. Where the court anonymizes a ruling (most family rulings, a share of the rest) the text is the anonymized one, and Croma keeps a copy of the anonymized PDF the court publishes. Names in rulings the court does not anonymize are shown as the court shows them.

Each collection has a search and a ruling endpoint. Search first, then read one ruling in full.

> [!NOTE]
>
> The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries `as_of`: how current the data is. [How datasets work](https://docs.usecroma.com/datasets.md).

## Search the Corte Suprema

`POST /cl/pjud/supreme-court-rulings-search/v1` [Dataset](https://docs.usecroma.com/datasets.md)

One search over every ruling of the Corte Suprema the Poder Judicial publishes, filtered by chamber, case number, year, matter or date.

| Field | Type | Notes |
| - | - | - |
| `query` | string | Optional words matched against the case number, case title, matters, descriptors and full text, e.g. `prescripción adquisitiva`. Every word must appear. |
| `case_number` | string | Optional case number (rol) with its year, e.g. `13194-2026`, or with its letter prefix in a first-instance court, e.g. `C-4513-2026`. |
| `year` | integer | Optional year of the case (the year in its rol). 0 searches every year. Default `0`. |
| `matter` | string | Optional matter, exactly as it appears in a result's `matters`. |
| `from_date` | string | Optional: only rulings handed down on or after this date, `yyyy-mm-dd`. |
| `to_date` | string | Optional: only rulings handed down on or before this date, `yyyy-mm-dd`. |
| `page` | integer | 1-based page number. Default `1`. |
| `per_page` | integer | Results per page (1-50). Default `20`. |
| `chamber` | string | Optional chamber (sala), as a result's `chamber` names it, e.g. `SEGUNDA, PENAL`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/supreme-court-rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "propiedad industrial", "from_date": "2026-09-01" }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, the most recent ruling of the Corte Suprema first. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Search results leave out the text. `query` still matches against it, so a phrase from the body finds the ruling; read the text itself with the ruling endpoint.

> [!NOTE]
>
> The Poder Judicial lets anyone download one file per ruling: the anonymized PDF of an anonymized ruling. Croma keeps a byte-identical copy of each (`document_url`, `document_status: kept`). For every other ruling the court lets no one download its file, so `document_status` is `not_downloadable` and the whole ruling is its `text`.

## One ruling of the Corte Suprema, in full

`POST /cl/pjud/supreme-court-ruling/v1` [Dataset](https://docs.usecroma.com/datasets.md)

| Field | Type | Notes |
| - | - | - |
| `ruling_id` | string | **Required.** The ruling's `id` from a search result, e.g. `8283326`. |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit` | integer | How many characters of the text to return. Most rulings fit in one response. Default `200000`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/supreme-court-ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "8283326" }'
```

Returns `as_of`, `found`, `ruling_id` and `ruling`, which carries everything the search returns plus `content`: a window onto the full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Long rulings are read a range at a time: send `offset` and `limit`, then pass the response's `next_offset` back as `offset` until `has_more` is false.

> [!NOTE]
>
> An id the court does not publish, or one from another court's collection, returns `found: false` with HTTP 200, not an error.

## Search the Cortes de Apelaciones

`POST /cl/pjud/appeals-court-rulings-search/v1` [Dataset](https://docs.usecroma.com/datasets.md)

One search over every ruling of the Cortes de Apelaciones the Poder Judicial publishes, filtered by court, case number, year, matter or date.

| Field | Type | Notes |
| - | - | - |
| `query` | string | Optional words matched against the case number, case title, matters, descriptors and full text, e.g. `prescripción adquisitiva`. Every word must appear. |
| `case_number` | string | Optional case number (rol) with its year, e.g. `13194-2026`, or with its letter prefix in a first-instance court, e.g. `C-4513-2026`. |
| `year` | integer | Optional year of the case (the year in its rol). 0 searches every year. Default `0`. |
| `matter` | string | Optional matter, exactly as it appears in a result's `matters`. |
| `from_date` | string | Optional: only rulings handed down on or after this date, `yyyy-mm-dd`. |
| `to_date` | string | Optional: only rulings handed down on or before this date, `yyyy-mm-dd`. |
| `page` | integer | 1-based page number. Default `1`. |
| `per_page` | integer | Results per page (1-50). Default `20`. |
| `court` | string | Optional Corte de Apelaciones, e.g. `Valdivia` or `C.A. de Valdivia`. |
| `chamber` | string | Optional chamber (sala), as a result's `chamber` names it, e.g. `SEGUNDA, PENAL`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/appeals-court-rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "court": "Valdivia", "from_date": "2026-09-01" }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, the most recent ruling of the Cortes de Apelaciones first. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Search results leave out the text. `query` still matches against it, so a phrase from the body finds the ruling; read the text itself with the ruling endpoint.

> [!NOTE]
>
> The Poder Judicial lets anyone download one file per ruling: the anonymized PDF of an anonymized ruling. Croma keeps a byte-identical copy of each (`document_url`, `document_status: kept`). For every other ruling the court lets no one download its file, so `document_status` is `not_downloadable` and the whole ruling is its `text`.

## One ruling of the Cortes de Apelaciones, in full

`POST /cl/pjud/appeals-court-ruling/v1` [Dataset](https://docs.usecroma.com/datasets.md)

| Field | Type | Notes |
| - | - | - |
| `ruling_id` | string | **Required.** The ruling's `id` from a search result, e.g. `8283326`. |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit` | integer | How many characters of the text to return. Most rulings fit in one response. Default `200000`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/appeals-court-ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "62274427" }'
```

Returns `as_of`, `found`, `ruling_id` and `ruling`, which carries everything the search returns plus `content`: a window onto the full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Long rulings are read a range at a time: send `offset` and `limit`, then pass the response's `next_offset` back as `offset` until `has_more` is false.

> [!NOTE]
>
> An id the court does not publish, or one from another court's collection, returns `found: false` with HTTP 200, not an error.

## Search Chile's civil courts

`POST /cl/pjud/civil-court-rulings-search/v1` [Dataset](https://docs.usecroma.com/datasets.md)

One search over every ruling of Chile's civil courts the Poder Judicial publishes, filtered by court, case number, year, matter or date.

| Field | Type | Notes |
| - | - | - |
| `query` | string | Optional words matched against the case number, case title, matters, descriptors and full text, e.g. `prescripción adquisitiva`. Every word must appear. |
| `case_number` | string | Optional case number (rol) with its year, e.g. `13194-2026`, or with its letter prefix in a first-instance court, e.g. `C-4513-2026`. |
| `year` | integer | Optional year of the case (the year in its rol). 0 searches every year. Default `0`. |
| `matter` | string | Optional matter, exactly as it appears in a result's `matters`. |
| `from_date` | string | Optional: only rulings handed down on or after this date, `yyyy-mm-dd`. |
| `to_date` | string | Optional: only rulings handed down on or before this date, `yyyy-mm-dd`. |
| `page` | integer | 1-based page number. Default `1`. |
| `per_page` | integer | Results per page (1-50). Default `20`. |
| `court` | string | Optional court, by its exact name as a result's `court` gives it, e.g. `27º Juzgado Civil de Santiago`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/civil-court-rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "arrendamiento", "year": 2025 }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, the most recent ruling of Chile's civil courts first. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Search results leave out the text. `query` still matches against it, so a phrase from the body finds the ruling; read the text itself with the ruling endpoint.

> [!NOTE]
>
> The Poder Judicial lets anyone download one file per ruling: the anonymized PDF of an anonymized ruling. Croma keeps a byte-identical copy of each (`document_url`, `document_status: kept`). For every other ruling the court lets no one download its file, so `document_status` is `not_downloadable` and the whole ruling is its `text`.

> [!NOTE]
>
> First-instance courts publish their rulings here months, sometimes years, after handing them down, and in batches. Croma compares the court's count for every month with its own every day and reads again the months that changed, so a ruling dated last year can appear today.

## One ruling of Chile's civil courts, in full

`POST /cl/pjud/civil-court-ruling/v1` [Dataset](https://docs.usecroma.com/datasets.md)

| Field | Type | Notes |
| - | - | - |
| `ruling_id` | string | **Required.** The ruling's `id` from a search result, e.g. `8283326`. |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit` | integer | How many characters of the text to return. Most rulings fit in one response. Default `200000`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/civil-court-ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "201410080" }'
```

Returns `as_of`, `found`, `ruling_id` and `ruling`, which carries everything the search returns plus `content`: a window onto the full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Long rulings are read a range at a time: send `offset` and `limit`, then pass the response's `next_offset` back as `offset` until `has_more` is false.

> [!NOTE]
>
> An id the court does not publish, or one from another court's collection, returns `found: false` with HTTP 200, not an error.

## Search Chile's criminal courts

`POST /cl/pjud/criminal-court-rulings-search/v1` [Dataset](https://docs.usecroma.com/datasets.md)

One search over every ruling of Chile's criminal courts the Poder Judicial publishes, filtered by court, case number, year, matter or date.

| Field | Type | Notes |
| - | - | - |
| `query` | string | Optional words matched against the case number, case title, matters, descriptors and full text, e.g. `prescripción adquisitiva`. Every word must appear. |
| `case_number` | string | Optional case number (rol) with its year, e.g. `13194-2026`, or with its letter prefix in a first-instance court, e.g. `C-4513-2026`. |
| `year` | integer | Optional year of the case (the year in its rol). 0 searches every year. Default `0`. |
| `matter` | string | Optional matter, exactly as it appears in a result's `matters`. |
| `from_date` | string | Optional: only rulings handed down on or after this date, `yyyy-mm-dd`. |
| `to_date` | string | Optional: only rulings handed down on or before this date, `yyyy-mm-dd`. |
| `page` | integer | 1-based page number. Default `1`. |
| `per_page` | integer | Results per page (1-50). Default `20`. |
| `court` | string | Optional court, by its exact name as a result's `court` gives it, e.g. `27º Juzgado Civil de Santiago`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/criminal-court-rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "receptación", "year": 2025 }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, the most recent ruling of Chile's criminal courts first. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Search results leave out the text. `query` still matches against it, so a phrase from the body finds the ruling; read the text itself with the ruling endpoint.

> [!NOTE]
>
> The Poder Judicial lets anyone download one file per ruling: the anonymized PDF of an anonymized ruling. Croma keeps a byte-identical copy of each (`document_url`, `document_status: kept`). For every other ruling the court lets no one download its file, so `document_status` is `not_downloadable` and the whole ruling is its `text`.

> [!NOTE]
>
> First-instance courts publish their rulings here months, sometimes years, after handing them down, and in batches. Croma compares the court's count for every month with its own every day and reads again the months that changed, so a ruling dated last year can appear today.

## One ruling of Chile's criminal courts, in full

`POST /cl/pjud/criminal-court-ruling/v1` [Dataset](https://docs.usecroma.com/datasets.md)

| Field | Type | Notes |
| - | - | - |
| `ruling_id` | string | **Required.** The ruling's `id` from a search result, e.g. `8283326`. |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit` | integer | How many characters of the text to return. Most rulings fit in one response. Default `200000`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/criminal-court-ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "141941478" }'
```

Returns `as_of`, `found`, `ruling_id` and `ruling`, which carries everything the search returns plus `content`: a window onto the full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Long rulings are read a range at a time: send `offset` and `limit`, then pass the response's `next_offset` back as `offset` until `has_more` is false.

> [!NOTE]
>
> An id the court does not publish, or one from another court's collection, returns `found: false` with HTTP 200, not an error.

## Search Chile's family courts

`POST /cl/pjud/family-court-rulings-search/v1` [Dataset](https://docs.usecroma.com/datasets.md)

One search over every ruling of Chile's family courts the Poder Judicial publishes, filtered by court, case number, year, matter or date.

| Field | Type | Notes |
| - | - | - |
| `query` | string | Optional words matched against the case number, case title, matters, descriptors and full text, e.g. `prescripción adquisitiva`. Every word must appear. |
| `case_number` | string | Optional case number (rol) with its year, e.g. `13194-2026`, or with its letter prefix in a first-instance court, e.g. `C-4513-2026`. |
| `year` | integer | Optional year of the case (the year in its rol). 0 searches every year. Default `0`. |
| `matter` | string | Optional matter, exactly as it appears in a result's `matters`. |
| `from_date` | string | Optional: only rulings handed down on or after this date, `yyyy-mm-dd`. |
| `to_date` | string | Optional: only rulings handed down on or before this date, `yyyy-mm-dd`. |
| `page` | integer | 1-based page number. Default `1`. |
| `per_page` | integer | Results per page (1-50). Default `20`. |
| `court` | string | Optional court, by its exact name as a result's `court` gives it, e.g. `27º Juzgado Civil de Santiago`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/family-court-rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "divorcio", "year": 2024 }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, the most recent ruling of Chile's family courts first. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Search results leave out the text. `query` still matches against it, so a phrase from the body finds the ruling; read the text itself with the ruling endpoint.

> [!NOTE]
>
> The Poder Judicial lets anyone download one file per ruling: the anonymized PDF of an anonymized ruling. Croma keeps a byte-identical copy of each (`document_url`, `document_status: kept`). For every other ruling the court lets no one download its file, so `document_status` is `not_downloadable` and the whole ruling is its `text`.

> [!NOTE]
>
> First-instance courts publish their rulings here months, sometimes years, after handing them down, and in batches. Croma compares the court's count for every month with its own every day and reads again the months that changed, so a ruling dated last year can appear today.

## One ruling of Chile's family courts, in full

`POST /cl/pjud/family-court-ruling/v1` [Dataset](https://docs.usecroma.com/datasets.md)

| Field | Type | Notes |
| - | - | - |
| `ruling_id` | string | **Required.** The ruling's `id` from a search result, e.g. `8283326`. |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit` | integer | How many characters of the text to return. Most rulings fit in one response. Default `200000`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/family-court-ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "222163881" }'
```

Returns `as_of`, `found`, `ruling_id` and `ruling`, which carries everything the search returns plus `content`: a window onto the full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Long rulings are read a range at a time: send `offset` and `limit`, then pass the response's `next_offset` back as `offset` until `has_more` is false.

> [!NOTE]
>
> An id the court does not publish, or one from another court's collection, returns `found: false` with HTTP 200, not an error.

## Search Chile's labor courts

`POST /cl/pjud/labor-court-rulings-search/v1` [Dataset](https://docs.usecroma.com/datasets.md)

One search over every ruling of Chile's labor courts the Poder Judicial publishes, filtered by court, case number, year, matter or date.

| Field | Type | Notes |
| - | - | - |
| `query` | string | Optional words matched against the case number, case title, matters, descriptors and full text, e.g. `prescripción adquisitiva`. Every word must appear. |
| `case_number` | string | Optional case number (rol) with its year, e.g. `13194-2026`, or with its letter prefix in a first-instance court, e.g. `C-4513-2026`. |
| `year` | integer | Optional year of the case (the year in its rol). 0 searches every year. Default `0`. |
| `matter` | string | Optional matter, exactly as it appears in a result's `matters`. |
| `from_date` | string | Optional: only rulings handed down on or after this date, `yyyy-mm-dd`. |
| `to_date` | string | Optional: only rulings handed down on or before this date, `yyyy-mm-dd`. |
| `page` | integer | 1-based page number. Default `1`. |
| `per_page` | integer | Results per page (1-50). Default `20`. |
| `court` | string | Optional court, by its exact name as a result's `court` gives it, e.g. `27º Juzgado Civil de Santiago`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/labor-court-rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "despido injustificado", "year": 2025 }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, the most recent ruling of Chile's labor courts first. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Search results leave out the text. `query` still matches against it, so a phrase from the body finds the ruling; read the text itself with the ruling endpoint.

> [!NOTE]
>
> The Poder Judicial lets anyone download one file per ruling: the anonymized PDF of an anonymized ruling. Croma keeps a byte-identical copy of each (`document_url`, `document_status: kept`). For every other ruling the court lets no one download its file, so `document_status` is `not_downloadable` and the whole ruling is its `text`.

> [!NOTE]
>
> First-instance courts publish their rulings here months, sometimes years, after handing them down, and in batches. Croma compares the court's count for every month with its own every day and reads again the months that changed, so a ruling dated last year can appear today.

## One ruling of Chile's labor courts, in full

`POST /cl/pjud/labor-court-ruling/v1` [Dataset](https://docs.usecroma.com/datasets.md)

| Field | Type | Notes |
| - | - | - |
| `ruling_id` | string | **Required.** The ruling's `id` from a search result, e.g. `8283326`. |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit` | integer | How many characters of the text to return. Most rulings fit in one response. Default `200000`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/labor-court-ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "21936194" }'
```

Returns `as_of`, `found`, `ruling_id` and `ruling`, which carries everything the search returns plus `content`: a window onto the full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Long rulings are read a range at a time: send `offset` and `limit`, then pass the response's `next_offset` back as `offset` until `has_more` is false.

> [!NOTE]
>
> An id the court does not publish, or one from another court's collection, returns `found: false` with HTTP 200, not an error.

## Search Chile's labor collection courts

`POST /cl/pjud/labor-collection-court-rulings-search/v1` [Dataset](https://docs.usecroma.com/datasets.md)

One search over every ruling of Chile's labor collection courts the Poder Judicial publishes, filtered by court, case number, year, matter or date.

| Field | Type | Notes |
| - | - | - |
| `query` | string | Optional words matched against the case number, case title, matters, descriptors and full text, e.g. `prescripción adquisitiva`. Every word must appear. |
| `case_number` | string | Optional case number (rol) with its year, e.g. `13194-2026`, or with its letter prefix in a first-instance court, e.g. `C-4513-2026`. |
| `year` | integer | Optional year of the case (the year in its rol). 0 searches every year. Default `0`. |
| `matter` | string | Optional matter, exactly as it appears in a result's `matters`. |
| `from_date` | string | Optional: only rulings handed down on or after this date, `yyyy-mm-dd`. |
| `to_date` | string | Optional: only rulings handed down on or before this date, `yyyy-mm-dd`. |
| `page` | integer | 1-based page number. Default `1`. |
| `per_page` | integer | Results per page (1-50). Default `20`. |
| `court` | string | Optional court, by its exact name as a result's `court` gives it, e.g. `27º Juzgado Civil de Santiago`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/labor-collection-court-rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "cotizaciones", "year": 2025 }'
```

Returns `as_of` (how current the data is), the applied filters, `total` and `total_is_exact`, `page`, `per_page`, `total_pages`, `count` and `results[]`, the most recent ruling of Chile's labor collection courts first. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Search results leave out the text. `query` still matches against it, so a phrase from the body finds the ruling; read the text itself with the ruling endpoint.

> [!NOTE]
>
> The Poder Judicial lets anyone download one file per ruling: the anonymized PDF of an anonymized ruling. Croma keeps a byte-identical copy of each (`document_url`, `document_status: kept`). For every other ruling the court lets no one download its file, so `document_status` is `not_downloadable` and the whole ruling is its `text`.

> [!NOTE]
>
> First-instance courts publish their rulings here months, sometimes years, after handing them down, and in batches. Croma compares the court's count for every month with its own every day and reads again the months that changed, so a ruling dated last year can appear today.

## One ruling of Chile's labor collection courts, in full

`POST /cl/pjud/labor-collection-court-ruling/v1` [Dataset](https://docs.usecroma.com/datasets.md)

| Field | Type | Notes |
| - | - | - |
| `ruling_id` | string | **Required.** The ruling's `id` from a search result, e.g. `8283326`. |
| `offset` | integer | First character of the text to return. Pass the previous response's `next_offset` to read on. Default `0`. |
| `limit` | integer | How many characters of the text to return. Most rulings fit in one response. Default `200000`. |

```bash theme={"dark"}
curl https://api.croma.run/cl/pjud/labor-collection-court-ruling/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ruling_id": "75417002" }'
```

Returns `as_of`, `found`, `ruling_id` and `ruling`, which carries everything the search returns plus `content`: a window onto the full text, with `text`, `offset`, `total_length`, `has_more` and `next_offset`. Every result carries `id` (the ruling's permanent id) and `document_id`, `case_number` (the rol, e.g. `19865-2023` or `C-4513-2026`) and `case_year`, `ruling_date`, `court`, `court_code` and `chamber`, `lower_court` and `lower_court_case_number` (where the case came from), `case_title` (the carátula), `matters`, `book`, `appeal_type`, `outcome`, `decision`, `procedural_status`, `judges`, `signatories`, `drafting_judge`, `rapporteur`, `descriptors`, `cited_norms`, `case_code` (the RUC), `jurisdiction`, `publication_condition`, `anonymized` and `anonymization_status`, `page_count`, `original_format`, `citation`, `excerpt`, `document_url`, `source_document_url` and `document_status`. Fields the court does not state, or withholds in an anonymized ruling, are null.

> [!NOTE]
>
> Long rulings are read a range at a time: send `offset` and `limit`, then pass the response's `next_offset` back as `offset` until `has_more` is false.

> [!NOTE]
>
> An id the court does not publish, or one from another court's collection, returns `found: false` with HTTP 200, not an error.

> **[Full reference](https://docs.usecroma.com/api-reference/overview.md)**
>
> Schemas, all response fields, and an interactive playground.


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