openapi: 3.0.0
info:
  title: API de Consultas GTSCR
  description: API para realizar consultas ao Sistema de Informações de Crédito (SCR) do Bacen
  version: 1.0.0
servers:
  - url: 'https://api.staging.scr.gtbanker.com.br/api'
    description: Servidor de Homologação
  - url: 'https://api.scr.gtbanker.com.br/api'
    description: Servidor de Produção
paths:
  /scr:
    post:
      tags:
        - Consultas SCR
      summary: Criar nova solicitação de consulta SCR
      description: |
        Inicia o processo de consulta ao SCR. Dependendo da configuração `needsToSign`, este endpoint pode iniciar um fluxo de assinatura digital (via e-mail/token) antes de efetivamente consultar o Bacen.
        A resposta retorna um UUID que deve ser usado para acompanhar o status ou configurar o webhook.
      operationId: createConsultation
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - personType
                - documentNumber
                - startDate
                - endDate
              properties:
                name:
                  type: string
                  description: Nome da pessoa física ou Razão Social da empresa.
                  example: João da Silva
                personType:
                  type: string
                  description: Tipo de pessoa.
                  enum:
                    - Pessoa_Fisica
                    - Pessoa_Juridica
                  example: Pessoa_Fisica
                documentNumber:
                  type: string
                  description: CPF (11 dígitos) ou CNPJ (14 dígitos) apenas números.
                  example: '12345678901'
                startDate:
                  type: string
                  pattern: '^\d{4}-(0[1-9]|1[0-2])$'
                  description: Mês inicial da consulta (Formato YYYY-MM).
                  example: 2023-01
                endDate:
                  type: string
                  pattern: '^\d{4}-(0[1-9]|1[0-2])$'
                  description: Mês final da consulta (Formato YYYY-MM).
                  example: 2023-06
                signers:
                  type: array
                  description: Lista de signatários que receberão o termo para assinar (obrigatório se needsToSign for true).
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        description: Nome do signatário
                      email:
                        type: string
                        format: email
                        description: Email do signatário
                      documentNumber:
                        type: string
                        description: CPF/CNPJ do signatário
                      signatureType:
                        type: string
                        enum:
                          - PART
                          - WITNESS
                          - CONTRACTOR
                          - HIRED
                          - ADMINISTRATOR
                          - LEGAL_REPRESENTATIVE
                        description: Tipo de assinatura
                    required:
                      - name
                      - email
                      - documentNumber
                      - signatureType
                checkRepresentatives:
                  type: boolean
                  default: false
                  description: 'Se verdadeiro, é obrigatorio fazer o envio do contrato social.'
                needsToSign:
                  type: boolean
                  default: true
                  description: |
                    Define se é necessário coletar assinatura. Se `false`, a API assume que a organização já possui o consentimento e fará a consulta direta (Requer permissão especial).
                socialContract:
                  description: Contrato social (obrigatório para PJ em alguns fluxos).
                  type: object
                  properties:
                    file:
                      type: string
                      format: binary
                      description: Arquivo em formato binário
                    name:
                      type: string
                      description: Nome do arquivo
                    mimeType:
                      type: string
                      description: Tipo MIME do arquivo
                  required:
                    - file
                    - name
                    - mimeType
                powersOfAttorney:
                  type: array
                  description: Procurações (se houver representante legal por procuração).
                  items:
                    type: object
                    properties:
                      file:
                        type: string
                        format: binary
                        description: Arquivo em formato binário
                      name:
                        type: string
                        description: Nome do arquivo
                      mimeType:
                        type: string
                        description: Tipo MIME do arquivo
                    required:
                      - file
                      - name
                      - mimeType
                documentSign:
                  type: object
                  properties:
                    file:
                      type: string
                      format: binary
                      description: Arquivo do documento em formato binário
                    name:
                      type: string
                      description: Nome do documento
                    externalIdentification:
                      type: string
                      description: Identificação externa do documento
                    notificationType:
                      type: string
                      enum:
                        - DONT_NOTIFY
                        - NOTIFY
                      default: NOTIFY
                      description: Tipo de notificação
                    deadline:
                      type: string
                      format: date
                      description: Data limite para assinatura
                  required:
                    - file
                    - name
                signatureMethods:
                  type: array
                  description: Métodos de assinatura aceitos para os signatários.
                  items:
                    type: string
                    enum:
                      - TOKEN
                      - SIGNATURE
                      - SELFIE
                    description: Método de assinatura disponível para o fluxo de crédito
      responses:
        '201':
          description: Solicitação criada com sucesso. O processo continuará de forma assíncrona.
          content:
            application/json:
              schema:
                type: object
                properties:
                  uuid:
                    type: string
                    description: UUID da consulta
        '400':
          description: 'Dados inválidos (ex formato de data incorreto, documento inválido).'
          content:
            application/json:
              schema:
                type: object
                description: Representa um erro ocorrido durante a consulta
                properties:
                  errorCode:
                    type: string
                    description: Código do erro
                  description:
                    type: string
                    description: Descrição detalhada do erro
        '401':
          description: Não autorizado (Token ausente ou inválido).
        '403':
          description: Proibido (Usuário não possui a role ORGANIZATION).
    get:
      tags:
        - Consultas SCR
      summary: Pesquisar histórico de consultas por Documento e Data
      description: Lista as consultas realizadas para um determinado documento dentro de um período específico.
      operationId: getConsultationByDocument
      security:
        - bearerAuth: []
      parameters:
        - name: documentNumber
          in: query
          required: true
          schema:
            type: string
          description: Número do documento (CPF ou CNPJ sem formatação).
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            pattern: '^\d{4}-(0[1-9]|1[0-2])$'
            example: 2023-01
          description: Mês inicial da pesquisa (Formato YYYY-MM).
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            pattern: '^\d{4}-(0[1-9]|1[0-2])$'
            example: 2023-06
          description: Mês final da pesquisa (Formato YYYY-MM).
        - name: generatePdf
          in: query
          required: false
          description: Define se o binário do PDF deve ser retornado na resposta (Default = true).
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Lista de consultas encontradas.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Resposta de uma consulta ao SCR
                  properties:
                    uuid:
                      type: string
                      description: Identificador único da consulta
                    status:
                      type: string
                      enum:
                        - PENDING
                        - PROCESSING
                        - COMPLETED
                        - ERROR
                        - EXPIRED
                        - CANCELED
                      description: Status atual da consulta
                    webhookType:
                      type: string
                      enum:
                        - SCR
                        - DOCUMENT_EXPIRED
                        - DOCUMENT_SIGNED
                      description: Tipo de webhook que gerou a resposta
                    data:
                      description: Dados da consulta ao SCR
                      type: object
                      properties:
                        consentTerm:
                          type: string
                          description: Termo de consentimento fornecido pelo cliente para consulta ao SCR
                        consultedAt:
                          type: string
                          format: date
                          description: Data em que a consulta ao SCR foi realizada
                        createdAt:
                          type: string
                          format: date
                          description: Data de criação do registro da consulta
                        originUuid:
                          type: string
                          description: Identificador único universal da origem da consulta
                        reportEndDate:
                          type: string
                          description: Data final do período consultado no SCR
                        reportStartDate:
                          type: string
                          description: Data inicial do período consultado no SCR
                        resultDocument:
                          type: string
                          description: Documento resultante da consulta ao SCR
                        scrKey:
                          type: string
                          description: Chave única de identificação da consulta no SCR
                        scrStatus:
                          type: string
                          description: Status atual da consulta no SCR
                        subjectDocumentNumber:
                          type: string
                          description: Número do documento (CPF/CNPJ) do cliente consultado
                        subjectName:
                          type: string
                          description: Nome ou razão social do cliente consultado
                        subjectPersonType:
                          type: string
                          description: Tipo de pessoa do cliente (Pessoa_Fisica ou Pessoa_Juridica)
                        scrData:
                          type: array
                          description: Lista dos dados obtidos do SCR para cada período consultado
                          items:
                            type: object
                            description: Dados consolidados de uma consulta ao SCR (Sistema de Informações de Crédito) do Banco Central
                            properties:
                              referenceDate:
                                type: string
                                description: Data base de referência das informações consultadas no SCR
                              financialInstitutionCount:
                                type: string
                                description: Quantidade total de instituições financeiras que enviaram informações do cliente ao SCR
                              operationCount:
                                type: string
                                description: Quantidade total de operações do cliente reportadas ao SCR
                              assumedCoobligation:
                                type: string
                                description: 'Valor total das coobrigações assumidas pelo cliente como avalista, fiador ou coobrigado em operações de crédito'
                              receiveCoobligation:
                                type: string
                                description: Valor total das operações de crédito do cliente que possuem coobrigados (avalistas ou fiadores)
                              startRelationship:
                                type: string
                                description: Data mais antiga de início de relacionamento do cliente com instituições financeiras reportado ao SCR
                              disagreementOperationCount:
                                type: string
                                description: Quantidade de operações que o cliente registrou manifestação de discordância junto ao Banco Central
                              disagreementOperationValue:
                                type: string
                                description: Valor total das operações com manifestação de discordância registrada pelo cliente
                              subjudiceOperationsCount:
                                type: string
                                description: Quantidade de operações com decisão judicial que impacta seu registro no SCR
                              subjudiceOperationsValue:
                                type: string
                                description: Valor total das operações com decisão judicial que impacta seu registro no SCR
                              indirectRisk:
                                type: string
                                description: 'Valor total de operações onde o cliente consta como coobrigado (avalista, fiador) - risco indireto assumido'
                              error:
                                type: array
                                description: Lista de erros identificados durante a consulta ao SCR
                                items:
                                  type: object
                                  description: Representa um erro ocorrido durante a consulta
                                  properties:
                                    errorCode:
                                      type: string
                                      description: Código do erro
                                    description:
                                      type: string
                                      description: Descrição detalhada do erro
                              operationItems:
                                type: array
                                description: Lista detalhada das operações de crédito reportadas ao SCR
                                items:
                                  type: object
                                  description: Representa uma operação de crédito registrada no SCR do Banco Central
                                  properties:
                                    dueValue:
                                      type: string
                                      description: 'Valor a vencer da operação de crédito, conforme registrado no SCR'
                                    exchangeVariation:
                                      type: string
                                      description: 'Valor da variação cambial da operação, quando aplicável em operações em moeda estrangeira'
                                    categorySub:
                                      description: Classificação e subclassificação da modalidade da operação de crédito conforme tabela do BACEN
                                      type: object
                                      properties:
                                        category:
                                          description: Modalidade principal da operação conforme tabela do BACEN
                                          type: object
                                          properties:
                                            category_code:
                                              type: integer
                                              description: Código da modalidade conforme tabela de domínio do BACEN
                                            category_description:
                                              type: string
                                              description: Descrição da modalidade de crédito conforme definido pelo BACEN
                                        categorySubCode:
                                          type: integer
                                          description: Código da submodalidade da operação conforme tabela do BACEN
                                        description:
                                          type: string
                                          description: Descrição da submodalidade da operação de crédito
                                    dueType:
                                      description: Tipo e característica do vencimento da operação conforme classificação do SCR
                                      type: object
                                      properties:
                                        code:
                                          type: string
                                          description: Código do tipo de vencimento
                                        description:
                                          type: string
                                          description: Descrição do tipo de vencimento
                        signers:
                          type: array
                          description: Lista dos responsáveis pela assinatura/autorização da consulta ao SCR
                          items:
                            type: object
                            properties:
                              uuid:
                                type: string
                                description: Identificador único do signatário
                              name:
                                type: string
                                description: Nome do signatário
                              email:
                                type: string
                                format: email
                                description: Email do signatário
                              documentNumber:
                                type: string
                                description: CPF/CNPJ do signatário
                              signatureType:
                                type: string
                                enum:
                                  - PART
                                  - WITNESS
                                  - CONTRACTOR
                                  - HIRED
                                  - ADMINISTRATOR
                                  - LEGAL_REPRESENTATIVE
                                description: Tipo de assinatura
                              status:
                                type: string
                                enum:
                                  - PENDING
                                  - SIGNED
                                  - EXPIRED
                                  - CANCELED
                                description: Status da assinatura
                            required:
                              - uuid
                              - name
                              - email
                              - documentNumber
                              - signatureType
                              - status
                    pdf:
                      type: string
                      format: binary
                      description: Documento PDF com o resultado da consulta
                    createdAt:
                      type: string
                      format: date-time
                      description: Data e hora de criação da consulta
                    updatedAt:
                      type: string
                      format: date-time
                      description: Data e hora da última atualização da consulta
                  required:
                    - uuid
                    - status
                    - webhookType
                    - data
                    - createdAt
                    - updatedAt
        '400':
          description: Parâmetros inválidos (ex datas fora do padrão).
        '404':
          description: Nenhuma consulta encontrada.
          content:
            application/json:
              schema:
                type: object
                description: Representa um erro ocorrido durante a consulta
                properties:
                  errorCode:
                    type: string
                    description: Código do erro
                  description:
                    type: string
                    description: Descrição detalhada do erro
  '/scr/{uuid}':
    get:
      tags:
        - Consultas SCR
      summary: Obter detalhes de uma consulta por UUID
      description: |
        Retorna o status atual e os dados da consulta (se finalizada). Se o PDF já tiver sido gerado, ele será retornado em Base64 dentro do objeto de resposta ou como anexo, dependendo da implementação.
      operationId: getConsultationByUuid
      security:
        - bearerAuth: []
      parameters:
        - name: uuid
          in: path
          required: true
          description: UUID retornado na criação da consulta.
          schema:
            type: string
        - name: generatePdf
          in: query
          required: false
          description: Define se o binário do PDF deve ser retornado na resposta (Default = true).
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Dados da consulta encontrados.
          content:
            application/json:
              schema:
                type: object
                description: Resposta de uma consulta ao SCR
                properties:
                  uuid:
                    type: string
                    description: Identificador único da consulta
                  status:
                    type: string
                    enum:
                      - PENDING
                      - PROCESSING
                      - COMPLETED
                      - ERROR
                      - EXPIRED
                      - CANCELED
                    description: Status atual da consulta
                  webhookType:
                    type: string
                    enum:
                      - SCR
                      - DOCUMENT_EXPIRED
                      - DOCUMENT_SIGNED
                    description: Tipo de webhook que gerou a resposta
                  data:
                    description: Dados da consulta ao SCR
                    type: object
                    properties:
                      consentTerm:
                        type: string
                        description: Termo de consentimento fornecido pelo cliente para consulta ao SCR
                      consultedAt:
                        type: string
                        format: date
                        description: Data em que a consulta ao SCR foi realizada
                      createdAt:
                        type: string
                        format: date
                        description: Data de criação do registro da consulta
                      originUuid:
                        type: string
                        description: Identificador único universal da origem da consulta
                      reportEndDate:
                        type: string
                        description: Data final do período consultado no SCR
                      reportStartDate:
                        type: string
                        description: Data inicial do período consultado no SCR
                      resultDocument:
                        type: string
                        description: Documento resultante da consulta ao SCR
                      scrKey:
                        type: string
                        description: Chave única de identificação da consulta no SCR
                      scrStatus:
                        type: string
                        description: Status atual da consulta no SCR
                      subjectDocumentNumber:
                        type: string
                        description: Número do documento (CPF/CNPJ) do cliente consultado
                      subjectName:
                        type: string
                        description: Nome ou razão social do cliente consultado
                      subjectPersonType:
                        type: string
                        description: Tipo de pessoa do cliente (Pessoa_Fisica ou Pessoa_Juridica)
                      scrData:
                        type: array
                        description: Lista dos dados obtidos do SCR para cada período consultado
                        items:
                          type: object
                          description: Dados consolidados de uma consulta ao SCR (Sistema de Informações de Crédito) do Banco Central
                          properties:
                            referenceDate:
                              type: string
                              description: Data base de referência das informações consultadas no SCR
                            financialInstitutionCount:
                              type: string
                              description: Quantidade total de instituições financeiras que enviaram informações do cliente ao SCR
                            operationCount:
                              type: string
                              description: Quantidade total de operações do cliente reportadas ao SCR
                            assumedCoobligation:
                              type: string
                              description: 'Valor total das coobrigações assumidas pelo cliente como avalista, fiador ou coobrigado em operações de crédito'
                            receiveCoobligation:
                              type: string
                              description: Valor total das operações de crédito do cliente que possuem coobrigados (avalistas ou fiadores)
                            startRelationship:
                              type: string
                              description: Data mais antiga de início de relacionamento do cliente com instituições financeiras reportado ao SCR
                            disagreementOperationCount:
                              type: string
                              description: Quantidade de operações que o cliente registrou manifestação de discordância junto ao Banco Central
                            disagreementOperationValue:
                              type: string
                              description: Valor total das operações com manifestação de discordância registrada pelo cliente
                            subjudiceOperationsCount:
                              type: string
                              description: Quantidade de operações com decisão judicial que impacta seu registro no SCR
                            subjudiceOperationsValue:
                              type: string
                              description: Valor total das operações com decisão judicial que impacta seu registro no SCR
                            indirectRisk:
                              type: string
                              description: 'Valor total de operações onde o cliente consta como coobrigado (avalista, fiador) - risco indireto assumido'
                            error:
                              type: array
                              description: Lista de erros identificados durante a consulta ao SCR
                              items:
                                type: object
                                description: Representa um erro ocorrido durante a consulta
                                properties:
                                  errorCode:
                                    type: string
                                    description: Código do erro
                                  description:
                                    type: string
                                    description: Descrição detalhada do erro
                            operationItems:
                              type: array
                              description: Lista detalhada das operações de crédito reportadas ao SCR
                              items:
                                type: object
                                description: Representa uma operação de crédito registrada no SCR do Banco Central
                                properties:
                                  dueValue:
                                    type: string
                                    description: 'Valor a vencer da operação de crédito, conforme registrado no SCR'
                                  exchangeVariation:
                                    type: string
                                    description: 'Valor da variação cambial da operação, quando aplicável em operações em moeda estrangeira'
                                  categorySub:
                                    description: Classificação e subclassificação da modalidade da operação de crédito conforme tabela do BACEN
                                    type: object
                                    properties:
                                      category:
                                        description: Modalidade principal da operação conforme tabela do BACEN
                                        type: object
                                        properties:
                                          category_code:
                                            type: integer
                                            description: Código da modalidade conforme tabela de domínio do BACEN
                                          category_description:
                                            type: string
                                            description: Descrição da modalidade de crédito conforme definido pelo BACEN
                                      categorySubCode:
                                        type: integer
                                        description: Código da submodalidade da operação conforme tabela do BACEN
                                      description:
                                        type: string
                                        description: Descrição da submodalidade da operação de crédito
                                  dueType:
                                    description: Tipo e característica do vencimento da operação conforme classificação do SCR
                                    type: object
                                    properties:
                                      code:
                                        type: string
                                        description: Código do tipo de vencimento
                                      description:
                                        type: string
                                        description: Descrição do tipo de vencimento
                      signers:
                        type: array
                        description: Lista dos responsáveis pela assinatura/autorização da consulta ao SCR
                        items:
                          type: object
                          properties:
                            uuid:
                              type: string
                              description: Identificador único do signatário
                            name:
                              type: string
                              description: Nome do signatário
                            email:
                              type: string
                              format: email
                              description: Email do signatário
                            documentNumber:
                              type: string
                              description: CPF/CNPJ do signatário
                            signatureType:
                              type: string
                              enum:
                                - PART
                                - WITNESS
                                - CONTRACTOR
                                - HIRED
                                - ADMINISTRATOR
                                - LEGAL_REPRESENTATIVE
                              description: Tipo de assinatura
                            status:
                              type: string
                              enum:
                                - PENDING
                                - SIGNED
                                - EXPIRED
                                - CANCELED
                              description: Status da assinatura
                          required:
                            - uuid
                            - name
                            - email
                            - documentNumber
                            - signatureType
                            - status
                  pdf:
                    type: string
                    format: binary
                    description: Documento PDF com o resultado da consulta
                  createdAt:
                    type: string
                    format: date-time
                    description: Data e hora de criação da consulta
                  updatedAt:
                    type: string
                    format: date-time
                    description: Data e hora da última atualização da consulta
                required:
                  - uuid
                  - status
                  - webhookType
                  - data
                  - createdAt
                  - updatedAt
        '404':
          description: Consulta não encontrada para o UUID informado.
          content:
            application/json:
              schema:
                type: object
                description: Representa um erro ocorrido durante a consulta
                properties:
                  errorCode:
                    type: string
                    description: Código do erro
                  description:
                    type: string
                    description: Descrição detalhada do erro
  /webhooks:
    post:
      tags:
        - Configuração Webhooks
      summary: Configurar Webhook da Organização
      description: |
        Define a URL e o Segredo para onde a API deve enviar os callbacks (notificações de sucesso, erro ou assinatura de documentos). Apenas um webhook pode ser configurado por organização (sobrescreve o anterior).
      operationId: createOrUpdateWebhook
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - payloadUrl
                - secret
              properties:
                payloadUrl:
                  type: string
                  format: uri
                  description: URL HTTPS onde a notificação será entregue (POST).
                  example: 'https://minhaempresa.com.br/api/callback/scr'
                secret:
                  type: string
                  description: Token ou chave secreta enviada no Header 'Authorization' da notificação para validar a origem.
                  example: my-secret-key-123
      responses:
        '201':
          description: Webhook configurado com sucesso.
        '400':
          description: URL inválida ou dados incompletos.
          content:
            application/json:
              schema:
                type: object
                description: Representa um erro ocorrido durante a consulta
                properties:
                  errorCode:
                    type: string
                    description: Código do erro
                  description:
                    type: string
                    description: Descrição detalhada do erro
    get:
      tags:
        - Configuração Webhooks
      summary: Visualizar configuração atual do Webhook
      description: Retorna a URL e o Segredo configurados atualmente para a organização autenticada.
      operationId: getWebhookConfig
      security:
        - bearerAuth: []
      responses:
        '200':
          description: Configuração encontrada.
          content:
            application/json:
              schema:
                type: object
                properties:
                  payloadUrl:
                    type: string
                    description: URL configurada.
                  secret:
                    type: string
                    description: Chave secreta configurada.
        '404':
          description: Nenhum webhook configurado para esta organização.
          content:
            application/json:
              schema:
                type: object
                description: Representa um erro ocorrido durante a consulta
                properties:
                  errorCode:
                    type: string
                    description: Código do erro
                  description:
                    type: string
                    description: Descrição detalhada do erro
  /webhook-callback-example:
    post:
      tags:
        - Exemplo de Callback
      summary: Estrutura do Payload de Callback (Exemplo)
      description: |
        Este endpoint não existe na API. Ele serve apenas para documentar o formato do JSON que a API enviará para a `payloadUrl` configurada pelo cliente quando uma consulta for concluída.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Resposta de uma consulta ao SCR
              properties:
                uuid:
                  type: string
                  description: Identificador único da consulta
                status:
                  type: string
                  enum:
                    - PENDING
                    - PROCESSING
                    - COMPLETED
                    - ERROR
                    - EXPIRED
                    - CANCELED
                  description: Status atual da consulta
                webhookType:
                  type: string
                  enum:
                    - SCR
                    - DOCUMENT_EXPIRED
                    - DOCUMENT_SIGNED
                  description: Tipo de webhook que gerou a resposta
                data:
                  description: Dados da consulta ao SCR
                  type: object
                  properties:
                    consentTerm:
                      type: string
                      description: Termo de consentimento fornecido pelo cliente para consulta ao SCR
                    consultedAt:
                      type: string
                      format: date
                      description: Data em que a consulta ao SCR foi realizada
                    createdAt:
                      type: string
                      format: date
                      description: Data de criação do registro da consulta
                    originUuid:
                      type: string
                      description: Identificador único universal da origem da consulta
                    reportEndDate:
                      type: string
                      description: Data final do período consultado no SCR
                    reportStartDate:
                      type: string
                      description: Data inicial do período consultado no SCR
                    resultDocument:
                      type: string
                      description: Documento resultante da consulta ao SCR
                    scrKey:
                      type: string
                      description: Chave única de identificação da consulta no SCR
                    scrStatus:
                      type: string
                      description: Status atual da consulta no SCR
                    subjectDocumentNumber:
                      type: string
                      description: Número do documento (CPF/CNPJ) do cliente consultado
                    subjectName:
                      type: string
                      description: Nome ou razão social do cliente consultado
                    subjectPersonType:
                      type: string
                      description: Tipo de pessoa do cliente (Pessoa_Fisica ou Pessoa_Juridica)
                    scrData:
                      type: array
                      description: Lista dos dados obtidos do SCR para cada período consultado
                      items:
                        type: object
                        description: Dados consolidados de uma consulta ao SCR (Sistema de Informações de Crédito) do Banco Central
                        properties:
                          referenceDate:
                            type: string
                            description: Data base de referência das informações consultadas no SCR
                          financialInstitutionCount:
                            type: string
                            description: Quantidade total de instituições financeiras que enviaram informações do cliente ao SCR
                          operationCount:
                            type: string
                            description: Quantidade total de operações do cliente reportadas ao SCR
                          assumedCoobligation:
                            type: string
                            description: 'Valor total das coobrigações assumidas pelo cliente como avalista, fiador ou coobrigado em operações de crédito'
                          receiveCoobligation:
                            type: string
                            description: Valor total das operações de crédito do cliente que possuem coobrigados (avalistas ou fiadores)
                          startRelationship:
                            type: string
                            description: Data mais antiga de início de relacionamento do cliente com instituições financeiras reportado ao SCR
                          disagreementOperationCount:
                            type: string
                            description: Quantidade de operações que o cliente registrou manifestação de discordância junto ao Banco Central
                          disagreementOperationValue:
                            type: string
                            description: Valor total das operações com manifestação de discordância registrada pelo cliente
                          subjudiceOperationsCount:
                            type: string
                            description: Quantidade de operações com decisão judicial que impacta seu registro no SCR
                          subjudiceOperationsValue:
                            type: string
                            description: Valor total das operações com decisão judicial que impacta seu registro no SCR
                          indirectRisk:
                            type: string
                            description: 'Valor total de operações onde o cliente consta como coobrigado (avalista, fiador) - risco indireto assumido'
                          error:
                            type: array
                            description: Lista de erros identificados durante a consulta ao SCR
                            items:
                              type: object
                              description: Representa um erro ocorrido durante a consulta
                              properties:
                                errorCode:
                                  type: string
                                  description: Código do erro
                                description:
                                  type: string
                                  description: Descrição detalhada do erro
                          operationItems:
                            type: array
                            description: Lista detalhada das operações de crédito reportadas ao SCR
                            items:
                              type: object
                              description: Representa uma operação de crédito registrada no SCR do Banco Central
                              properties:
                                dueValue:
                                  type: string
                                  description: 'Valor a vencer da operação de crédito, conforme registrado no SCR'
                                exchangeVariation:
                                  type: string
                                  description: 'Valor da variação cambial da operação, quando aplicável em operações em moeda estrangeira'
                                categorySub:
                                  description: Classificação e subclassificação da modalidade da operação de crédito conforme tabela do BACEN
                                  type: object
                                  properties:
                                    category:
                                      description: Modalidade principal da operação conforme tabela do BACEN
                                      type: object
                                      properties:
                                        category_code:
                                          type: integer
                                          description: Código da modalidade conforme tabela de domínio do BACEN
                                        category_description:
                                          type: string
                                          description: Descrição da modalidade de crédito conforme definido pelo BACEN
                                    categorySubCode:
                                      type: integer
                                      description: Código da submodalidade da operação conforme tabela do BACEN
                                    description:
                                      type: string
                                      description: Descrição da submodalidade da operação de crédito
                                dueType:
                                  description: Tipo e característica do vencimento da operação conforme classificação do SCR
                                  type: object
                                  properties:
                                    code:
                                      type: string
                                      description: Código do tipo de vencimento
                                    description:
                                      type: string
                                      description: Descrição do tipo de vencimento
                    signers:
                      type: array
                      description: Lista dos responsáveis pela assinatura/autorização da consulta ao SCR
                      items:
                        type: object
                        properties:
                          uuid:
                            type: string
                            description: Identificador único do signatário
                          name:
                            type: string
                            description: Nome do signatário
                          email:
                            type: string
                            format: email
                            description: Email do signatário
                          documentNumber:
                            type: string
                            description: CPF/CNPJ do signatário
                          signatureType:
                            type: string
                            enum:
                              - PART
                              - WITNESS
                              - CONTRACTOR
                              - HIRED
                              - ADMINISTRATOR
                              - LEGAL_REPRESENTATIVE
                            description: Tipo de assinatura
                          status:
                            type: string
                            enum:
                              - PENDING
                              - SIGNED
                              - EXPIRED
                              - CANCELED
                            description: Status da assinatura
                        required:
                          - uuid
                          - name
                          - email
                          - documentNumber
                          - signatureType
                          - status
                pdf:
                  type: string
                  format: binary
                  description: Documento PDF com o resultado da consulta
                createdAt:
                  type: string
                  format: date-time
                  description: Data e hora de criação da consulta
                updatedAt:
                  type: string
                  format: date-time
                  description: Data e hora da última atualização da consulta
              required:
                - uuid
                - status
                - webhookType
                - data
                - createdAt
                - updatedAt
      responses:
        '200':
          description: O cliente deve retornar 200 OK para confirmar o recebimento.
components:
  securitySchemes:
    jwtAuth:
      type: apiKey
      in: header
      name: Authorization
