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

# Corte Suprema de Justicia

> Busque na jurisprudência que a Corte Suprema de Justicia de El Salvador publica, cerca de 200.000 resoluções desde 1951 da Corte Plena e das Salas às Câmaras, aos Tribunales de Sentencia e aos Juzgados, e em cada lei, decreto, regulamento e ordenança que conserva, consolidados com suas reformas; leia qualquer um completo.

A Corte Suprema de Justicia de El Salvador publica a jurisprudência dos tribunais do país: cerca de 200.000 resoluções desde 1951 da Corte Plena, das Salas de lo Constitucional, Civil, Penal e Contencioso Administrativo, das Câmaras de segunda instância, dos Tribunales de Sentencia e de um conjunto de Juzgados. Cada uma chega aqui com seu texto completo, o número de referência, o tribunal, a matéria, o tipo de processo e de resolução, a decisão, os crimes em matéria penal, as ementas redigidas pelo centro de documentação da Corte, o documento original como a Corte o publicou e links para a ficha e o documento no site da Corte.

Busque em todas de uma vez, por tribunal ou nível do tribunal, matéria, tipo de processo ou de resolução, crime, número de referência, ano ou data, ou com texto livre que alcança o corpo de cada resolução.

O mesmo centro de documentação conserva a legislação de El Salvador: mais de 10.000 textos publicados no Diario Oficial desde 1821, das reformas constitucionais, dos códigos e das leis aos decretos executivos, regulamentos, acordos e ordenanças municipais. Cada um chega com seu texto consolidado, se está vigente, cada reforma com seu decreto e seu próprio texto, as sentenças relacionadas e cada versão de seu documento: a Corte reescreve o texto consolidado quando incorpora uma reforma, e cada versão continua disponível aqui.

<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 /sv/csj-sv/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 1951, filtrada por tribunal, matéria, processo, tipo de resolução, crime, número de referência, ano ou data.

| Campo                 | Tipo    | Notas                                                                                                                                                                                                    |
| --------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`               | string  | Palavras opcionais buscadas no número de referência, no tribunal, na decisão, nos fatos, nas ementas e no texto completo.                                                                                |
| `court_type`          | enum    | Nível do tribunal opcional: `corte_plena`, `sala` (as Salas da Corte Suprema), `camara` (as Câmaras de segunda instância), `tribunal_de_sentencia` ou `juzgado`.                                         |
| `court`               | string  | Tribunal opcional como `court` o nomeia, p. ex. `Sala de lo Constitucional` ou `Cámara Segunda de lo Laboral`, comparado desde o início do nome. Maiúsculas e acentos são ignorados.                     |
| `subject`             | string  | Matéria opcional como `subject` a nomeia: `Penal`, `Familia`, `Civil y Mercantil`, `Constitucional`, `Laboral`, `Medio Ambiente` e outras, comparada desde o início. Maiúsculas e acentos são ignorados. |
| `proceeding_type`     | string  | Tipo de processo opcional como `proceeding_type` o nomeia, p. ex. `Amparo`, `Hábeas corpus`, `Inconstitucionalidad`, comparado desde o início. Maiúsculas e acentos são ignorados.                       |
| `type`                | string  | Tipo de resolução opcional como `type` o nomeia, p. ex. `Sentencias definitivas`, `Interlocutorias`, `Improcedencias`, comparado desde o início. Maiúsculas e acentos são ignorados.                     |
| `crime`               | string  | Crime opcional como aparece em `crimes`, p. ex. `Homicidio agravado`, comparado por inteiro. Maiúsculas e acentos são ignorados.                                                                         |
| `registration_number` | string  | Número de referência (N°) opcional, como a Corte o imprime, p. ex. `49COMP2026` ou `86-CAC-2026`. Retorna todas as resoluções dessa referência. Maiúsculas, espaços e sinais são ignorados.              |
| `year`                | integer | Ano da resolução opcional. 0 busca em todos os anos. Por padrão `0`.                                                                                                                                     |
| `from_date`           | string  | Opcional: só resoluções proferidas nesta data ou depois, `yyyy-mm-dd`.                                                                                                                                   |
| `to_date`             | string  | Opcional: só resoluções proferidas 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/sv/csj-sv/rulings-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "query": "debido proceso",
        "court_type": "sala",
        "subject": "constitucional"
      }'
```

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 resolução mais recente à mais antiga. Cada resultado traz `id` (o número permanente da resolução, p. ex. `1138697`), `registration_number` (o número de referência, p. ex. `49COMP2026`), `ruling_date`, `year`, `court_type` (`corte_plena`, `sala`, `camara`, `tribunal_de_sentencia` ou `juzgado`), `court`, `subject` (a matéria), `proceeding_type`, `type` (o tipo de resolução), `appeal_type`, `lawsuit_type`, `decision`, `facts`, `crimes`, `lower_courts`, `courts_in_conflict`, `challenged_act`, `rights_invoked`, `grounds`, `applied_law`, `other_fields`, `descriptors` e `extracts` (as ementas, cada uma um tema com suas teses), `text_status` (`ok`, `scanned` ou `missing`), `official_url` (a ficha da resolução na Corte), `document_url` (a cópia da Croma do documento original, idêntica byte a byte à que a Corte publicou, que continua disponível aconteça o que acontecer com o link da Corte) e `source_document_url` (o documento no site da Corte). Os campos que a ficha deixa vazios vêm como null ou listas vazias; nomes das partes nunca são incluídos.

