Skip to main content
The Tribunal Constitucional Plurinacional de Bolivia publishes every resolution it hands down, and those of the Tribunal Constitucional that preceded it from 1999 to 2010: about 99,000 sentencias, autos, declaraciones and votes on amparo, libertad, inconstitucionalidad, conflicts of competence and the constitutional review of statutes and autonomy charters. Each one here comes with its full text, the resolution number, the chamber, the reporting justice, the constitutional action, the department the case came from, its case files, the original document as the court published it, and a link to its page at the court. Search across all of them at once, by kind of resolution, chamber, action, reporting justice, department, resolution or case number, year or date, or with free text that reaches into the body of every resolution.
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 resolutions

POST /bo/tcp-bo/rulings-search/v1 Dataset One search over the full text of every constitutional resolution since 1999, filtered by kind, chamber, action, reporting justice, department, number, year or date.
Returns as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], most recent resolution first. Every result carries id (the resolution’s permanent number, e.g. 202697), registration_number (the resolution number as the court prints it, e.g. 0049/2024-S2), type (sentencia, auto, declaracion, voto_disidente, voto_aclaratorio or decreto), type_label (the court’s own label), ruling_date, year, chamber (e.g. SALA SEGUNDA, SALA PLENA, COMISIÓN DE ADMISIÓN), proceeding_type (the constitutional action), reporting_judge, department, case_numbers (the case files it decides), text_status (ok, scanned or missing), official_url (the resolution’s page at the court), document_url (Croma’s copy of the original document, byte for byte as the court published it) and source_document_url (always null: the court gives its documents no link of their own). Fields the resolution does not state are null or empty lists; party names are never included as fields.
Search results leave out the text. query still matches against it, so a phrase from the body finds the resolution; read the text itself with the Tribunal Constitucional Plurinacional de Bolivia Ruling endpoint.

One resolution, in full

POST /bo/tcp-bo/ruling/v1 Dataset
Returns as_of, found, ruling_id and ruling, which carries everything the search returns plus content: a window onto the resolution’s full text, with text, offset, total_length, has_more and next_offset. Every result carries id (the resolution’s permanent number, e.g. 202697), registration_number (the resolution number as the court prints it, e.g. 0049/2024-S2), type (sentencia, auto, declaracion, voto_disidente, voto_aclaratorio or decreto), type_label (the court’s own label), ruling_date, year, chamber (e.g. SALA SEGUNDA, SALA PLENA, COMISIÓN DE ADMISIÓN), proceeding_type (the constitutional action), reporting_judge, department, case_numbers (the case files it decides), text_status (ok, scanned or missing), official_url (the resolution’s page at the court), document_url (Croma’s copy of the original document, byte for byte as the court published it) and source_document_url (always null: the court gives its documents no link of their own). Fields the resolution does not state are null or empty lists; party names are never included as fields.
Long resolutions 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. content is null when text_status is not ok; document_url still gives the original document when the court published one.
An id the court has not published returns found: false with HTTP 200, not an error.

Full reference

Schemas, all response fields, and an interactive playground.