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

# Expulsões da administração federal (CEAF)

> Lista registros do Cadastro de Expulsões da Administração Federal por CPF, com punição, processo, portaria, publicação, órgão, cargos e fundamentos legais. Consulta gratuita, inclusive sem saldo, e percorre todas as páginas disponíveis. O CPF publicado pode estar mascarado; a correspondência parcial não confirma identidade. A presença no cadastro não determina, isoladamente, a situação funcional atual.



## OpenAPI

````yaml /api-reference/openapi.json post /v3/individuals/expulsion-sanctions
openapi: 3.1.2
info:
  title: API Base39
  version: 3.0.0
  description: >-
    Contratos canônicos Base39 compartilhados entre API e MCP. Consultas de
    dados usam POST com identificadores e filtros no corpo JSON. GET lê recursos
    já criados, saldo, extrato e especificação; criação, atualização parcial e
    remoção usam POST, PATCH e DELETE. Campos de negócio em snake_case. Valores
    financeiros em centavos de BRL; montantes de dados consultados são textos
    decimais que preservam a precisão informada. Datas cadastrais usam
    YYYY-MM-DD. As consultas podem debitar o saldo; a repetição equivalente na
    organização é gratuita até meia-noite de São Paulo. O extrato informa o
    consumo. Campos ausentes não significam zero nem aprovação de crédito.
servers:
  - url: https://mcp.base39.com.br
    description: API pública Base39, independente do caminho do protocolo MCP.
security:
  - bearer_auth: []
tags:
  - name: Pessoas
    description: Consultas de pessoas.
  - name: Empresas
    description: Consultas de empresas.
  - name: Processos Judiciais
    description: Consultas de processos judiciais.
  - name: Sanções
    description: Consultas de sanções.
  - name: Crédito
    description: Consultas de crédito.
  - name: Certidões
    description: Consultas de certidões.
  - name: Dados públicos
    description: Consultas de dados públicos.
  - name: Monitoramento e notificações
    description: Monitoramento recorrente e destinos de notificações da organização.
  - name: Modelos de relatórios
    description: Modelos de relatório e seus recursos na organização autenticada.
  - name: Saldo e pagamentos
    description: Saldo e extrato da organização autenticada.
paths:
  /v3/individuals/expulsion-sanctions:
    post:
      tags:
        - Sanções
      summary: Expulsões da administração federal (CEAF)
      description: >-
        Lista registros do Cadastro de Expulsões da Administração Federal por
        CPF, com punição, processo, portaria, publicação, órgão, cargos e
        fundamentos legais. Consulta gratuita, inclusive sem saldo, e percorre
        todas as páginas disponíveis. O CPF publicado pode estar mascarado; a
        correspondência parcial não confirma identidade. A presença no cadastro
        não determina, isoladamente, a situação funcional atual.
      operationId: list_individual_expulsion_sanctions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list_individual_expulsion_sanctions_request'
            examples:
              requisicao:
                summary: Parâmetros da consulta.
                value:
                  document: '52998224725'
      responses:
        '200':
          description: >-
            Objeto ou página de dados Base39; next_cursor ausente indica o fim
            da coleção.
          headers:
            Request-Id:
              description: Identificador da requisição para suporte e rastreamento.
              schema:
                type: string
              example: req_example
            Cache-Control:
              description: >-
                As respostas autenticadas não devem ser armazenadas por serviços
                HTTP compartilhados.
              schema:
                type: string
                const: no-store
              example: no-store
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/list_individual_expulsion_sanctions_response
              examples:
                resposta:
                  summary: Exemplo de resposta Base39.
                  value:
                    object: list
                    document: '52998224725'
                    data:
                      - object: expulsion_sanction
                        document: '***.982.247-**'
                        name: Pessoa de exemplo
                        punishment: Demissão
                        case_number: 00000.000001/2026-00
                        order_number: '123'
                        publication_date: '2026-10-01'
                        authority_name: Órgão de exemplo
                        job_title: Analista
                        legal_bases:
                          - object: code_description
                            code: '1'
                            description: Fundamento legal de exemplo
        '400':
          $ref: '#/components/responses/error_400'
        '401':
          $ref: '#/components/responses/error_401'
        '402':
          $ref: '#/components/responses/error_402'
        '403':
          $ref: '#/components/responses/error_403'
        '404':
          $ref: '#/components/responses/error_404'
        '405':
          $ref: '#/components/responses/error_405'
        '409':
          $ref: '#/components/responses/error_409'
        '413':
          $ref: '#/components/responses/error_413'
        '415':
          $ref: '#/components/responses/error_415'
        '422':
          $ref: '#/components/responses/error_422'
        '425':
          $ref: '#/components/responses/error_425'
        '502':
          $ref: '#/components/responses/error_502'
        '503':
          $ref: '#/components/responses/error_503'
        '504':
          $ref: '#/components/responses/error_504'
