---
title: "SCJN Tesis"
method: POST
path: "/mx/scjn/tesis/v1"
tags: ["Mexico", "SCJN"]
---

# SCJN Tesis

`POST /mx/scjn/tesis/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/mx/scjn/tesis/v1`
- Auth: HTTP bearer

Retrieve one tesis by its registro digital (`registration_number`), including the full text, citation (clave, época, localización), subjects, precedent notes, and linked ruling ids.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `registration_number` string, required: Registro digital of the tesis (`registration_number` from search).

## Response `200`

Successful response

- ScjnTesisResponse
  - `data` ScjnTesisData, required
    - `found` boolean, required
    - `registration_number` string, required
    - `tesis` object, nullable, required
      - `registration_number` string, required: Registro digital: the court's stable id for the tesis.
      - `title` string, required: Rubro: the heading of the tesis.
      - `subtitle` string, nullable, required
      - `type` 'jurisprudencia' | 'aislada', nullable, required: `jurisprudencia` (binding) or `aislada` (non-binding); null when the source reports neither.
      - `citation` string, nullable, required: Official citation key, e.g. "1a./J. 132/2012 (10a.)".
      - `epoch` string, nullable, required: Judicial epoch name, e.g. "Décima Época".
      - `epoch_number` number, nullable, required: Judicial epoch number (5 through 12).
      - `instance` string, nullable, required: Deciding level, e.g. "Suprema Corte de Justicia de la Nación", "Tribunales Colegiados de Circuito".
      - `circuit` string, nullable, required: Judicial circuit, e.g. "Trigésimo Circuito". Null for SCJN chambers.
      - `court` string, nullable, required: Specific court or chamber, e.g. "Primera Sala".
      - `source` string, nullable, required: The publication, e.g. `Semanario Judicial de la Federación`.
      - `subjects` string[], required: Materias, e.g. `Civil`, `Constitucional`.
      - `location` object, nullable, required
        - `book` string, nullable, required: Semanario book, e.g. "Libro 28".
        - `volume` string, nullable, required: Tome, e.g. "Tomo 2".
        - `page` number, nullable, required
        - `month` number, nullable, required: Month of the Semanario issue (1-12).
        - `year` number, nullable, required: Year of the Semanario issue.
      - `text` string, nullable, required: Full text of the tesis; null when the source carries no text.
      - `facts` string, nullable, required: `Hechos`: the facts section, on tesis published in the structured format (Undécima Época onward).
      - `legal_criteria` string, nullable, required: `Criterio jurídico`: the holding, on structured tesis.
      - `justification` string, nullable, required: `Justificación`: the reasoning, on structured tesis.
      - `notes` string, nullable, required
      - `precedent_notes` string[], required: Precedent history entries, as plain text.
      - `linked_case_registrations` string[], required: Registro digital ids of the rulings this tesis derives from.
      - `linked_vote_registrations` string[], required: Registro digital ids of published votes linked to this tesis.
      - `formation` string, nullable, required: How the criterion was formed, e.g. "Reiteración", "Contradicción de criterios (antes contradicción de tesis)".
      - `issue` string, nullable, required: Semanario issue, e.g. "Libro 28, Agosto de 2023".
      - `publication_date` string, nullable, required: `yyyy-mm-dd` published in the Semanario; null on pre-Gaceta tesis.
      - `binding_date` string, nullable, required: `yyyy-mm-dd` the criterion became obligatory; null on pre-Gaceta tesis.
      - `updated_at` string, nullable, required: When the source last modified the record (ISO timestamp); null on tesis it has not touched since it began recording changes.
      - `fingerprint` string, nullable, required: Integrity hash the source publishes for this document.
      - `official_url` string, required

## Other responses

- `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)