<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 Corte Suprema de Justicia de El Salvador Ruling.
</Note>

## Uma resolução, completa

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

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 número permanente da resolução, p. ex. `1138697`), `registration_number` (o número de referência, p. ex. `49COMP2026`), `ruling_date`, `year`, `court_type` (`corte_plena`, `sala`, `camara`, `tribunal_de_sentencia` ou `juzgado`), `court`, `subject` (a matéria), `proceeding_type`, `type` (o tipo de resolução), `appeal_type`, `lawsuit_type`, `decision`, `facts`, `crimes`, `lower_courts`, `courts_in_conflict`, `challenged_act`, `rights_invoked`, `grounds`, `applied_law`, `other_fields`, `descriptors` e `extracts` (as ementas, cada uma um tema com suas teses), `text_status` (`ok`, `scanned` ou `missing`), `official_url` (a ficha da resolução na Corte), `document_url` (a cópia da Croma do documento original, idêntica byte a byte à que a Corte publicou, que continua disponível aconteça o que acontecer com o link da Corte) e `source_document_url` (o documento no site da Corte). Os campos que a ficha deixa vazios vêm como null ou listas vazias; nomes das partes nunca são incluídos.

<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` (a Corte publicou a resolução como imagem) ou `missing`; `document_url` continua entregando o documento original quando a Corte publicou um.
</Note>

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

## Buscar legislação

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

Uma única busca sobre o texto consolidado de cada texto legal desde 1821, filtrada por tipo, vigência, matéria, número, município, departamento, ano ou data.

| Campo          | Tipo    | Notas                                                                                                                                                                                                                                                |
| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`        | string  | Palavras opcionais buscadas no nome, no resumo do centro de documentação e no texto consolidado.                                                                                                                                                     |
| `type`         | string  | Tipo de documento opcional: `Decretos Legislativos`, `Decretos Ejecutivos`, `Decretos Institucionales`, `Acuerdos`, `Reglamentos`, `Ordenanzas Municipales` ou `Documentos Generales`, comparado desde o início. Maiúsculas e acentos são ignorados. |
| `status`       | enum    | Vigência opcional: `vigente`, `caducada` (expirada) ou `derogada` (revogada).                                                                                                                                                                        |
| `subject`      | string  | Matéria opcional, p. ex. `Penal`, `Tributaria`, `Laboral`, comparada desde o início. Maiúsculas e acentos são ignorados.                                                                                                                             |
| `number`       | string  | Número de decreto ou acordo opcional, p. ex. `1030`. Maiúsculas, espaços e sinais são ignorados.                                                                                                                                                     |
| `municipality` | string  | Município opcional de uma ordenança, p. ex. `San Salvador Centro`, comparado desde o início. Maiúsculas e acentos são ignorados.                                                                                                                     |
| `department`   | string  | Departamento opcional de uma ordenança, p. ex. `La Libertad`, comparado desde o início. Maiúsculas e acentos são ignorados.                                                                                                                          |
| `year`         | integer | Ano de publicação no Diario Oficial opcional. 0 busca em todos os anos. Por padrão `0`.                                                                                                                                                              |
| `from_date`    | string  | Opcional: só documentos publicados nesta data ou depois, `yyyy-mm-dd`.                                                                                                                                                                               |
| `to_date`      | string  | Opcional: só documentos publicados 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/sv/csj-sv/laws-search/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "código penal", "status": "vigente" }'
```

Retorna `as_of`, os filtros aplicados, `total`, `page`, `per_page`, `total_pages`, `count` e `results[]`, da publicação mais recente à mais antiga. Cada resultado traz `id` (o número permanente do documento, p. ex. `558819`), `title`, `type` (`Decretos Legislativos`, `Decretos Ejecutivos`, `Decretos Institucionales`, `Acuerdos`, `Reglamentos`, `Ordenanzas Municipales` ou `Documentos Generales`), `nature`, `number` (o número do decreto ou acordo), `status` (`vigente`, `caducada` ou `derogada`), `subject` (a matéria), `issuing_body`, `state_organ`, `municipality` e `department` (ordenanças), `issue_date`, `publication_date` (no Diario Oficial), `year`, `gazette_number`, `gazette_volume`, `considerations` (o resumo do centro de documentação), `reform_count`, `related_rulings` (ids para o endpoint de sentenças), `other_fields`, `text_status`, `official_url` (a ficha do documento na Corte), `document_url` (a cópia da Croma da versão atual do documento, idêntica byte a byte à que a Corte publicou), `source_document_url` (o documento no site da Corte) e `document_modified_at`.

<Note>
  Os resultados da busca não incluem o texto, as reformas nem as versões do documento; `query` busca no texto. Para lê-los use o endpoint Corte Suprema de Justicia de El Salvador Law.
</Note>

## Um texto legal, completo

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

| Campo    | Tipo    | Notas                                                                                                                    |
| -------- | ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `law_id` | string  | **Obrigatório.** O `id` do documento retornado pela busca, p. ex. `558819`, 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. Um código longo leva várias respostas. Por padrão `200000`.                        |

```bash theme={"dark"}
curl https://api.croma.run/sv/csj-sv/law/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "law_id": "558819" }'
```

Retorna `as_of`, `found`, `law_id` e `law`, que traz tudo o que a busca retorna mais `reforms[]` (cada reforma em ordem: `decree`, `decree_number`, `issuing_body`, `decree_date`, `publication_date`, `gazette_number`, `gazette_volume`, e `document_url` com a cópia da Croma do texto próprio da reforma junto ao seu `source_document_url`), `document_versions[]` (cada versão do documento que a Croma guardou, da mais antiga à mais nova, com `document_url`, `modified_at` e `bytes`) e `content`: uma janela sobre o texto consolidado, com `text`, `offset`, `total_length`, `has_more` e `next_offset`. Cada resultado traz `id` (o número permanente do documento, p. ex. `558819`), `title`, `type` (`Decretos Legislativos`, `Decretos Ejecutivos`, `Decretos Institucionales`, `Acuerdos`, `Reglamentos`, `Ordenanzas Municipales` ou `Documentos Generales`), `nature`, `number` (o número do decreto ou acordo), `status` (`vigente`, `caducada` ou `derogada`), `subject` (a matéria), `issuing_body`, `state_organ`, `municipality` e `department` (ordenanças), `issue_date`, `publication_date` (no Diario Oficial), `year`, `gazette_number`, `gazette_volume`, `considerations` (o resumo do centro de documentação), `reform_count`, `related_rulings` (ids para o endpoint de sentenças), `other_fields`, `text_status`, `official_url` (a ficha do documento na Corte), `document_url` (a cópia da Croma da versão atual do documento, idêntica byte a byte à que a Corte publicou), `source_document_url` (o documento no site da Corte) e `document_modified_at`.

<Note>
  A Corte reescreve o texto consolidado quando incorpora uma reforma. A Croma guarda cada versão que viu: `document_url` é a mais nova e `document_versions` lista todas.
</Note>

<Note>
  Um `id` que a Corte 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>