components:
  schemas:
    list_individual_expulsion_sanctions_request:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        document:
          description: CPF completo, com ou sem pontuação.
          title: CPF
          type: string
          pattern: ^(?:\d{11}|\d{3}\.\d{3}\.\d{3}-\d{2})$
      required:
        - document
      additionalProperties: false
    list_individual_expulsion_sanctions_response:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        object:
          type: string
          const: list
          description: Coleção de objetos Base39.
        data:
          type: array
          items:
            type: object
            properties:
              object:
                type: string
                const: expulsion_sanction
                description: Tipo do objeto Base39.
              document:
                type: string
                minLength: 1
                description: >-
                  CPF publicado no registro; pode estar mascarado e não confirma
                  identidade quando parcial.
              name:
                type: string
                description: Nome da pessoa punida informado no registro.
              reported_name:
                type: string
                description: Nome informado no cadastro da pessoa.
              punishment:
                type: string
                description: Tipo de punição administrativa informado no registro.
              order_number:
                type: string
                description: Portaria que publicou a punição.
              case_number:
                type: string
                description: Número do processo administrativo.
              official_gazette_page:
                type: string
                description: Página da publicação no Diário Oficial da União.
              official_gazette_section:
                type: string
                description: Seção da publicação no Diário Oficial da União.
              publication_date:
                type: string
                format: date
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                description: Data da publicação, em YYYY-MM-DD.
              reference_date:
                type: string
                format: date
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                description: Data de referência do registro, em YYYY-MM-DD.
              authority_name:
                type: string
                description: Nome do órgão de lotação.
              authority_acronym:
                type: string
                description: Sigla do órgão de lotação.
              ministry_acronym:
                type: string
                description: Sigla da pasta responsável pelo órgão de lotação.
              state:
                type: string
                description: UF de lotação da pessoa.
              job_title:
                type: string
                description: Cargo efetivo da pessoa.
              commissioned_position_code:
                type: string
                description: Código do cargo em comissão.
              commissioned_position:
                type: string
                description: Nome do cargo em comissão.
              legal_bases:
                type: array
                items:
                  type: object
                  properties:
                    object:
                      type: string
                      const: code_description
                      description: Tipo do objeto Base39.
                    code:
                      type: string
                      description: Código de identificação.
                    description:
                      type: string
                      description: Descrição informada.
                  required:
                    - object
                  additionalProperties: false
                description: Fundamentos legais da punição.
            required:
              - object
              - document
            additionalProperties: false
          description: Objetos da coleção.
        next_cursor:
          description: Cursor opaco da próxima página; ausente ao final.
          type: string
        document:
          type: string
          minLength: 1
          description: CPF ou CNPJ informado pela fonte; pode estar mascarado.
        updated_at:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
          description: Data e hora da última atualização publicada, em ISO 8601.
      required:
        - object
        - data
        - document
      additionalProperties: false
    error:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - permission_error
                - balance_error
                - api_error
              description: Categoria estável da falha.
            code:
              type: string
              pattern: ^[a-z][a-z0-9_]*$
              description: Código estável da falha para tratamento pela aplicação.
            message:
              type: string
              description: Descrição da falha em português brasileiro.
            param:
              description: Parâmetro relacionado à falha, quando aplicável.
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
          description: Falha que impediu a operação.
      required:
        - error
      additionalProperties: false
  responses:
    error_400:
      description: Parâmetros inválidos.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Parâmetros inválidos.
              value:
                error:
                  type: invalid_request_error
                  code: invalid_request
                  message: Revise os parâmetros da requisição.
    error_401:
      description: Autenticação ausente ou inválida.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Autenticação ausente ou inválida.
              value:
                error:
                  type: authentication_error
                  code: unauthorized
                  message: Autenticação necessária.
    error_402:
      description: Saldo insuficiente para a consulta.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Saldo insuficiente para a consulta.
              value:
                error:
                  type: balance_error
                  code: insufficient_balance
                  message: Saldo insuficiente para realizar a consulta.
    error_403:
      description: Acesso não permitido.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Acesso não permitido.
              value:
                error:
                  type: permission_error
                  code: forbidden
                  message: Acesso não permitido.
    error_404:
      description: Operação ou resultado não encontrado.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Operação ou resultado não encontrado.
              value:
                error:
                  type: invalid_request_error
                  code: resource_not_found
                  message: Nenhum registro encontrado.
    error_405:
      description: Método HTTP não permitido.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Método HTTP não permitido.
              value:
                error:
                  type: invalid_request_error
                  code: method_not_allowed
                  message: Método HTTP não permitido para esta operação.
    error_409:
      description: Consulta equivalente em andamento.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
        Retry-After:
          description: Tempo em segundos antes de uma nova tentativa.
          schema:
            type: integer
            minimum: 1
          example: 2
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Consulta equivalente em andamento.
              value:
                error:
                  type: invalid_request_error
                  code: query_in_progress
                  message: Uma consulta equivalente está em andamento.
    error_413:
      description: Corpo da requisição acima do limite permitido para a operação.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Corpo da requisição acima do limite permitido para a operação.
              value:
                error:
                  type: invalid_request_error
                  code: request_too_large
                  message: A requisição excedeu o limite permitido.
    error_415:
      description: O corpo deve usar application/json.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: O corpo deve usar application/json.
              value:
                error:
                  type: invalid_request_error
                  code: unsupported_media_type
                  message: Envie o corpo como application/json.
    error_422:
      description: Integração ou parâmetros específicos indisponíveis.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Integração ou parâmetros específicos indisponíveis.
              value:
                error:
                  type: invalid_request_error
                  code: integration_not_configured
                  message: A integração necessária não está configurada na organização.
    error_425:
      description: Resultado temporariamente indisponível para leitura.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
        Retry-After:
          description: Tempo em segundos antes de uma nova tentativa.
          schema:
            type: integer
            minimum: 1
          example: 2
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Resultado temporariamente indisponível para leitura.
              value:
                error:
                  type: invalid_request_error
                  code: cache_propagating
                  message: O resultado está sendo disponibilizado. Tente novamente.
    error_502:
      description: Resposta inválida ao executar a consulta.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Resposta inválida ao executar a consulta.
              value:
                error:
                  type: api_error
                  code: query_unavailable
                  message: Não foi possível concluir a consulta.
    error_503:
      description: Serviço temporariamente indisponível.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
        Retry-After:
          description: Tempo em segundos antes de uma nova tentativa.
          schema:
            type: integer
            minimum: 1
          example: 2
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Serviço temporariamente indisponível.
              value:
                error:
                  type: api_error
                  code: query_unavailable
                  message: Não foi possível concluir a consulta.
    error_504:
      description: Prazo de execução excedido.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Prazo de execução excedido.
              value:
                error:
                  type: api_error
                  code: query_timeout
                  message: A consulta excedeu o prazo de execução.
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: >-
        Credencial OAuth da Base39 com os escopos profile e user:org:read, ou
        chave de API pertencente à organização. A organização e o autor são
        obtidos da autenticação.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.