🤖 Context for AIs and Code Assistants: The structure of the Penal Execution object is similar to the Lawsuit Object, but contains specific fields such asfree_justiceand a dedicated object for thelast_step(most recent case update). The roles of the parties (person_type) also differ, taking values such asEXECUTADO(convicted person) orREEDUCANDO(inmate).
General Structure
The Penal Execution JSON is organized into the following blocks:- Header (Metadata): Data of the execution court, county, dates, and status.
- Parties (parties): Array containing the State (Authority) and the Inmate.
- Last Case Update (last_step): Object with the most recent case update highlighted.
- Case Updates (steps): Complete array with the full history of case updates.
- Attachments (attachments): Array of linked documents.
- Related (related_lawsuits): Array of originating lawsuits (criminal action that generated the conviction).
Data Dictionary
1. Lawsuit Header (Object Root)
| Property | Type | Description |
|---|---|---|
code | string | Unique execution lawsuit number in the CNJ standard. |
name | string | Description of the lawsuit (e.g., “JUSTIÇA PÚBLICA X NOME DO EXECUTADO”). |
area | string | Area of law (usually "DIREITO PENAL" or "EXECUÇÃO PENAL"). |
subject / subjects | array | Subjects of the lawsuit (e.g., "Pena Privativa de Liberdade"). |
classifications | array | Procedural classes (e.g., "Execução da Pena"). |
distribution_date | string | Date on which the execution case was filed. |
instance | number | Degree of jurisdiction (e.g., 1 for the Criminal Enforcement Court). |
judge | string | Name of the judge or magistrate responsible for the execution. |
justice_description | string | Type of body (e.g., "Justiça Estadual", "Justiça Federal"). |
tribunal_acronym | string | Official acronym of the execution court (e.g., "TJSP"). |
courts | string | Exact judging body (e.g., "Vara de Execuções Criminais"). |
county / city / state | string | Location of the county responsible for the execution. |
free_justice | boolean | Returns true if the inmate is a beneficiary of free legal aid. |
secrecy_level | integer | Level of secrecy (0 = Public. Levels > 0 indicate restriction). |
Internal Metadata: The object may also return the keys
created_at, updated_at, and crawler (containing source_name and crawl_id), which are technical metadata about when Judit performed the data extraction.2. Involved Parties (parties)
Array of objects representing the parties in the execution case.
| Property | Type | Description |
|---|---|---|
name | string | Name of the convicted person or public body. |
main_document | string | CPF or CNPJ linked to the party. |
side | string | Pole in the lawsuit: ACTIVE (State/Prosecutor), PASSIVE (Convicted), or INTERESTED. |
person_type | string | Role in the penal execution (e.g., "EXECUTADO", "REEDUCANDO", "MINISTÉRIO PÚBLICO", "DEFENSORIA PÚBLICA"). |
entity_type | string | Category of the entity ("person" or "company"). |
documents | array | List of secondary documents of the party (RG, OAB, etc.). |
lawyers | array | List of lawyers or public defenders associated with the party. |
3. Case Update History (last_step and steps)
The Penal Execution API makes tracking easier by returning the most recent case update highlighted (last_step), in addition to the complete history (steps).
Highlighted Object: last_step
| Property | Type | Description |
|---|---|---|
step_id | string | Unique identifier of the most recent case update. |
step_date | string | Date and time of the last case update (ISO 8601). |
content | string | Descriptive text of the case update (e.g., "Ato ordinatório: Remessa ao Ministério Público"). |
private | boolean | Indicates whether the case update is under secrecy. |
steps_count | number | Total number of case updates recorded in the lawsuit. |
Complete Array: steps
Array of objects identical to the last_step structure, ordered chronologically, containing the entire history of the sentence.
4. Attached Documents (attachments)
| Property | Type | Description |
|---|---|---|
attachment_id | string | Unique internal identifier of the attachment. |
attachment_name | string | Title of the file (e.g., "Cálculo de Liquidação de Penas"). |
attachment_date | string | Date the document was added to the lawsuit. |
step_id | string | ID of the case update (steps) to which the attachment belongs. |
extension | string | File format (e.g., "PDF"). |
Payload Example (Penal Execution)
Next Steps
Now that you understand the Penal Execution data dictionary, move on to integration:- 👉 Criminal Records Queries: See the documentation for the endpoint to start an extraction in criminal and execution courts.
- 👉 Registration Data Object: See how to interpret the registration data model.