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.Search the rulings
POST /co/corte-suprema/rulings-search/v1 Dataset
One search over the full text of every ruling since 1886, filtered by chamber, kind, tutela, year, case file, ponente or date.
as_of (how current the data is), the applied filters, total (matches across every page), page, per_page, total_pages, count and results[], most recent ruling first. Every result carries id (the relatoría’s identifier, e.g. 978662), number (as the court prints it, e.g. AC6049-2026), type, proceeding_class, chamber and chamber_group, is_tutela, registration_number (the radicado) and registration_digits, reporting_judges[] and reporting_judge_keys[], year, ruling_date, subject (the relatoría’s summary), descriptors[], text_status, text_source and official_url (the ruling’s document as the court publishes it).
Search results leave out the ruling’s text: a single ruling can run to hundreds of thousands of characters.
query still matches against it, so a phrase from the body finds the ruling; read the text itself with the Corte Suprema Ruling endpoint.One ruling, in full
POST /co/corte-suprema/ruling/v1 Dataset
as_of, found, ruling_id and ruling, which carries everything the search returns plus content: a window onto the ruling’s full text, with text, offset, total_length, has_more and next_offset. Every result carries id (the relatoría’s identifier, e.g. 978662), number (as the court prints it, e.g. AC6049-2026), type, proceeding_class, chamber and chamber_group, is_tutela, registration_number (the radicado) and registration_digits, reporting_judges[] and reporting_judge_keys[], year, ruling_date, subject (the relatoría’s summary), descriptors[], text_status, text_source and official_url (the ruling’s document as the court publishes it).
Long rulings run to hundreds of thousands of characters, so the text is 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.text_status says whether the full text is here: extracted means it is; scanned means the court’s document is a scanned image with no text in it, and content is null; unavailable means the court publishes no document for the ruling, as with many historic rulings. official_url always links the ruling at the court.An id or number the relatoría does not hold returns
found: false with HTTP 200, not an error. The court publishes a ruling weeks or months after handing it down, so a recent one can be found: false today and present later.Full reference
Schemas, all response fields, and an interactive playground.