> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sherlocker.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Listas restritivas de uma pessoa

> Consulta um CPF contra as 10 listas aplicaveis a pessoa fisica (CEIS, CNEP, CEAF, TCU, BACEN, sancoes internacionais, IBAMA Embargos, IBAMA Autos de Infracao, PEP, Debarment Multilateral). Valida o digito verificador do CPF.



## OpenAPI

````yaml /openapi/listas-restritivas.json get /listas-restritivas/cpf/{cpf}
openapi: 3.0.0
info:
  title: Sherlocker Listas Restritivas API
  description: >-
    Consulta consolidada de sancoes, impedimentos e alertas (PEP) contra 13
    listas oficiais. Retorna ocorrencias agrupadas (sancoes / restritivas /
    alertas) e um mapa de cobertura auditavel por lista, com saude da fonte e
    nivel de confiabilidade. Sincrono: a resposta ja vem completa, sem job nem
    polling.
  version: '1.0'
servers:
  - url: https://221b-api.sherlocker.com.br/api/v1
security:
  - tokenAuth: []
paths:
  /listas-restritivas/cpf/{cpf}:
    get:
      tags:
        - Listas Restritivas
      summary: Listas restritivas de uma pessoa
      description: >-
        Consulta um CPF contra as 10 listas aplicaveis a pessoa fisica (CEIS,
        CNEP, CEAF, TCU, BACEN, sancoes internacionais, IBAMA Embargos, IBAMA
        Autos de Infracao, PEP, Debarment Multilateral). Valida o digito
        verificador do CPF.
      operationId: getListasRestritivasByCpf
      parameters:
        - name: cpf
          in: path
          required: true
          description: CPF do titular (com ou sem formatacao)
          schema:
            type: string
            example: '12345678901'
        - name: nome
          in: query
          required: false
          description: >-
            Nome da pessoa. Se omitido, e resolvido automaticamente da base.
            Melhora listas que casam por nome (BACEN, sancoes internacionais).
          schema:
            type: string
      responses:
        '200':
          description: Ocorrencias agrupadas + mapa de cobertura
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListasRestritivasResponse'
              example:
                documento:
                  tipo: cpf
                  numero: '12345678901'
                  nome: Joao da Silva
                  nome_origem: informado
                consultado_em: '2026-06-17T12:00:00.000Z'
                resumo:
                  tem_ocorrencia: false
                  tem_sancao: false
                  tem_alerta: false
                  total_ocorrencias: 0
                  por_grupo:
                    sancoes: 0
                    restritivas: 0
                    alertas: 0
                  fontes_aplicaveis: 10
                  fontes_consultadas: 10
                  com_ocorrencia: 0
                  indisponiveis: 0
                  nao_aplicaveis: 3
                  confiabilidade: completa
                grupos:
                  sancoes: []
                  restritivas: []
                  alertas: []
                cobertura:
                  - lista_id: ceis
                    nome: CEIS — Empresas Inidoneas e Suspensas
                    grupo: sancoes
                    resultado: nada_consta
                    ocorrencias: 0
                    saude: OK
                    ultima_atualizacao: '2026-06-15 13:00:00'
                    fonte_oficial: https://portaldatransparencia.gov.br
                  - lista_id: pep
                    nome: PEP — Pessoa Politicamente Exposta
                    grupo: alertas
                    resultado: nada_consta
                    ocorrencias: 0
                    saude: OK
                    ultima_atualizacao: '2026-06-15 13:00:00'
                    fonte_oficial: https://portaldatransparencia.gov.br
                  - lista_id: lista-suja
                    nome: Trabalho Escravo (Lista Suja)
                    grupo: sancoes
                    resultado: nao_aplicavel
                    ocorrencias: 0
                    saude: null
                    ultima_atualizacao: null
                    fonte_oficial: https://www.gov.br/trabalho-e-emprego
        '400':
          description: CPF invalido (formato ou digito verificador)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Token ausente ou invalido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ListasRestritivasResponse:
      type: object
      properties:
        documento:
          type: object
          properties:
            tipo:
              type: string
              enum:
                - cpf
                - cnpj
            numero:
              type: string
              description: Apenas digitos
            nome:
              type: string
              nullable: true
            nome_origem:
              type: string
              enum:
                - informado
                - resolvido
                - nao_resolvido
              description: >-
                informado=veio na query; resolvido=resolvido da base interna;
                nao_resolvido=nao encontrado
        consultado_em:
          type: string
          description: ISO 8601
        resumo:
          $ref: '#/components/schemas/ResumoListasRestritivas'
        grupos:
          type: object
          properties:
            sancoes:
              type: array
              items:
                $ref: '#/components/schemas/Ocorrencia'
            restritivas:
              type: array
              items:
                $ref: '#/components/schemas/Ocorrencia'
            alertas:
              type: array
              items:
                $ref: '#/components/schemas/Ocorrencia'
        cobertura:
          type: array
          items:
            $ref: '#/components/schemas/CoberturaItem'
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        message:
          type: string
          example: CNPJ invalido
        path:
          type: string
          example: /api/v1/listas-restritivas/cnpj/11111111111111
        timestamp:
          type: string
          example: '2026-06-17T10:45:18.042Z'
    ResumoListasRestritivas:
      type: object
      description: Veredito de uma olhada.
      properties:
        tem_ocorrencia:
          type: boolean
        tem_sancao:
          type: boolean
          description: Grupo sancoes OU restritivas tem registro
        tem_alerta:
          type: boolean
          description: >-
            Grupo alertas tem registro (PEP). Um PEP sozinho nao marca
            tem_sancao.
        total_ocorrencias:
          type: number
        por_grupo:
          type: object
          properties:
            sancoes:
              type: number
            restritivas:
              type: number
            alertas:
              type: number
        fontes_aplicaveis:
          type: number
          description: >-
            Listas que se aplicam ao tipo do documento (10 para CPF, 10 para
            CNPJ)
        fontes_consultadas:
          type: number
        com_ocorrencia:
          type: number
        indisponiveis:
          type: number
        nao_aplicaveis:
          type: number
        confiabilidade:
          type: string
          enum:
            - completa
            - parcial
            - indisponivel
          description: >-
            completa=todas as listas aplicaveis responderam; parcial=algumas
            indisponiveis; indisponivel=todas as aplicaveis cairam. Trate
            negativo com cautela se != completa.
    Ocorrencia:
      type: object
      description: Um registro encontrado em uma lista.
      properties:
        lista_id:
          type: string
          description: >-
            Identificador da lista (ceis, cnep, ceaf, tcu, bcb, sancoes,
            lista-suja, cepim, acordos-leniencia, ibama, ibama-autos, pep,
            debarment-multilateral)
          example: cnep
        fonte:
          type: string
          description: Nome legivel da fonte do registro
          example: CNEP
        grupo:
          type: string
          enum:
            - sancoes
            - restritivas
            - alertas
          example: sancoes
        nome_na_fonte:
          type: string
          description: Nome como consta na lista
          example: ACME LTDA
        titulo:
          type: string
          description: Nome oficial da lista
          example: CNEP — Empresas Punidas
        orgao:
          type: string
          description: Orgao sancionador, quando houver
          example: Controladoria-Geral da Uniao
        data_inicio:
          type: string
          description: Data ISO (YYYY-MM-DD)
          example: '2024-01-01'
        data_fim:
          type: string
          description: Data ISO (YYYY-MM-DD)
          example: '2027-01-01'
        vigente:
          type: boolean
          description: data_fim >= hoje (true se nao ha data_fim)
          example: true
        fonte_oficial:
          type: string
          description: URL oficial da lista
          example: https://portaldatransparencia.gov.br
        ultima_atualizacao:
          type: string
          nullable: true
          description: YYYY-MM-DD HH:MM:SS
          example: '2026-06-15 13:00:00'
        detalhes:
          type: object
          description: Payload bruto do registro (campos variam por lista)
          additionalProperties: true
    CoberturaItem:
      type: object
      description: >-
        Status de uma das 13 listas. O array cobertura sempre traz as 13, mesmo
        sem registro, para auditoria do que foi (ou nao foi) verificado.
      properties:
        lista_id:
          type: string
          example: ceis
        nome:
          type: string
          example: CEIS — Empresas Inidoneas e Suspensas
        grupo:
          type: string
          enum:
            - sancoes
            - restritivas
            - alertas
        resultado:
          type: string
          enum:
            - encontrado
            - nada_consta
            - indisponivel
            - nao_aplicavel
            - requer_nome
          description: >-
            encontrado=ha registro; nada_consta=verificado sem registro;
            indisponivel=fonte degradada (STALE/FAILED); nao_aplicavel=lista nao
            cobre esse tipo de documento; requer_nome=lista exige nome e nenhum
            foi informado nem resolvido
        ocorrencias:
          type: number
          example: 0
        saude:
          type: string
          enum:
            - OK
            - STALE
            - FAILED
          nullable: true
          description: Saude da fonte; null quando nao consultada
        ultima_atualizacao:
          type: string
          nullable: true
          example: '2026-06-15 13:00:00'
        motivo:
          type: string
          description: Razao quando resultado=indisponivel
        fonte_oficial:
          type: string
          example: https://portaldatransparencia.gov.br
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: query
      name: token

````