---
title: "CGU Sanctions Search"
method: POST
path: "/br/cgu/sanctions-search/v1"
tags: ["Brazil", "Controladoria-Geral da União (CGU)"]
---

# CGU Sanctions Search

`POST /br/cgu/sanctions-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/br/cgu/sanctions-search/v1`
- Auth: HTTP bearer

Search Brazil's federal integrity registers kept by the Controladoria-Geral da União (CEIS, CNEP, CEAF, CEPIM and the leniency agreements) by free text over every name the register gives the party, by CNPJ or CPF (exact; CPFs come back masked), register, party type and the sanctioning body's state. One row per sanction, by name, pages of up to 50. Served by Croma (`as_of` says how current the data is), brought up to date daily.

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string: Palabras a buscar en los nombres (opcional).
  - `document_number` string: CPF o CNPJ de la parte sancionada, con o sin puntuación, p. ej. `12.345.678/0001-90` (opcional). Coincidencia exacta.
  - `list` '' | 'ceis' | 'cnep' | 'ceaf' | 'cepim' | 'leniency': Registro: `ceis` (inidóneas y suspendidas), `cnep` (Ley Anticorrupción), `ceaf` (servidores federales expulsados), `cepim` (entidades sin fines de lucro impedidas), `leniency` (acuerdos de lenidad) (opcional).
  - `party_type` '' | 'individual' | 'company': Tipo de parte: `individual` (persona) o `company` (empresa u organización) (opcional).
  - `sanctioning_body_state` string: Sigla del estado (UF) del órgano que impuso la sanción, p. ej. `SP` (opcional). No es el estado de la parte.
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Resultados por página (1-50).

## Response `200`

Successful response

- CguSanctionsSearchResponse
  - `data` CguSanctionsSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `query` string, required
    - `list` string, nullable, required
    - `party_type` string, nullable, required
    - `sanctioning_body_state` string, nullable, required
    - `total` number, required: Sanctions matching the filters, across every page, counted up to 1000.
    - `total_is_exact` boolean, required: False when more than 1000 match: `total` is then 1000, and the pages go on.
    - `page` number, required
    - `per_page` number, required
    - `total_pages` number, required: Pages over `total`; there are more when `total_is_exact` is false.
    - `count` number, required
    - `sanctions` object[], required
      - `id` string, required: The register and CGU's own code, joined by a hyphen, e.g. `ceis-72529`: the key.
      - `list` 'ceis' | 'cnep' | 'ceaf' | 'cepim' | 'leniency', required: `ceis`, `cnep`, `ceaf`, `cepim` or `leniency`.
      - `sanction_code` string, required: CGU's own code for the sanction; the agreement number for a non-profit's bar; the agreement id for a leniency agreement.
      - `party_type` 'individual' | 'company', nullable, required: `individual` or `company`; null for a foreign or unidentified party.
      - `document_type` 'cpf' | 'cnpj' | 'foreign', nullable, required: What `document` is: a Brazilian CPF, a CNPJ, or a foreign identifier.
      - `document` string, nullable, required: The party's document as it can be shown: a CNPJ in full (`12.345.678/0001-90`), a CPF masked the way CGU masks it (`***.456.789-**`), a foreign identifier as published.
      - `name` string, required: The party's name as the register records it.
      - `names` string[], required: Every name the register gives the party (as sanctioned, as the sanctioning body reported it, the company's registered and trade names), for search.
      - `sanction_type` string, nullable, required: The kind of sanction, as CGU words it, e.g. `Suspensão`, `Multa`, `Demissão`, `Declaração de Inidoneidade sem prazo determinado`.
      - `start_date` string, nullable, required: `yyyy-mm-dd` the sanction started.
      - `end_date` string, nullable, required: `yyyy-mm-dd` the sanction's term ends, when it has one. A past date does not mean the sanction has ended: CGU removes a sanction from the register when it ends.
      - `publication_date` string, nullable, required: `yyyy-mm-dd` the sanction was published.
      - `final_judgment_date` string, nullable, required: `yyyy-mm-dd` the decision became final (trânsito em julgado), for a court-imposed sanction.
      - `information_date` string, nullable, required: `yyyy-mm-dd` the sanctioning body reported it.
      - `publication` string, nullable, required: Where the sanction was published, e.g. `Diário Oficial da União`.
      - `publication_detail` string, nullable, required
      - `scope` string, nullable, required: How far the sanction reaches (abrangência), as CGU words it.
      - `sanctioning_body` string, nullable, required: The body that imposed the sanction; for a non-profit's bar, the ministry that granted the transfer.
      - `sanctioning_body_state` string, nullable, required: Two-letter state (UF) of the sanctioning body, not of the party; null for a federal body.
      - `sanctioning_body_sphere` 'federal' | 'state' | 'municipal', nullable, required: `federal`, `state` or `municipal`.
      - `legal_basis` string, nullable, required: The legal basis the sanctioning body cites.
      - `process_number` string, nullable, required: The administrative or court process the sanction came from.
      - `information_source` string, nullable, required: Where CGU received the sanction from, e.g. `Conselho Nacional de Justiça (CNJ-DF)`.
      - `notes` string, nullable, required
      - `fine_amount` number, nullable, required: The fine in reais, for a fine under the Anti-Corruption Law.
      - `reason` string, nullable, required: Why a non-profit is barred from federal transfers.
      - `public_servant` object, nullable, required: Set only for an expelled federal servant.
        - `position` string, nullable, required: The permanent post the servant held (cargo efetivo).
        - `role` string, nullable, required: The appointed role or function, when there was one.
        - `unit` string, nullable, required: The federal body the servant worked in.
        - `act_number` string, nullable, required: The number of the act that imposed the penalty.
      - `agreement` object, nullable, required: Set only for a leniency agreement.
        - `status` string, nullable, required: `Em Execução` or `Cumprido`, as CGU words it.
        - `terms` string, nullable, required: The agreement's terms, as CGU summarises them.
        - `effects` object[], required: What the agreement grants the company.
          - `effect` string, required: What the agreement grants, as CGU words it, e.g. an exemption from a declaration of unfitness.
          - `detail` string, nullable, 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)
