---
title: "Consejo de Estado Jurisprudence Search"
method: POST
path: "/co/consejo-estado/search/v1"
tags: ["Colombia", "Consejo de Estado"]
---

# Consejo de Estado Jurisprudence Search

`POST /co/consejo-estado/search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/consejo-estado/search/v1`
- Auth: HTTP bearer

Search the Relatoría del Consejo de Estado's traditional jurisprudence corpus (broadly providencias before December 2021) by section, type, date window, radicado, ponente, party or challenged rule. Each row carries the providencia's metadata plus a `url` permalink to feed to `consejo-estado-providencia`. For December 2021 onward use the SAMAI endpoints.

Supports async delivery: set `Prefer: wait=N` for an inline result, pass `callback_url` to receive a POST when ready, or poll `GET /jobs/{id}`.

## Headers

- `Idempotency-Key` string
- `Prefer` string

## Request body

- object
  - `section` string: Optional section filter (e.g. `SECCION TERCERA`, `SALA PLENA`). Empty means all sections.
  - `type` '' | 'AUTO' | 'CONCEPTO' | 'SENTENCIA': Filter by providencia type; empty means any.
  - `registration_number` string: Optional número de proceso (radicado) filter.
  - `reporting_judge` string: Optional consejero ponente filter.
  - `plaintiff` string: Optional demandante (actor) filter.
  - `defendant` string: Optional demandado filter.
  - `statute` string: Optional norma o acto demandado filter.
  - `from_date` string, date: Optional date filter in yyyy-mm-dd format.
  - `to_date` string, date: Optional date filter in yyyy-mm-dd format.
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Results per page (max 20). The source returns one record per view, so larger pages take proportionally longer.
  - `callback_url` string, uri: POST the job result here when it finishes.

## Response `200`

Successful response

- ConsejoEstadoSearchResponse
  - `data` ConsejoEstadoSearchData, required
    - `seccion` string, required: Echo of the applied filter (empty string when omitted).
    - `tipo` union, required
      - ''
      - 'AUTO' | 'CONCEPTO' | 'SENTENCIA'
    - `fecha_desde` string, required
    - `fecha_hasta` string, required
    - `numero_proceso` string, required
    - `ponente` string, required
    - `demandante` string, required
    - `demandado` string, required
    - `total` number, nullable, required: Total records the source reports; null when not stated.
    - `page` number, required
    - `per_page` number, required: Requested page size. The source shows one record per view, so a page is assembled by stepping its record navigator; a deep page may return fewer rows than requested.
    - `count` number, required: Rows actually returned on this page.
    - `results` object[], required
      - `radicado` string, nullable, required: Número de proceso / radicado.
      - `tipo` 'AUTO' | 'CONCEPTO' | 'SENTENCIA', nullable, required
      - `seccion` string, nullable, required: Sección or sala that issued the providencia.
      - `fecha` string, nullable, required: Providencia date, ISO yyyy-mm-dd when parseable.
      - `ponente` string, nullable, required
      - `demandante` string, nullable, required
      - `demandado` string, nullable, required
      - `norma_demandada` string, nullable, required: Norma o acto demandado, when the row lists it.
      - `descriptores` string[], required: Descriptores / tema tags attached to the providencia.
      - `es_unificacion` boolean, required: True when the row is flagged as a sentencia de unificación.
      - `es_extension` boolean, required: True when the row is flagged as extensión de jurisprudencia.
      - `url` string, nullable, required: Public permalink to the full text. Feed this to the providencia lookup to retrieve `texto`. Null only when the row carries no registration number.

## Other responses

- `202`: Accepted — the result is being computed asynchronously. Poll `job.status_url` (GET /jobs/{id}) or supply `callback_url` to have the result POSTed to you. Returned when `Prefer: wait` elapses before completion, or immediately when `callback_url` is set.
- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
