> ## 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.

# Perfil Cadastral por CNPJ

> Agrega em uma chamada: dados cadastrais, atividades economicas e socios.



## OpenAPI

````yaml /openapi/perfil.json get /perfil/cadastral/cnpj/{cnpj}
openapi: 3.0.0
info:
  title: Sherlocker Perfis Agregados
  description: >-
    Endpoints de perfil que agregam dados de multiplas fontes em uma unica
    chamada.
  version: '1.0'
servers:
  - url: https://221b-api.sherlocker.com.br/api/v1
security:
  - tokenAuth: []
tags:
  - name: Perfil Cadastral
    description: Dados cadastrais agregados de pessoas fisicas e juridicas
  - name: Perfil Patrimonial
    description: >-
      Patrimonio agregado: veiculos, imoveis, aeronaves, patentes e propriedades
      rurais
  - name: Perfil Juridico
    description: Processos judiciais, trabalhistas e compliance
  - name: Perfil Financeiro
    description: Dividas federais, beneficios sociais e renuncias fiscais
paths:
  /perfil/cadastral/cnpj/{cnpj}:
    get:
      tags:
        - Perfil Cadastral
      summary: Perfil Cadastral por CNPJ
      description: 'Agrega em uma chamada: dados cadastrais, atividades economicas e socios.'
      operationId: perfilCadastralCnpj
      parameters:
        - name: cnpj
          in: path
          required: true
          description: CNPJ da empresa (somente digitos, 14 caracteres)
          schema:
            type: string
            example: '12345678000195'
      responses:
        '200':
          description: >-
            Perfil cadastral completo da empresa. Observacao: para documento
            invalido ou nao encontrado a API responde 200 com o corpo { "erro":
            "..." } (ex.: CNPJ invalido, CNPJ nao encontrado, Servico
            indisponivel).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerfilCadastralCnpjResponse'
              example:
                documento: 12.345.678/0001-95
                tipo_documento: CNPJ
                cnpj_basico: '12345678'
                razao_social: Technovacao Digital Ltda
                nome_fantasia: Technovacao
                situacao: Ativa
                data_situacao: '2016-01-20'
                motivo_situacao: null
                data_abertura: '2016-01-20'
                capital_social: 50000
                porte: Empresa de Pequeno Porte
                matriz_filial: Matriz
                natureza_juridica:
                  codigo: '2062'
                  descricao: Sociedade Empresária Limitada
                atividade_principal:
                  codigo: '6209100'
                  descricao: Suporte tecnico em TI
                atividades_secundarias:
                  - codigo: '6201500'
                    descricao: Desenvolvimento de programas de computador sob encomenda
                endereco:
                  logradouro: Avenida Paulista
                  numero: '1000'
                  complemento: Sala 1201
                  bairro: Bela Vista
                  cidade: Sao Paulo
                  uf: SP
                  cep: 01310-100
                telefones:
                  - ddi: '55'
                    ddd: '11'
                    numero: '34567890'
                    numero_completo: '551134567890'
                    estado: SP
                    operadora: Fixo
                emails:
                  - email: contato@technovacao.com.br
                    dominio: technovacao.com.br
                    corporativo: true
                socios:
                  - nome: Maria Da Silva
                    documento: 123.456.789-01
                    tipo_documento: CPF
                    tipo: Pessoa Física
                    qualificacao: Socio-Administrador
                    data_entrada: '2016-01-20'
                    pais: Brasil
                    origem: qsa
                    data_nascimento: '1985-03-12'
                    sexo: Feminino
                    idade: 41
                    faixa_etaria: 31 a 40 anos
                situacao_especial: null
                data_situacao_especial: null
        '400':
          description: Parametro invalido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Token ausente ou invalido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    PerfilCadastralCnpjResponse:
      type: object
      description: Perfil cadastral completo de uma empresa
      properties:
        documento:
          type: string
          description: CNPJ formatado (00.000.000/0000-00)
          example: 12.345.678/0001-95
        tipo_documento:
          type: string
          enum:
            - CNPJ
          example: CNPJ
        cnpj_basico:
          type: string
          description: Raiz do CNPJ (8 primeiros digitos)
          example: '12345678'
        razao_social:
          type: string
          description: Razao social da empresa
          example: Technovacao Digital Ltda
        nome_fantasia:
          type: string
          nullable: true
          description: Nome fantasia da empresa (null se ausente)
          example: Technovacao
        situacao:
          type: string
          description: >-
            Situacao cadastral (Nula, Ativa, Suspensa, Inapta, Baixada) ou o
            codigo bruto quando nao mapeado
          example: Ativa
        data_situacao:
          type: string
          description: Data da situacao cadastral no formato YYYY-MM-DD
          example: '2016-01-20'
        motivo_situacao:
          type: string
          nullable: true
          description: Motivo da situacao cadastral (null se ausente)
          example: null
        data_abertura:
          type: string
          description: Data de inicio das atividades no formato YYYY-MM-DD
          example: '2016-01-20'
        capital_social:
          type: number
          description: Capital social da empresa em reais
          example: 50000
        porte:
          type: string
          nullable: true
          description: >-
            Porte da empresa (Microempresa, Empresa de Pequeno Porte, etc.) ou
            null
          example: Empresa de Pequeno Porte
        matriz_filial:
          type: string
          nullable: true
          description: Matriz ou Filial (null se indisponivel)
          example: Matriz
        natureza_juridica:
          type: object
          description: Natureza juridica da empresa (objeto codigo/descricao)
          properties:
            codigo:
              type: string
              example: '2062'
            descricao:
              type: string
              example: Sociedade Empresária Limitada
        atividade_principal:
          type: object
          nullable: true
          description: CNAE principal (fiscal) da empresa, ou null
          properties:
            codigo:
              type: string
              example: '6209100'
            descricao:
              type: string
              example: Suporte tecnico em TI
        atividades_secundarias:
          type: array
          description: CNAEs secundarios da empresa
          items:
            $ref: '#/components/schemas/Cnae'
        endereco:
          $ref: '#/components/schemas/Endereco'
        telefones:
          type: array
          description: Lista de telefones da empresa
          items:
            $ref: '#/components/schemas/Telefone'
        emails:
          type: array
          description: Lista de emails da empresa
          items:
            $ref: '#/components/schemas/Email'
        socios:
          type: array
          description: Quadro societario da empresa
          items:
            $ref: '#/components/schemas/Socio'
        situacao_especial:
          type: string
          nullable: true
          description: Situacao especial da empresa (null se ausente)
          example: null
        data_situacao_especial:
          type: string
          nullable: true
          description: Data da situacao especial no formato YYYY-MM-DD (null se ausente)
          example: null
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        erro:
          type: object
          properties:
            codigo:
              type: string
              description: 'Codigo do erro (ex: VALIDATION_ERROR, NOT_FOUND, UNAUTHORIZED)'
              example: VALIDATION_ERROR
            mensagem:
              type: string
              description: Mensagem descritiva do erro
              example: CPF invalido
    Cnae:
      type: object
      description: Classificacao Nacional de Atividades Economicas
      properties:
        codigo:
          type: string
          description: Codigo CNAE (7 digitos)
          example: '6209100'
        descricao:
          type: string
          description: Descricao da atividade economica
          example: Suporte tecnico em TI
    Endereco:
      type: object
      description: Endereco completo
      properties:
        logradouro:
          type: string
          description: Nome da rua, avenida ou logradouro
          example: R HENRIQUE PASSINI
        numero:
          type: string
          description: Numero do imovel
          example: '748'
        complemento:
          type: string
          description: Complemento do endereco (apartamento, sala, etc.)
          example: '401'
        bairro:
          type: string
          description: Nome do bairro
          example: SERRA
        cidade:
          type: string
          description: Nome da cidade
          example: BELO HORIZONTE
        uf:
          type: string
          description: Sigla da unidade federativa (estado)
          example: MG
        cep:
          type: string
          description: CEP no formato 00000-000
          example: 30220-380
    Telefone:
      type: object
      description: Informacoes de telefone com detalhes da operadora
      properties:
        ddi:
          type: string
          description: Codigo DDI do pais
          example: '55'
        ddd:
          type: string
          description: Codigo DDD da regiao
          example: '31'
        numero:
          type: string
          description: Numero do telefone sem DDD
          example: '987654321'
        numero_completo:
          type: string
          description: Numero completo com DDI + DDD + numero
          example: '5531987654321'
        estado:
          type: string
          description: UF associada ao DDD
          example: MG
        operadora:
          type: string
          description: Nome da operadora de telefonia
          example: Vivo
        data:
          type: string
          nullable: true
          description: >-
            Ano de referencia do registro do telefone no formato YYYY-01-01
            (sempre 1o de janeiro do ano derivado), ou null. Presente apenas nos
            telefones de pessoa fisica (telefones de empresa e de contatos de
            emprego nao incluem este campo).
          example: '2022-01-01'
    Email:
      type: object
      description: Endereco de email com classificacao
      properties:
        email:
          type: string
          description: Endereco de email completo
          example: maria@gmail.com
        dominio:
          type: string
          description: Dominio do email
          example: gmail.com
        corporativo:
          type: boolean
          description: Indica se o email e corporativo (dominio proprio)
          example: false
    Socio:
      type: object
      description: Socio ou administrador da empresa
      properties:
        nome:
          type: string
          description: Nome completo do socio
          example: MARIA DA SILVA
        documento:
          type: string
          nullable: true
          description: >-
            CPF ou CNPJ formatado do socio. null para PF quando o CPF nao pode
            ser resolvido (mascarado)
          example: 123.456.789-01
        tipo_documento:
          type: string
          enum:
            - CPF
            - CNPJ
          description: CPF para Pessoa Fisica, CNPJ para Pessoa Juridica
          example: CPF
        tipo:
          type: string
          description: Pessoa Fisica ou Pessoa Juridica
          example: Pessoa Física
        qualificacao:
          type: string
          description: 'Qualificacao do socio (ex: Socio-Administrador, Socio, etc.)'
          example: Socio-Administrador
        data_entrada:
          type: string
          description: Data de entrada na sociedade no formato YYYY-MM-DD
          example: '2016-01-20'
        pais:
          type: string
          description: Pais do socio (default Brasil)
          example: Brasil
        origem:
          type: string
          description: 'Origem do registro do socio (ex: qsa)'
          example: qsa
        data_nascimento:
          type: string
          nullable: true
          description: Somente para Pessoa Fisica
        sexo:
          type: string
          nullable: true
          description: Somente para Pessoa Fisica
        idade:
          type: integer
          nullable: true
          description: Somente para Pessoa Fisica
        faixa_etaria:
          type: string
          nullable: true
        representante:
          type: object
          nullable: true
          description: Somente para Pessoa Juridica
          properties:
            nome:
              type: string
            documento:
              type: string
              nullable: true
              description: >-
                CPF formatado do representante, ou null quando mascarado/nao
                resolvido
            qualificacao:
              type: string
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: query
      name: token

````