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/samai-rulings/search/v1 Dataset
One search over the headnotes and full text of every ruling of the Consejo de Estado since December 2021, filtered by chamber, kind, year, case, ponente, parties 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 64-character certificate of the ruling’s document), registration_number (the 23-digit radicado; one case groups several rulings), internal_number, chamber and chamber_key, type and type_key, proceeding_class (the medio de control), action, ruling_date, filing_date (when the case entered the Consejo de Estado), year, reporting_judges[] and reporting_judge_keys[], plaintiff and defendant with their *_key twins, the relatoría’s headnotes (descriptors[], legal_problem, legal_problem_answer, thesis, formal_sources[], relatoria_note, and headnotes[] with each headnote on its own), text_status, document_format, document_url (the ruling’s document, PDF, or Word for some of the oldest rulings, always available) and official_url (the case’s page on the Consejo de Estado’s own site).
Search results leave out the ruling’s text.
query still matches against it, so a phrase from the body finds the ruling; read the text itself with the SAMAI Ruling endpoint.One ruling, in full
POST /co/samai-rulings/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 64-character certificate of the ruling’s document), registration_number (the 23-digit radicado; one case groups several rulings), internal_number, chamber and chamber_key, type and type_key, proceeding_class (the medio de control), action, ruling_date, filing_date (when the case entered the Consejo de Estado), year, reporting_judges[] and reporting_judge_keys[], plaintiff and defendant with their *_key twins, the relatoría’s headnotes (descriptors[], legal_problem, legal_problem_answer, thesis, formal_sources[], relatoria_note, and headnotes[] with each headnote on its own), text_status, document_format, document_url (the ruling’s document, PDF, or Word for some of the oldest rulings, always available) and official_url (the case’s page on the Consejo de Estado’s own site).
Long rulings run to tens 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. content is null when text_status is not extracted; document_url still has the document.An
id that is not in the relatoría returns found: false with HTTP 200, not an error. The relatoría titles a ruling weeks or months after it is handed down, so a recent ruling can be found: false today and present later.Full reference
Schemas, all response fields, and an interactive playground.