{
  "openapi": "3.0.3",
  "info": {
    "title": "Finway API",
    "description": "API unificada da plataforma Finway.\n\n- **Accounts**: API responsável pelo gerenciamento de contas, incluindo operações de consulta, atualização, bloqueio de saldo, upload de documentos, alteração de credenciais via OTP e preferências de notificação.\n\n- **Onboarding PF**: API responsável pelo processo de onboarding de pessoa física, incluindo cadastro simplificado, verificação de identidade via OTP (SMS e e-mail), upload de documentos, ativação de conta e consulta de termos regulatórios.\n\n- **Onboarding PJ**: API responsável pelo processo de onboarding de Pessoa Jurídica, incluindo criação de conta, validação de OTP (SMS e E-mail), upload de documentos e registro de conta empresarial.\n\n- **Pix Charge API**: API para gerenciamento de cobranças Pix (Cob) e devoluções, seguindo o padrão BACEN. Permite criar, consultar, atualizar e listar cobranças imediatas e devoluções Pix.\n\n- **Pix Service API**: API responsável pelos serviços Pix do Finway, incluindo transferências (QR Code, chave e conta bancária), gerenciamento de chaves Pix, reivindicações (claims), limites transacionais, Pix Automático e estornos.\n\n- **Security Service**: API responsável pelos serviços de segurança da plataforma Finway. Contempla autenticação, autorização (PBAC), gerenciamento de dispositivos, recuperação e alteração de credenciais (senha e PIN), geração de tokens OAuth2, associação de dispositivos confiáveis e gerenciamento de arquivos em storage.\n\n- **Transactions Service**: API responsável pela consulta de transações bancárias, extratos, comprovantes e operações PIX. Permite listar transações de uma conta, obter detalhes e comprovantes de transações específicas, e consultar transações PIX com filtros avançados.",
    "version": "v2.0.0"
  },
  "servers": [
    {
      "url": "https://api-finway-dev.finaya.tech/api/bank-services",
      "description": "Development"
    }
  ],
  "security": [
    {
      "x-buildersbank-authorization": []
    },
    {
      "client_id": []
    }
  ],
  "tags": [
    {
      "name": "OAuth Token",
      "description": "Geração de tokens OAuth2 para autenticação de serviços e aplicações"
    },
    {
      "name": "Authentication",
      "description": "Autenticação de usuários via desafio criptográfico (challenge/response) e logout"
    },
    {
      "name": "Devices Management",
      "description": "Gerenciamento de dispositivos vinculados à conta do usuário autenticado"
    },
    {
      "name": "Password Recovery",
      "description": "Fluxo de recuperação de senha para usuários não autenticados, com verificação via SMS, e-mail ou biometria"
    },
    {
      "name": "Change Password",
      "description": "Fluxo de alteração de senha do usuário autenticado com verificação via OTP (e-mail ou SMS)"
    },
    {
      "name": "Change Pin",
      "description": "Fluxo de alteração do PIN transacional do usuário autenticado com verificação via OTP (e-mail ou SMS)"
    },
    {
      "name": "Credentials Management",
      "description": "Gerenciamento de credenciais de acesso (client_id/client_secret) das contas"
    },
    {
      "name": "Storage Files",
      "description": "Geração de URLs assinadas para upload de arquivos em provedores de cloud storage (GCP, AWS, Azure)"
    },
    {
      "name": "Onboarding PF",
      "description": "Endpoints para o fluxo de onboarding de pessoa física"
    },
    {
      "name": "Onboarding PJ",
      "description": "Endpoints para o fluxo de onboarding de pessoa jurídica"
    },
    {
      "name": "Notifications",
      "description": "Gerenciamento de preferencias de notificacao do usuario"
    },
    {
      "name": "Accounts",
      "description": "Operacoes de consulta, atualizacao e gerenciamento de contas"
    },
    {
      "name": "Transactions",
      "description": "Consulta de transações bancárias, extratos e comprovantes"
    },
    {
      "name": "Pix Keys",
      "description": "Gerenciamento de chaves Pix: cadastro, consulta, exclusão e verificação OTP para posse de chave"
    },
    {
      "name": "Pix Transfer",
      "description": "Operações de transferência Pix: QR Code estático, transferência por chave, por conta bancária, estorno e agendamentos"
    },
    {
      "name": "Pix Automatic",
      "description": "Pix Automático: autorizações de débito recorrente, agendamentos e gestão de assinaturas"
    },
    {
      "name": "Pix Claims",
      "description": "Reivindicações de chaves Pix: portabilidade e posse de chaves entre instituições"
    },
    {
      "name": "Pix Limits",
      "description": "Gerenciamento de limites transacionais Pix: diurno, noturno, alterações em lote e horário noturno"
    },
    {
      "name": "Dynamic QR Code",
      "description": "Endpoints para gerenciamento de cobranças imediatas Pix (Cob)"
    },
    {
      "name": "MED",
      "description": "Endpoints para gerenciamento de infrações, chargebacks, fraudes e disputas PIX"
    },
    {
      "name": "Webhooks",
      "description": "Operações de configuração de eventos de webhook (inscrição, consulta, atualização, remoção, logs e reenvio)"
    },
    {
      "name": "Dynamic QR Code Webhooks",
      "description": "Operações de gerenciamento de webhooks de QR Code (criação, consulta, atualização e remoção)"
    }
  ],
  "paths": {
    "/security/auth/tokens": {
      "post": {
        "tags": [
          "OAuth Token"
        ],
        "summary": "Gerar token via client credentials",
        "description": "Gera um token de acesso utilizando o fluxo client_credentials com as credenciais enviadas no corpo da requisição",
        "operationId": "generateOAuth2Token",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientCredentialsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Token gerado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          },
          "401": {
            "description": "Credenciais inválidas",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/keys/public": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Obter chave pública",
        "description": "Retorna a chave pública RSA utilizada para criptografar o desafio de autenticação (challenge) no fluxo de login",
        "operationId": "getPublicKey",
        "responses": {
          "200": {
            "description": "Chave pública retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicKeyDTO"
                }
              }
            }
          }
        }
      }
    },
    "/security/authentication/challenge": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Obter desafio de autenticação",
        "description": "Gera um desafio criptográfico para o usuário autenticar-se. O desafio deve ser assinado com a senha do usuário e enviado para validação",
        "operationId": "getChallenge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio gerado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationChallengeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationChallengeResponse"
                }
              }
            }
          },
          "404": {
            "description": "Usuário não encontrado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationChallengeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/authentication/validate": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Validar desafio de autenticação",
        "description": "Valida o desafio assinado e retorna o token de acesso, informações da conta e permissões do usuário",
        "operationId": "validateChallenge_1",
        "parameters": [
          {
            "name": "deviceOS",
            "in": "header",
            "description": "Sistema operacional do dispositivo (ANDROID ou IOS)",
            "required": false,
            "schema": {
              "type": "string",
              "default": "ANDROID"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationValidateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Autenticação realizada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationValidateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Desafio inválido ou assinatura incorreta",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationValidateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Credenciais inválidas",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationValidateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/logout": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Realizar logout",
        "description": "Invalida o token de acesso do usuário autenticado, encerrando a sessão ativa",
        "operationId": "logout",
        "parameters": [
          {
            "name": "X-BuildersBank-Authorization",
            "in": "header",
            "description": "Token JWT de autorização do usuário",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Logout realizado com sucesso"
          },
          "401": {
            "description": "Não autorizado"
          }
        }
      }
    },
    "/security/device/validate": {
      "post": {
        "tags": [
          "Devices Management"
        ],
        "summary": "Validar associação de dispositivo",
        "description": "Valida e conclui a associação de um novo dispositivo confiável à conta do usuário",
        "operationId": "validateChallenge",
        "parameters": [
          {
            "name": "X-BuildersBank-Authorization",
            "in": "header",
            "description": "Token JWT de autorização (opcional)",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceAssociationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Dispositivo associado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Token ou dados do dispositivo inválidos",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/device/sms/otp/challenge": {
      "post": {
        "tags": [
          "Devices Management"
        ],
        "summary": "Solicitar OTP via SMS para associação",
        "description": "Envia um código OTP via SMS para verificar a identidade do usuário durante a associação de um novo dispositivo",
        "operationId": "getSMSChallenge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceAssociationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/device/sms/otp/validate": {
      "post": {
        "tags": [
          "Devices Management"
        ],
        "summary": "Validar OTP de SMS para associação",
        "description": "Valida o código OTP enviado por SMS durante o fluxo de associação de dispositivo",
        "operationId": "validateSMS",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/device/mail/otp/challenge": {
      "post": {
        "tags": [
          "Devices Management"
        ],
        "summary": "Solicitar OTP via e-mail para associação",
        "description": "Envia um código OTP por e-mail para verificar a identidade do usuário durante a associação de um novo dispositivo",
        "operationId": "getEmailChallenge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceAssociationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/device/mail/otp/validate": {
      "post": {
        "tags": [
          "Devices Management"
        ],
        "summary": "Validar OTP de e-mail para associação",
        "description": "Valida o código OTP enviado por e-mail durante o fluxo de associação de dispositivo",
        "operationId": "validateEmail",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceAssociationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/{document}/devices": {
      "get": {
        "tags": [
          "Devices Management"
        ],
        "summary": "Listar dispositivos",
        "description": "Retorna a lista de todos os dispositivos vinculados à conta do usuário autenticado",
        "operationId": "listMyDevices",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de dispositivos retornada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeviceDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeviceDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/security/{document}/devices/{deviceId}": {
      "delete": {
        "tags": [
          "Devices Management"
        ],
        "summary": "Remover dispositivo",
        "description": "Remove um dispositivo vinculado à conta do usuário autenticado",
        "operationId": "deleteMyDevice",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceId",
            "in": "path",
            "description": "ID do dispositivo a ser removido",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Dispositivo removido com sucesso"
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Dispositivo não encontrado"
          }
        }
      }
    },
    "/security/password/recover/challenge": {
      "post": {
        "tags": [
          "Password Recovery"
        ],
        "summary": "Solicitar desafio de recuperação via SMS",
        "description": "Inicia o fluxo de recuperação de senha enviando um código OTP via SMS para o telefone cadastrado do usuário",
        "operationId": "challengeRecoverPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Documento inválido ou usuário não encontrado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/password/recovery/validate": {
      "post": {
        "tags": [
          "Password Recovery"
        ],
        "summary": "Validar OTP de recuperação via SMS",
        "description": "Valida o código OTP enviado por SMS durante o fluxo de recuperação de senha",
        "operationId": "recoverPasswordValidate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/password/recover/mail/challenge": {
      "post": {
        "tags": [
          "Password Recovery"
        ],
        "summary": "Solicitar desafio de recuperação via e-mail",
        "description": "Inicia o fluxo de recuperação de senha enviando um código OTP para o e-mail cadastrado do usuário",
        "operationId": "challengeRecoverPasswordEmail",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Documento inválido ou usuário não encontrado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/password/recovery/mail/validate": {
      "post": {
        "tags": [
          "Password Recovery"
        ],
        "summary": "Validar OTP de recuperação via e-mail",
        "description": "Valida o código OTP enviado por e-mail durante o fluxo de recuperação de senha",
        "operationId": "recoverPasswordEmailValidate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/password/recovery/biometric/validate": {
      "post": {
        "tags": [
          "Password Recovery"
        ],
        "summary": "Validar recuperação via biometria",
        "description": "Valida a recuperação de senha utilizando biometria facial (selfie) do usuário",
        "operationId": "recoverPasswordValidateBiometric",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateSelfieRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Biometria validada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Falha na validação biométrica",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/password/recovery": {
      "post": {
        "tags": [
          "Password Recovery"
        ],
        "summary": "Confirmar nova senha",
        "description": "Finaliza o fluxo de recuperação definindo a nova senha. Requer o token obtido na etapa de validação do OTP ou biometria",
        "operationId": "recoveryPassword",
        "parameters": [
          {
            "name": "X-BuildersBank-Authorization",
            "in": "header",
            "description": "Token JWT de autorização (opcional)",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Senha redefinida com sucesso"
          },
          "400": {
            "description": "Token inválido ou senha fora do padrão exigido"
          }
        }
      }
    },
    "/security/me/password/mail/otp/challenge": {
      "post": {
        "tags": [
          "Change Password"
        ],
        "summary": "Solicitar desafio OTP por e-mail",
        "description": "Envia um código OTP para o e-mail do usuário como desafio para alteração de senha",
        "operationId": "getEmailChallengePassword",
        "responses": {
          "200": {
            "description": "Desafio enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/password/mail/otp/validate": {
      "post": {
        "tags": [
          "Change Password"
        ],
        "summary": "Validar OTP de e-mail",
        "description": "Valida o código OTP enviado por e-mail para prosseguir com a alteração de senha",
        "operationId": "validateEmailPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/password/sms/otp/challenge": {
      "post": {
        "tags": [
          "Change Password"
        ],
        "summary": "Solicitar desafio OTP por SMS",
        "description": "Envia um código OTP via SMS para o telefone do usuário como desafio para alteração de senha",
        "operationId": "getSMSChallengePassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/password/sms/otp/validate": {
      "post": {
        "tags": [
          "Change Password"
        ],
        "summary": "Validar OTP de SMS",
        "description": "Valida o código OTP enviado por SMS para prosseguir com a alteração de senha",
        "operationId": "validateSMSPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/security/me/password/change": {
      "post": {
        "tags": [
          "Change Password"
        ],
        "summary": "Confirmar alteração de senha (v2)",
        "description": "Confirma a alteração de senha após a validação dos desafios OTP. Requer o token obtido na etapa de validação do OTP",
        "operationId": "validateChallengePassword",
        "parameters": [
          {
            "name": "X-BuildersBank-Authorization",
            "in": "header",
            "description": "Token JWT de autorização do usuário",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Senha alterada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationValidateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida ou token expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationValidateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationValidateResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/pin/mail/otp/challenge": {
      "post": {
        "tags": [
          "Change Pin"
        ],
        "summary": "Solicitar desafio OTP por e-mail para PIN",
        "description": "Envia um código OTP para o e-mail do usuário como desafio para alteração do PIN transacional",
        "operationId": "getEmailChallengePin",
        "responses": {
          "200": {
            "description": "Desafio enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/pin/mail/otp/validate": {
      "post": {
        "tags": [
          "Change Pin"
        ],
        "summary": "Validar OTP de e-mail para PIN",
        "description": "Valida o código OTP enviado por e-mail para prosseguir com a alteração do PIN transacional",
        "operationId": "validateEmailPin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/pin/sms/otp/challenge": {
      "post": {
        "tags": [
          "Change Pin"
        ],
        "summary": "Solicitar desafio OTP por SMS para PIN",
        "description": "Envia um código OTP via SMS para o telefone do usuário como desafio para alteração do PIN transacional",
        "operationId": "getSMSChallengePin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/pin/sms/otp/validate": {
      "post": {
        "tags": [
          "Change Pin"
        ],
        "summary": "Validar OTP de SMS para PIN",
        "description": "Valida o código OTP enviado por SMS para prosseguir com a alteração do PIN transacional",
        "operationId": "validateSMSPin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/security/me/pin/validate": {
      "post": {
        "tags": [
          "Change Pin"
        ],
        "summary": "Confirmar alteração do PIN",
        "description": "Finaliza o fluxo de alteração do PIN transacional após validação dos desafios OTP. Requer o token obtido na etapa de validação",
        "operationId": "validateChallengePin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "PIN alterado com sucesso"
          },
          "400": {
            "description": "Token inválido ou PIN fora do padrão"
          },
          "401": {
            "description": "Não autorizado"
          }
        }
      }
    },
    "/security/{document}/accounts/credentials": {
      "post": {
        "tags": [
          "Credentials Management"
        ],
        "summary": "Criar credencial",
        "description": "Cria uma nova credencial de acesso (client_id/client_secret) para a conta do usuário autenticado",
        "operationId": "create",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccountCredentialRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credencial criada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAccountCredentialResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAccountCredentialResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAccountCredentialResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/security/{document}/accounts/credentials/{id}": {
      "get": {
        "tags": [
          "Credentials Management"
        ],
        "summary": "Buscar credencial por ID",
        "description": "Retorna os detalhes de uma credencial específica da conta do usuário autenticado",
        "operationId": "findById",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID da credencial",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Credencial encontrada",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCredentialDTO"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCredentialDTO"
                }
              }
            }
          },
          "404": {
            "description": "Credencial não encontrada",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCredentialDTO"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Credentials Management"
        ],
        "summary": "Atualizar credencial",
        "description": "Atualiza os dados de uma credencial de acesso existente (descrição, IPs permitidos e escopos)",
        "operationId": "update",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID da credencial",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAccountCredentialRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Credencial atualizada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCredentialDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCredentialDTO"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCredentialDTO"
                }
              }
            }
          },
          "404": {
            "description": "Credencial não encontrada",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCredentialDTO"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Credentials Management"
        ],
        "summary": "Remover credencial",
        "description": "Remove uma credencial de acesso da conta do usuário autenticado",
        "operationId": "delete",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID da credencial",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Credencial removida com sucesso"
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Credencial não encontrada"
          }
        }
      }
    },
    "/security/{document}/accounts/{accountId}/credentials": {
      "get": {
        "tags": [
          "Credentials Management"
        ],
        "summary": "Listar credenciais por conta",
        "description": "Lista todas as credenciais de acesso associadas a uma conta específica",
        "operationId": "findByAccountId",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID da conta",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de credenciais retornada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountCredentialDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountCredentialDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/security/storage/files": {
      "post": {
        "tags": [
          "Storage Files"
        ],
        "summary": "Gerar URL assinada para upload",
        "description": "Gera uma URL assinada (signed URL) para upload direto de arquivos no provedor de cloud storage configurado. A URL possui tempo de expiração limitado",
        "operationId": "generateSignedUploadUrl",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateSignedUploadUrlRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "URL assinada gerada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateSignedUploadUrlResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida (tipo de arquivo não suportado ou fluxo inválido)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateSignedUploadUrlResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateSignedUploadUrlResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/simple-onboarding": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Iniciar onboarding simplificado",
        "description": "Cria um novo registro de onboarding simplificado para pessoa física. Retorna um token de sessão para prosseguir com as próximas etapas do fluxo.",
        "operationId": "create1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartOnboardingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Onboarding iniciado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleOnboardingResponse"
                }
              }
            }
          },
          "400": {
            "description": "Dados de entrada inválidos"
          },
          "422": {
            "description": "Regra de negócio violada (ex: CPF já cadastrado)"
          }
        },
        "x-order": "1"
      }
    },
    "/simple-onboarding/sms/otp/challenge": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Solicitar desafio OTP via SMS",
        "description": "Envia um código OTP via SMS para o número de celular informado no cadastro. Necessário para validar a posse do número de telefone.",
        "operationId": "smsChallenge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SMSChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP enviado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse"
                }
              }
            }
          },
          "400": {
            "description": "Dados de entrada inválidos"
          },
          "429": {
            "description": "Limite de tentativas de envio excedido"
          }
        },
        "x-order": "2"
      }
    },
    "/simple-onboarding/sms/otp/validate": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Validar OTP via SMS",
        "description": "Valida o código OTP recebido via SMS. Confirma a posse do número de telefone e avança o fluxo de onboarding.",
        "operationId": "smsValidate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado"
          },
          "429": {
            "description": "Limite de tentativas de validação excedido"
          }
        },
        "x-order": "3"
      }
    },
    "/simple-onboarding/mail/otp/challenge": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Solicitar desafio OTP via e-mail",
        "description": "Envia um código OTP via e-mail para o endereço informado no cadastro. Necessário para validar a posse do e-mail.",
        "operationId": "mailChallenge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MailChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP enviado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse"
                }
              }
            }
          },
          "400": {
            "description": "Dados de entrada inválidos"
          },
          "429": {
            "description": "Limite de tentativas de envio excedido"
          }
        },
        "x-order": "4"
      }
    },
    "/simple-onboarding/mail/otp/validate": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Validar OTP via e-mail",
        "description": "Valida o código OTP recebido via e-mail. Confirma a posse do e-mail e avança o fluxo de onboarding.",
        "operationId": "mailValidate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado"
          },
          "429": {
            "description": "Limite de tentativas de validação excedido"
          }
        },
        "x-order": "5"
      }
    },
    "/simple-onboarding/accounts": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Criar conta no onboarding simplificado",
        "description": "Finaliza o fluxo de onboarding simplificado criando a conta do usuário. Requer que todas as etapas anteriores (OTP SMS e e-mail) tenham sido concluídas.",
        "operationId": "createAccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FinishOnboardRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Conta criada com sucesso"
          },
          "400": {
            "description": "Dados de entrada inválidos"
          },
          "422": {
            "description": "Etapas anteriores do onboarding não concluídas"
          }
        },
        "x-order": "6"
      }
    },
    "/holders/{document}/terms": {
      "get": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Consultar termos regulatórios",
        "description": "Retorna os documentos regulatórios (termos de uso, política de privacidade, etc.) que o titular deve aceitar para ativar a conta.",
        "operationId": "getTerms",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Número do documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "responses": {
          "200": {
            "description": "Termos retornados com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Titular não encontrado"
          }
        },
        "x-order": "9"
      }
    },
    "/holders/{document}/personal/account": {
      "patch": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Atualizar dados pessoais da conta",
        "description": "Atualiza os dados pessoais do titular (nome da mãe, data de nascimento, endereço, renda declarada, etc.) durante o processo de ativação da conta.",
        "operationId": "updatePersonalAccount",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Número do documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PersonalAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Dados pessoais atualizados com sucesso"
          },
          "400": {
            "description": "Dados de entrada inválidos"
          },
          "404": {
            "description": "Titular não encontrado"
          }
        },
        "x-order": "10"
      }
    },
    "/holders/{document}/personal/account/documents": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Enviar documentos de identificação",
        "description": "Realiza o upload de documentos de identificação (RG, CNH, selfie, etc.) para verificação de identidade durante a ativação da conta.",
        "operationId": "uploadFile",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Número do documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileUploadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Documento enviado com sucesso"
          },
          "400": {
            "description": "Dados do documento inválidos"
          },
          "404": {
            "description": "Titular não encontrado"
          },
          "422": {
            "description": "Tipo de documento não aceito"
          }
        },
        "x-order": "11"
      }
    },
    "/holders/{document}/personal/account/settlement": {
      "post": {
        "tags": [
          "Onboarding PF"
        ],
        "summary": "Finalizar abertura de conta",
        "description": "Conclui o processo de ativação criando a conta de liquidação (settlement). Requer que os dados pessoais e documentos já tenham sido enviados.",
        "operationId": "createAccount_1",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Número do documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Conta criada com sucesso"
          },
          "400": {
            "description": "Dados de entrada inválidos"
          },
          "404": {
            "description": "Titular não encontrado"
          },
          "422": {
            "description": "Etapas anteriores de ativação não concluídas"
          }
        },
        "x-order": "12"
      }
    },
    "/pj/onboarding": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Iniciar onboarding simplificado",
        "description": "Cria um novo processo de onboarding simplificado para Pessoa Jurídica, retornando um token de sessão.",
        "operationId": "create2",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartOnboardingRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Onboarding iniciado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleOnboardingResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Erro de validação nos dados do onboarding"
          }
        },
        "x-order": "1"
      }
    },
    "/pj/onboarding/sms/otp/challenge": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Enviar desafio OTP por SMS",
        "description": "Envia um código OTP via SMS para o número de telefone associado ao processo de onboarding.",
        "operationId": "smsChallenge1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsOTPChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio OTP enviado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Falha ao enviar OTP"
          }
        },
        "x-order": "2"
      }
    },
    "/pj/onboarding/sms/otp/validate": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Validar OTP recebido por SMS",
        "description": "Valida o código OTP recebido por SMS, confirmando a posse do número de telefone.",
        "operationId": "smsValidate1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPRequest2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Código OTP inválido ou expirado"
          }
        },
        "x-order": "3"
      }
    },
    "/pj/onboarding/mail/otp/challenge": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Enviar desafio OTP por e-mail",
        "description": "Envia um código OTP via e-mail para o endereço associado ao processo de onboarding.",
        "operationId": "mailChallenge1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MailOTPChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio OTP enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Falha ao enviar OTP"
          }
        },
        "x-order": "4"
      }
    },
    "/pj/onboarding/mail/otp/validate": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Validar OTP recebido por e-mail",
        "description": "Valida o código OTP recebido por e-mail, confirmando a posse do endereço de e-mail.",
        "operationId": "mailValidate1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPRequest2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Código OTP inválido ou expirado"
          }
        },
        "x-order": "5"
      }
    },
    "/pj/onboarding/accounts": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Criar conta PJ",
        "description": "Finaliza o processo de onboarding simplificado criando a conta de Pessoa Jurídica.",
        "operationId": "createAccount1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccountRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Conta criada com sucesso"
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Erro ao criar a conta"
          }
        },
        "x-order": "6"
      }
    },
    "/holders/{document}/business/accounts/documents": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Upload de documento",
        "description": "Realiza o upload de documento necessário para o processo de onboarding (ex: contrato social, ata de eleição).",
        "operationId": "uploadDocument",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "'me' para o holder autenticado ou o número do documento (CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileUploadRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Documento enviado com sucesso"
          },
          "400": {
            "description": "Dados inválidos ou documento não suportado"
          },
          "422": {
            "description": "Erro ao processar o documento"
          }
        },
        "x-order": "7"
      }
    },
    "/holders/{document}/business/accounts": {
      "patch": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Atualizar dados da conta empresarial",
        "description": "Atualiza informações da conta empresarial como endereço, representante legal, CNAE e faturamento.",
        "operationId": "updateBusinessAccount",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "'me' para o holder autenticado ou o número do documento (CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Conta empresarial atualizada com sucesso"
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Erro ao atualizar a conta"
          }
        },
        "x-order": "8"
      }
    },
    "/holders/{document}/business/accounts/settlement": {
      "post": {
        "tags": [
          "Onboarding PJ"
        ],
        "summary": "Criar conta de liquidação",
        "description": "Cria a conta de liquidação (settlement) associada à conta empresarial PJ.",
        "operationId": "createBusinessAccount",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "'me' para o holder autenticado ou o número do documento (CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBusinessAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Conta de liquidação criada com sucesso"
          },
          "400": {
            "description": "Dados inválidos na requisição"
          },
          "422": {
            "description": "Erro ao criar a conta de liquidação"
          }
        },
        "x-order": "9"
      }
    },
    "/holders/{document}/notifications/preferences": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Listar preferencias de notificacao",
        "description": "Retorna a lista de preferencias de notificacao gerenciaveis pelo usuario.",
        "operationId": "findUserNotificationPreference",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de preferencias retornada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserNotificationPreferenceResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Nao autorizado"
          },
          "404": {
            "description": "Usuario nao encontrado"
          }
        }
      },
      "put": {
        "tags": [
          "Notifications"
        ],
        "summary": "Atualizar preferencia de notificacao",
        "description": "Atualiza a preferencia de notificacao do usuario para um tipo especifico.",
        "operationId": "updateUserNotificationPreference",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserNotificationPreferenceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Preferencia atualizada com sucesso"
          },
          "400": {
            "description": "Dados invalidos na requisicao"
          },
          "401": {
            "description": "Nao autorizado"
          },
          "404": {
            "description": "Usuario nao encontrado"
          }
        }
      }
    },
    "/holders/{document}/accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Consultar saldo da conta",
        "description": "Retorna o saldo global, saldo bloqueado e menus disponiveis para a conta do holder.",
        "operationId": "getBalance",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Saldo retornado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalanceResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Nao autorizado"
          },
          "404": {
            "description": "Conta nao encontrada"
          }
        }
      },
      "put": {
        "tags": [
          "Accounts"
        ],
        "summary": "Atualizar dados da conta",
        "description": "Atualiza os dados cadastrais da conta, como nome, nome da mae e data de nascimento.",
        "operationId": "updateAccountData",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountActivateUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Dados da conta atualizados com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountSimpleDTO"
                }
              }
            }
          },
          "400": {
            "description": "Dados invalidos na requisicao"
          },
          "401": {
            "description": "Nao autorizado"
          },
          "404": {
            "description": "Conta nao encontrada"
          }
        }
      }
    },
    "/holders/{document}/phone/sms/otp/validate": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Validar desafio OTP por SMS para alteracao de telefone",
        "description": "Valida o codigo OTP enviado por SMS para confirmar a alteracao de telefone.",
        "operationId": "validateSMSChallengePhone",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Codigo OTP invalido ou expirado"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/phone/sms/otp/challenge": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Solicitar desafio OTP por SMS para alteracao de telefone",
        "description": "Envia um codigo OTP por SMS para o novo telefone, iniciando o fluxo de alteracao de telefone.",
        "operationId": "getSMSChallengePhone",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePhoneOTPChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio OTP enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Telefone invalido"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/phone/email/otp/validate": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Validar desafio OTP por e-mail para alteracao de telefone",
        "description": "Valida o codigo OTP enviado por e-mail para confirmar a alteracao de telefone.",
        "operationId": "validateEmailChallengePhone",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Codigo OTP invalido ou expirado"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/phone/email/otp/challenge": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Solicitar desafio OTP por e-mail para alteracao de telefone",
        "description": "Envia um codigo OTP por e-mail para validar a alteracao de telefone.",
        "operationId": "getEmailChallengePhone",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio OTP enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Dados invalidos"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/email/sms/otp/validate": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Validar desafio OTP por SMS para alteracao de e-mail",
        "description": "Valida o codigo OTP enviado por SMS para confirmar a alteracao de e-mail.",
        "operationId": "validateSMSChallenge",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Codigo OTP invalido ou expirado"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/email/sms/otp/challenge": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Solicitar desafio OTP por SMS para alteracao de e-mail",
        "description": "Envia um codigo OTP por SMS para validar a alteracao de e-mail.",
        "operationId": "getSMSChallenge1",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio OTP enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Dados invalidos"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/email/mail/otp/validate": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Validar desafio OTP por e-mail para alteracao de e-mail",
        "description": "Valida o codigo OTP enviado por e-mail para confirmar a alteracao de e-mail.",
        "operationId": "validateEmailChallenge",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "Codigo OTP invalido ou expirado"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/email/mail/otp/challenge": {
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Solicitar desafio OTP por e-mail para alteracao de e-mail",
        "description": "Envia um codigo OTP para o novo e-mail informado, iniciando o fluxo de alteracao de e-mail.",
        "operationId": "getEmailChallenge1",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateEmailOTPChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio OTP enviado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse1"
                }
              }
            }
          },
          "400": {
            "description": "E-mail invalido"
          },
          "401": {
            "description": "Nao autorizado"
          }
        }
      }
    },
    "/holders/{document}/documents/legal": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Listar documentos legais",
        "description": "Retorna a lista de documentos legais associados a conta.",
        "operationId": "getLegalDocuments",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de documentos retornada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Nao autorizado"
          },
          "404": {
            "description": "Conta nao encontrada"
          }
        }
      }
    },
    "/holders/{document}/accounts/address": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Consultar endereco da conta",
        "description": "Retorna o endereco cadastrado na conta do holder.",
        "operationId": "getAccountAddress",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Numero do documento do holder ou 'me' para o usuario autenticado",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Endereco retornado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AccountAddressResponse"
                }
              }
            }
          },
          "401": {
            "description": "Nao autorizado"
          },
          "404": {
            "description": "Conta nao encontrada"
          }
        }
      }
    },
    "/holders/{document}/accounts/main/transactions": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Listar transações da conta",
        "description": "Retorna a lista paginada de transações de uma conta, com suporte a filtros por período e ordenação.",
        "operationId": "getTransactions",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do holder ou 'me' para o holder autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Número da página (zero-based)",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "example": 0
          },
          {
            "name": "size",
            "in": "query",
            "description": "Quantidade de registros por página",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            },
            "example": 20
          },
          {
            "name": "paramRequest",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionParamRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de transações retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageTransactionDTO"
                }
              }
            }
          },
          "204": {
            "description": "Nenhuma transação encontrada para os filtros informados"
          },
          "400": {
            "description": "Parâmetros de requisição inválidos"
          },
          "401": {
            "description": "Não autorizado"
          },
          "422": {
            "description": "Entidade não processável"
          }
        }
      }
    },
    "/holders/{document}/accounts/main/transactions/{id}": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Obter detalhe e comprovante de uma transação",
        "description": "Retorna os detalhes completos de uma transação específica, incluindo comprovante quando disponível.",
        "operationId": "getTransactionDetail",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do holder ou 'me' para o holder autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Tipo da transação",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionTypeDTO"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identificador único da transação",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transactionDate",
            "in": "query",
            "description": "Data da transação para busca otimizada (formato ISO: yyyy-MM-dd)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2025-01-15"
          }
        ],
        "responses": {
          "200": {
            "description": "Detalhe da transação retornado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de requisição inválidos"
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Transação não encontrada"
          },
          "422": {
            "description": "Entidade não processável"
          }
        }
      }
    },
    "/holders/{document}/accounts/main/transactions/pix": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Listar transações PIX de uma conta",
        "description": "Retorna a lista paginada de transações PIX de uma conta específica, com filtros avançados por valor, período, tipo e status.",
        "operationId": "getAccountPixTransactions",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Número da página (zero-based)",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "example": 0
          },
          {
            "name": "size",
            "in": "query",
            "description": "Quantidade de registros por página",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            },
            "example": 20
          },
          {
            "name": "paramRequest",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/PixTransactionParamRequestDTO"
            }
          },
          {
            "name": "document",
            "in": "path",
            "description": "Documento do holder ou 'me' para o holder autenticado",
            "required": true,
            "example": "me"
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de transações PIX retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagePixTransactionDTO"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de requisição inválidos"
          },
          "401": {
            "description": "Não autorizado"
          }
        }
      }
    },
    "/pix/{document}/transfers/reversal": {
      "post": {
        "tags": [
          "Pix Transfer"
        ],
        "summary": "Solicitar estorno Pix",
        "description": "Solicita o estorno (devolução) de uma transferência Pix recebida",
        "operationId": "createPixReversalTransfer",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixReversalTransferRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Estorno solicitado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixReversalTransferDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixReversalTransferDTO"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio (transferência não elegível para estorno, etc.)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixReversalTransferDTO"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/transfers/keys": {
      "post": {
        "tags": [
          "Pix Transfer"
        ],
        "summary": "Transferir via chave Pix",
        "description": "Realiza uma transferência Pix utilizando a chave Pix do recebedor",
        "operationId": "createTransferKey",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCreateKeyTransferRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Transferência realizada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixTransferResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixTransferResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio (saldo insuficiente, limite excedido, etc.)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixTransferResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/transfers/codes": {
      "post": {
        "tags": [
          "Pix Transfer"
        ],
        "summary": "Transferir via QR Code",
        "description": "Realiza uma transferência Pix utilizando um QR Code previamente decodificado",
        "operationId": "createTransferQrCode",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCreateQrCodeTransferRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Transferência realizada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixTransferResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixTransferResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio (saldo insuficiente, limite excedido, etc.)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixTransferResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/transfers/codes/validate": {
      "post": {
        "tags": [
          "Pix Transfer"
        ],
        "summary": "Decodificar/validar QR Code",
        "description": "Decodifica e valida um QR Code Pix, retornando as informações do recebedor",
        "operationId": "decode",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixValidateQrCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "QR Code decodificado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixValidateQrCodeResponse"
                }
              }
            }
          },
          "400": {
            "description": "QR Code inválido ou não reconhecido",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixValidateQrCodeResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio na validação",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixValidateQrCodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/transfers/bank": {
      "post": {
        "tags": [
          "Pix Transfer"
        ],
        "summary": "Transferir para conta bancária",
        "description": "Realiza uma transferência Pix informando os dados da conta bancária do recebedor (cash-out manual)",
        "operationId": "createTransferBankAccount",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCashOutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Transferência realizada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCashOutResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCashOutResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio (saldo insuficiente, limite excedido, etc.)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCashOutResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/limits": {
      "get": {
        "tags": [
          "Pix Limits"
        ],
        "summary": "Consultar limites Pix",
        "description": "Retorna os limites transacionais Pix atuais da conta (diurno e noturno)",
        "operationId": "listLimits",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "responses": {
          "200": {
            "description": "Limites retornados com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixLimitResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Pix Limits"
        ],
        "summary": "Solicitar alteração de limite",
        "description": "Cria uma solicitação de alteração de limite transacional Pix para a conta",
        "operationId": "getRequestLimit",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCreateLimitRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Solicitação de limite criada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateLimitResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateLimitResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio (valor fora da faixa permitida, etc.)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateLimitResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/limits/nightTime": {
      "get": {
        "tags": [
          "Pix Limits"
        ],
        "summary": "Consultar horário noturno",
        "description": "Retorna o horário de início do período noturno configurado para a conta",
        "operationId": "getPixNightStartTime",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "responses": {
          "200": {
            "description": "Horário noturno retornado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixNightStartTimeResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Pix Limits"
        ],
        "summary": "Configurar horário noturno",
        "description": "Define o horário de início do período noturno para aplicação do limite noturno Pix",
        "operationId": "createPixNightStartTime",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixNightStartTimeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Horário noturno configurado com sucesso"
          },
          "400": {
            "description": "Requisição inválida (horário fora da faixa permitida)"
          }
        }
      }
    },
    "/pix/{document}/limits/bulk": {
      "post": {
        "tags": [
          "Pix Limits"
        ],
        "summary": "Alteração de limites em lote",
        "description": "Solicita alteração de múltiplos limites Pix em uma única requisição",
        "operationId": "getBulkLimits",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixBulkLimitRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Solicitações de limites processadas com sucesso"
          },
          "400": {
            "description": "Requisição inválida"
          },
          "422": {
            "description": "Erro de negócio na alteração em lote"
          }
        }
      }
    },
    "/pix/{document}/keys": {
      "get": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Listar chaves Pix",
        "description": "Retorna todas as chaves Pix cadastradas para a conta",
        "operationId": "getKeys",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de chaves retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PixKeyResponse"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Cadastrar chave Pix",
        "description": "Registra uma nova chave Pix (CPF, CNPJ, e-mail, telefone ou EVP) para a conta",
        "operationId": "createPixKey",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCreateKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Chave cadastrada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateKeyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateKeyResponse"
                }
              }
            }
          },
          "409": {
            "description": "Chave já cadastrada para outra conta",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateKeyResponse"
                }
              }
            }
          },
          "422": {
            "description": "Limite de chaves atingido ou erro de negócio",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateKeyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/phone/otp/validate": {
      "post": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Validar OTP de telefone",
        "description": "Valida o código OTP recebido por SMS para confirmar a posse da chave Pix do tipo telefone",
        "operationId": "validatePhoneChallengePhone",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro na validação do OTP",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/phone/otp/challenge": {
      "post": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Gerar desafio OTP via telefone",
        "description": "Envia um código OTP por SMS para validação de posse de chave Pix do tipo telefone",
        "operationId": "getPhoneOtpChallenge",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePhonePixKeyOTPChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP enviado por SMS com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro ao gerar desafio OTP",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/otp/challenge": {
      "post": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Gerar desafio OTP genérico",
        "description": "Gera um desafio OTP para validação de posse de chave Pix",
        "operationId": "getOtpChallenge",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratePixKeyOTPChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Desafio OTP gerado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro ao gerar desafio OTP",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/mail/otp/validate": {
      "post": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Validar OTP de e-mail",
        "description": "Valida o código OTP recebido por e-mail para confirmar a posse da chave Pix do tipo e-mail",
        "operationId": "validateMailChallengePhone",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateOTPChangeCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP validado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "400": {
            "description": "Código OTP inválido ou expirado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro na validação do OTP",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/mail/otp/challenge": {
      "post": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Gerar desafio OTP via e-mail",
        "description": "Envia um código OTP por e-mail para validação de posse de chave Pix do tipo e-mail",
        "operationId": "getMailOtpChallenge",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateMailPixKeyOTPChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OTP enviado por e-mail com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro ao gerar desafio OTP",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OTPChangeCredentialResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/claims": {
      "post": {
        "tags": [
          "Pix Claims"
        ],
        "summary": "Criar reivindicação de chave",
        "description": "Inicia o processo de reivindicação (portabilidade ou posse) de uma chave Pix que pertence a outra instituição",
        "operationId": "claimPixKey",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixKeyClaimRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Reivindicação criada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixClaimKeyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixClaimKeyResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio (chave não elegível para reivindicação, etc.)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixClaimKeyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/claims/{claimUUID}": {
      "post": {
        "tags": [
          "Pix Claims"
        ],
        "summary": "Confirmar reivindicação de chave",
        "description": "Confirma (aceita ou rejeita) uma reivindicação de chave Pix recebida",
        "operationId": "confirmPixKeyClaim",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "claimUUID",
            "in": "path",
            "description": "UUID da reivindicação de chave Pix",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixKeyClaimConfirmationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Reivindicação confirmada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixKeyClaimConfirmationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixKeyClaimConfirmationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Reivindicação não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixKeyClaimConfirmationResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio na confirmação",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixKeyClaimConfirmationResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Pix Claims"
        ],
        "summary": "Cancelar reivindicação de chave",
        "description": "Cancela uma reivindicação de chave Pix em andamento",
        "operationId": "deletePixKeyClaim",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "claimUUID",
            "in": "path",
            "description": "UUID da reivindicação de chave Pix",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Reivindicação cancelada com sucesso"
          },
          "404": {
            "description": "Reivindicação não encontrada"
          },
          "422": {
            "description": "Reivindicação não pode ser cancelada no estado atual"
          }
        }
      }
    },
    "/pix/{document}/keys/claims/{claimUUID}/view": {
      "post": {
        "tags": [
          "Pix Claims"
        ],
        "summary": "Marcar reivindicação como visualizada",
        "description": "Registra que o usuário visualizou a notificação de reivindicação de chave Pix",
        "operationId": "confirmPixKeyClaimView",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "claimUUID",
            "in": "path",
            "description": "UUID da reivindicação de chave Pix",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Visualização registrada com sucesso"
          },
          "404": {
            "description": "Reivindicação não encontrada"
          }
        }
      }
    },
    "/pix/{document}/codes/static": {
      "post": {
        "tags": [
          "Pix Transfer"
        ],
        "summary": "Criar QR Code estático",
        "description": "Gera um QR Code estático Pix para a conta informada",
        "operationId": "createStaticQRCode",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCreateStaticQRCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "QR Code estático criado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixStaticQRCodeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixStaticQRCodeResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio ao gerar o QR Code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixStaticQRCodeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/automatic/authorizations/codes": {
      "post": {
        "tags": [
          "Pix Automatic"
        ],
        "summary": "Criar autorização Pix Automático",
        "description": "Cria uma autorização de débito automático Pix a partir de um QR Code de cobrança recorrente",
        "operationId": "createPixAuthorization",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixAutomaticCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Autorização criada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio na criação da autorização",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/automatic/authorizations/{id}": {
      "delete": {
        "tags": [
          "Pix Automatic"
        ],
        "summary": "Cancelar autorização Pix Automático",
        "description": "Cancela uma autorização de Pix Automático ativa",
        "operationId": "cancelPixAuthorization",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identificador da autorização Pix Automático",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Autorização cancelada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": "Autorização não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "422": {
            "description": "Autorização não pode ser cancelada no estado atual",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Pix Automatic"
        ],
        "summary": "Atualizar autorização Pix Automático",
        "description": "Atualiza uma autorização de Pix Automático existente (ex: valor máximo, frequência)",
        "operationId": "updatePixAuthorization",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identificador da autorização Pix Automático",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixAutomaticUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Autorização atualizada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          },
          "404": {
            "description": "Autorização não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          },
          "422": {
            "description": "Erro de negócio na atualização",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/schedules": {
      "get": {
        "tags": [
          "Pix Transfer"
        ],
        "summary": "Listar agendamentos Pix",
        "description": "Retorna a lista paginada de transferências Pix agendadas para a conta",
        "operationId": "getSchedules",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "paramRequest",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/PixSchedulesRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de agendamentos retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponseDTOPixTransferListScheduleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de paginação inválidos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponseDTOPixTransferListScheduleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/limits/requisitions": {
      "get": {
        "tags": [
          "Pix Limits"
        ],
        "summary": "Consultar solicitações de alteração de limite",
        "description": "Retorna as solicitações de alteração de limite Pix pendentes ou processadas",
        "operationId": "getLimitChangeRequests",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          }
        ],
        "responses": {
          "200": {
            "description": "Solicitações retornadas com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateLimitResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/keys/{key}": {
      "get": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Consultar chave Pix por valor",
        "description": "Retorna os detalhes de uma chave Pix específica pelo seu valor",
        "operationId": "getKeyByKey",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "key",
            "in": "path",
            "description": "Valor da chave Pix (CPF, CNPJ, e-mail, telefone ou EVP)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyType",
            "in": "query",
            "description": "Tipo da chave Pix para desambiguação",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "EVP",
                "CPF",
                "CNPJ",
                "PHONE",
                "EMAIL"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Detalhes da chave retornados com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixKeyDetailResponse"
                }
              }
            }
          },
          "404": {
            "description": "Chave não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixKeyDetailResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Pix Keys"
        ],
        "summary": "Excluir chave Pix",
        "description": "Remove uma chave Pix cadastrada na conta",
        "operationId": "deleteKey",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "key",
            "in": "path",
            "description": "Valor da chave Pix a ser excluída",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Chave excluída com sucesso"
          },
          "404": {
            "description": "Chave não encontrada"
          },
          "422": {
            "description": "Erro de negócio na exclusão"
          }
        }
      }
    },
    "/pix/{document}/automatic/authorizations": {
      "get": {
        "tags": [
          "Pix Automatic"
        ],
        "summary": "Listar autorizações Pix Automático",
        "description": "Retorna as autorizações de Pix Automático da conta, com filtro opcional por status",
        "operationId": "listPixAuthorizations",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filtro por status da autorização",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "created",
                "approved",
                "active",
                "failed",
                "canceled",
                "expired",
                "denied",
                "pending"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de autorizações retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PixSubscriptionResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/automatic/status/{idEndToEnd}": {
      "delete": {
        "tags": [
          "Pix Automatic"
        ],
        "summary": "Consultar status de confirmação",
        "description": "Consulta o status de confirmação de uma autorização de Pix Automático pelo endToEndId",
        "operationId": "statusPixConfirmAuthorization",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "idEndToEnd",
            "in": "path",
            "description": "Identificador end-to-end da transação Pix Automático",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status retornado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          },
          "404": {
            "description": "Autorização não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{document}/automatic/authorizations/schedules/{id}": {
      "delete": {
        "tags": [
          "Pix Automatic"
        ],
        "summary": "Cancelar agendamento de Pix Automático",
        "description": "Cancela um agendamento específico vinculado a uma autorização de Pix Automático",
        "operationId": "cancelPixAuthorizationSchedule",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular ou 'me' para o usuário autenticado",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "me"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identificador do agendamento",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agendamento cancelado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          },
          "404": {
            "description": "Agendamento não encontrado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          },
          "422": {
            "description": "Agendamento não pode ser cancelado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixAutomaticResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{endToEndId}/devolucao/{id}": {
      "get": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Consultar devolução Pix",
        "description": "Consulta uma devolução específica de um Pix, identificada pelo endToEndId e pelo id da devolução.",
        "operationId": "retrievePixDevolution",
        "parameters": [
          {
            "name": "endToEndId",
            "in": "path",
            "description": "Identificador end-to-end do Pix original",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "E123456782024010112345678901234"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identificador único da devolução",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "dev-001"
          }
        ],
        "responses": {
          "200": {
            "description": "Devolução encontrada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixRetrieveDevolutionResponse"
                }
              }
            }
          },
          "404": {
            "description": "Devolução não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixRetrieveDevolutionResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Atualizar devolução Pix",
        "description": "Atualiza os dados de uma devolução Pix existente, identificada pelo endToEndId e id.",
        "operationId": "update1",
        "parameters": [
          {
            "name": "endToEndId",
            "in": "path",
            "description": "Identificador end-to-end do Pix original",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "E123456782024010112345678901234"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Identificador único da devolução",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "dev-001"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePixDevolutionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Devolução atualizada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdatePixDevolutionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdatePixDevolutionResponse"
                }
              }
            }
          },
          "404": {
            "description": "Devolução não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdatePixDevolutionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix/{endToEndId}/devolucao": {
      "post": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Criar devolução Pix",
        "description": "Solicita uma devolução de um Pix recebido, identificado pelo endToEndId. A devolução será processada de forma assíncrona pelo PSP.",
        "operationId": "createdPixDevolution",
        "parameters": [
          {
            "name": "endToEndId",
            "in": "path",
            "description": "Identificador end-to-end do Pix original",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "E123456782024010112345678901234"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCreateDevolutionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Devolução criada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateDevolutionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida - valor ausente ou formato incorreto",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateDevolutionResponse"
                }
              }
            }
          },
          "404": {
            "description": "Pix não encontrado para o endToEndId informado",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateDevolutionResponse"
                }
              }
            }
          },
          "422": {
            "description": "Entidade não processável - valor excede o original ou devolução não permitida",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateDevolutionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/cob": {
      "get": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Listar cobranças imediatas",
        "description": "Lista cobranças imediatas Pix (Cob) com suporte a paginação e filtros por período, CPF, CNPJ e ID externo.",
        "operationId": "findByFilter_1",
        "parameters": [
          {
            "name": "paginacao.paginaAtual",
            "in": "query",
            "description": "Página atual (inicia em 0)",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "example": 0
          },
          {
            "name": "paginacao.itensPorPagina",
            "in": "query",
            "description": "Quantidade de itens por página",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "example": 100
          },
          {
            "name": "inicio",
            "in": "query",
            "description": "Data/hora início do período de consulta (ISO 8601)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2024-01-01T00:00:00Z"
          },
          {
            "name": "fim",
            "in": "query",
            "description": "Data/hora fim do período de consulta (ISO 8601)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2024-12-31T23:59:59Z"
          },
          {
            "name": "cpf",
            "in": "query",
            "description": "CPF do devedor para filtro",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": 12345678901
          },
          {
            "name": "cnpj",
            "in": "query",
            "description": "CNPJ do devedor para filtro",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": 12345678000199
          },
          {
            "name": "idExterno",
            "in": "query",
            "description": "Identificador externo da cobrança",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "ext-001"
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de cobranças retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCobPageableResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Criar cobrança imediata sem txid",
        "description": "Cria uma cobrança imediata Pix (Cob) sem informar o txid. O sistema irá gerar automaticamente um txid único para a cobrança.",
        "operationId": "createPixCob",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixCreateCobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Cobrança criada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateCobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida - dados obrigatórios ausentes ou formato incorreto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateCobResponse"
                }
              }
            }
          },
          "422": {
            "description": "Entidade não processável - erro de validação de negócio",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixCreateCobResponse"
                }
              }
            }
          }
        }
      }
    },
    "/cob/{txid}": {
      "get": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Consultar cobrança imediata por txid",
        "description": "Consulta uma cobrança imediata Pix (Cob) a partir do txid. Retorna todos os dados da cobrança, incluindo status, pagador e informações de pagamento.",
        "operationId": "getPixCob",
        "parameters": [
          {
            "name": "txid",
            "in": "path",
            "description": "Identificador da transação (txid)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "abc123def456"
          }
        ],
        "responses": {
          "200": {
            "description": "Cobrança encontrada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixRetrievedCobResponse"
                }
              }
            }
          },
          "404": {
            "description": "Cobrança não encontrada para o txid informado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixRetrievedCobResponse"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Atualizar cobrança imediata por txid",
        "description": "Atualiza o status de uma cobrança imediata Pix (Cob). Permite, por exemplo, remover uma cobrança ativa.",
        "operationId": "updatePixCob",
        "parameters": [
          {
            "name": "txid",
            "in": "path",
            "description": "Identificador da transação (txid)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "abc123def456"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixUpdateCobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Cobrança atualizada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixRetrievedCobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixRetrievedCobResponse"
                }
              }
            }
          },
          "404": {
            "description": "Cobrança não encontrada para o txid informado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixRetrievedCobResponse"
                }
              }
            }
          }
        }
      }
    },
    "/pix": {
      "get": {
        "tags": [
          "Dynamic QR Code"
        ],
        "summary": "Listar Pix recebidos",
        "description": "Lista os Pix recebidos com suporte a paginação e filtros por período, CPF, CNPJ e txid.",
        "operationId": "findByFilter",
        "parameters": [
          {
            "name": "paginacao.paginaAtual",
            "in": "query",
            "description": "Página atual (inicia em 0)",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "example": 0
          },
          {
            "name": "paginacao.itensPorPagina",
            "in": "query",
            "description": "Quantidade de itens por página",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "example": 100
          },
          {
            "name": "inicio",
            "in": "query",
            "description": "Data/hora início do período de consulta (ISO 8601)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2024-01-01T00:00:00Z"
          },
          {
            "name": "fim",
            "in": "query",
            "description": "Data/hora fim do período de consulta (ISO 8601)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2024-12-31T23:59:59Z"
          },
          {
            "name": "cpf",
            "in": "query",
            "description": "CPF do pagador para filtro",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": 12345678901
          },
          {
            "name": "cnpj",
            "in": "query",
            "description": "CNPJ do pagador para filtro",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": 12345678000199
          },
          {
            "name": "txid",
            "in": "query",
            "description": "Identificador da transação para filtro",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "abc123def456"
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de Pix retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixPagebleResponse"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/infractions": {
      "get": {
        "tags": [
          "MED"
        ],
        "summary": "Listar infrações PIX",
        "description": "Retorna uma lista paginada de infrações PIX da conta do holder",
        "operationId": "findAllInfractions",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DateFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de infrações retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixInfractionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de filtro inválidos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixInfractionResponseDTO"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MED"
        ],
        "summary": "Criar infração PIX",
        "description": "Registra uma nova infração PIX vinculada à conta do holder",
        "operationId": "createInfraction",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixInfractionRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Infração criada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixInfractionResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixInfractionResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Erro de validação nos dados enviados",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixInfractionResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/infractions/{id}/defense": {
      "post": {
        "tags": [
          "MED"
        ],
        "summary": "Registrar defesa do titular",
        "description": "Registra a resposta de defesa do titular da conta para uma infração PIX",
        "operationId": "accountHolderDefense",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da infração PIX",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixInfractionAccountHolderDefenseRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Defesa registrada com sucesso"
          },
          "404": {
            "description": "Infração não encontrada"
          },
          "422": {
            "description": "Erro de validação nos dados enviados"
          }
        }
      }
    },
    "/holders/{document}/pix/frauds": {
      "get": {
        "tags": [
          "MED"
        ],
        "summary": "Listar fraudes PIX",
        "description": "Retorna uma lista paginada de fraudes PIX da conta do holder",
        "operationId": "findAllPixFrauds",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DateFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de fraudes retornada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixFraudResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de filtro inválidos",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixFraudResponseDTO"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MED"
        ],
        "summary": "Registrar fraude PIX",
        "description": "Registra uma nova marcação de fraude PIX vinculada à conta do holder",
        "operationId": "createPixFraud",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixFraudRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Fraude registrada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PixFraudResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PixFraudResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Erro de validação nos dados enviados",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PixFraudResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/disputes": {
      "get": {
        "tags": [
          "MED"
        ],
        "summary": "Listar disputas PIX",
        "description": "Retorna uma lista paginada de disputas PIX da conta do holder",
        "operationId": "getAllPixDisputes",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DateFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de disputas retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixDisputeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de filtro inválidos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixDisputeResponseDTO"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MED"
        ],
        "summary": "Criar disputa PIX",
        "description": "Registra uma nova disputa PIX vinculada à conta do holder",
        "operationId": "createDispute",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixDisputeRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Disputa criada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixDisputeResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixDisputeResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Erro de validação nos dados enviados",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixDisputeResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/chargebacks": {
      "get": {
        "tags": [
          "MED"
        ],
        "summary": "Listar chargebacks PIX",
        "description": "Retorna uma lista paginada de chargebacks PIX da conta do holder",
        "operationId": "findAllChargebacks",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DateFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de chargebacks retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixChargebackResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de filtro inválidos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixChargebackResponseDTO"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MED"
        ],
        "summary": "Criar chargeback PIX",
        "description": "Registra um novo chargeback PIX vinculado à conta do holder",
        "operationId": "createChargeback",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixChargebackRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Chargeback criado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixChargebackResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixChargebackResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Erro de validação nos dados enviados",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixChargebackResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/infractions/{id}": {
      "delete": {
        "tags": [
          "MED"
        ],
        "summary": "Cancelar infração PIX",
        "description": "Cancela uma infração PIX existente",
        "operationId": "delete1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da infração PIX",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Infração cancelada com sucesso"
          },
          "404": {
            "description": "Infração não encontrada"
          }
        }
      },
      "patch": {
        "tags": [
          "MED"
        ],
        "summary": "Atualizar infração PIX",
        "description": "Atualiza o status e detalhes de uma infração PIX existente",
        "operationId": "update2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da infração PIX",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixInfractionUpdateRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Infração atualizada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixInfractionResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Infração não encontrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixInfractionResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Erro de validação nos dados enviados",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixInfractionResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/chargebacks/{id}": {
      "delete": {
        "tags": [
          "MED"
        ],
        "summary": "Cancelar chargeback PIX",
        "description": "Cancela um chargeback PIX existente",
        "operationId": "delete_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do chargeback PIX",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Chargeback cancelado com sucesso"
          },
          "404": {
            "description": "Chargeback não encontrado"
          }
        }
      },
      "patch": {
        "tags": [
          "MED"
        ],
        "summary": "Atualizar chargeback PIX",
        "description": "Atualiza o status e detalhes de um chargeback PIX existente",
        "operationId": "update_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID do chargeback PIX",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PixChargebackUpdateRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Chargeback atualizado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixChargebackResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Chargeback não encontrado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixChargebackResponseDTO"
                }
              }
            }
          },
          "422": {
            "description": "Erro de validação nos dados enviados",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PixChargebackResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/infractions/defense": {
      "get": {
        "tags": [
          "MED"
        ],
        "summary": "Listar defesas de infrações PIX",
        "description": "Retorna uma lista paginada de defesas de infrações PIX da conta do holder",
        "operationId": "findAllInfractionsDefense",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/DateFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de defesas retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixInfractionDefenseResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de filtro inválidos",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResultPixInfractionDefenseResponseDTO"
                }
              }
            }
          }
        }
      }
    },
    "/holders/{document}/pix/frauds/{id}": {
      "delete": {
        "tags": [
          "MED"
        ],
        "summary": "Cancelar fraude PIX",
        "description": "Cancela uma marcação de fraude PIX existente",
        "operationId": "deletePixFraud",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da fraude PIX",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Fraude cancelada com sucesso"
          },
          "404": {
            "description": "Fraude não encontrada"
          }
        }
      }
    },
    "/holders/{document}/pix/disputes/{id}": {
      "delete": {
        "tags": [
          "MED"
        ],
        "summary": "Cancelar disputa PIX",
        "description": "Cancela uma disputa PIX existente",
        "operationId": "cancelPixDispute",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID da disputa PIX",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Disputa cancelada com sucesso"
          },
          "404": {
            "description": "Disputa não encontrada"
          }
        }
      }
    },
    "/holders/{document}/webhook/{key}": {
      "get": {
        "tags": [
          "Dynamic QR Code Webhooks"
        ],
        "summary": "Consultar webhook por chave Pix",
        "description": "Retorna os detalhes de um webhook específico identificado pela chave Pix",
        "operationId": "findByKey",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          },
          {
            "name": "key",
            "in": "path",
            "description": "chave Pix identificadora do webhook",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pix-webhook-key"
          }
        ],
        "responses": {
          "200": {
            "description": "Webhook encontrado com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Webhook não encontrado"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      },
      "put": {
        "tags": [
          "Dynamic QR Code Webhooks"
        ],
        "summary": "Atualizar webhook por chave Pix",
        "description": "Atualiza a configuração de um webhook existente identificado pela chave Pix",
        "operationId": "update3",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          },
          {
            "name": "key",
            "in": "path",
            "description": "chave Pix identificadora do webhook",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pix-webhook-key"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Webhook atualizado com sucesso"
          },
          "400": {
            "description": "Requisição inválida"
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Webhook não encontrado"
          },
          "422": {
            "description": "Erro de validação"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      },
      "delete": {
        "tags": [
          "Dynamic QR Code Webhooks"
        ],
        "summary": "Remover webhook por chave Pix",
        "description": "Remove um webhook existente identificado pela chave Pix",
        "operationId": "remove",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          },
          {
            "name": "key",
            "in": "path",
            "description": "chave Pix identificadora do webhook",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pix-webhook-key"
          }
        ],
        "responses": {
          "204": {
            "description": "Webhook removido com sucesso"
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Webhook não encontrado"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      }
    },
    "/holders/{document}/webhook/events": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Listar eventos inscritos",
        "description": "Retorna todos os eventos de webhook configurados para o titular",
        "operationId": "getAll",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de eventos retornada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerEventSetupResponseDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Não autorizado"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Criar inscrição de evento",
        "description": "Inscreve o titular para receber notificações de um tipo de evento via webhook",
        "operationId": "create3",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerEventSetupRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Inscrição de evento criada com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerEventSetupResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida"
          },
          "401": {
            "description": "Não autorizado"
          },
          "409": {
            "description": "Evento já cadastrado para este titular"
          },
          "422": {
            "description": "Erro de validação"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      }
    },
    "/holders/{document}/webhook/events/resend": {
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Reenviar eventos em lote",
        "description": "Reenvia eventos de webhook que falharam ou precisam ser reprocessados",
        "operationId": "resendBulk",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkResendRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Reenvio processado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResendResponse"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida"
          },
          "401": {
            "description": "Não autorizado"
          },
          "422": {
            "description": "Erro de validação"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      }
    },
    "/holders/{document}/webhook/events/{eventId}": {
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Remover inscrição de evento",
        "description": "Remove a inscrição de um evento de webhook do titular",
        "operationId": "delete2",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Identificador único do evento",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "evt_abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "Evento removido com sucesso"
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Evento não encontrado"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      },
      "patch": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Atualizar inscrição de evento",
        "description": "Atualiza parcialmente a configuração de um evento de webhook inscrito",
        "operationId": "update_11",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Identificador único do evento",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "evt_abc123"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerEventSetupPatchDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Evento atualizado com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerEventSetupResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida"
          },
          "401": {
            "description": "Não autorizado"
          },
          "404": {
            "description": "Evento não encontrado"
          },
          "422": {
            "description": "Erro de validação"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      }
    },
    "/holders/{document}/webhook": {
      "get": {
        "tags": [
          "Dynamic QR Code Webhooks"
        ],
        "summary": "Listar webhooks com chaves Pix",
        "description": "Retorna uma lista paginada de webhooks do titular, com filtros opcionais por período",
        "operationId": "findByFilter1",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          },
          {
            "name": "paginacao.paginaAtual",
            "in": "query",
            "description": "Número da página atual (zero-based)",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 0
          },
          {
            "name": "paginacao.itensPorPagina",
            "in": "query",
            "description": "Quantidade de itens por página",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 20
          },
          {
            "name": "inicio",
            "in": "query",
            "description": "Data/hora de início do filtro (ISO 8601)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2025-01-01T00:00:00"
          },
          {
            "name": "fim",
            "in": "query",
            "description": "Data/hora de fim do filtro (ISO 8601)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "example": "2025-12-31T23:59:59"
          }
        ],
        "responses": {
          "200": {
            "description": "Lista de webhooks retornada com sucesso",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookPageableResponse"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros de paginação inválidos"
          },
          "401": {
            "description": "Não autorizado"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      }
    },
    "/holders/{document}/webhook/events/logs": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Consultar logs de eventos",
        "description": "Retorna os logs de entrega de eventos de webhook com filtros opcionais por status, tipo, objeto e período",
        "operationId": "getLogs",
        "parameters": [
          {
            "name": "document",
            "in": "path",
            "description": "Documento do titular (CPF/CNPJ)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 12345678900
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filtrar por status de entrega (ex: SUCCESS, FAILED, PENDING)",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "FAILED"
          },
          {
            "name": "event_type",
            "in": "query",
            "description": "Filtrar por tipo de evento (ex: PIX_RECEIVED, TRANSFER_COMPLETED)",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "PIX_RECEIVED"
          },
          {
            "name": "object_id",
            "in": "query",
            "description": "Filtrar por identificador do objeto relacionado",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "obj_xyz789"
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Data de início do filtro (formato: yyyy-MM-dd)",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2025-01-01"
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Data de fim do filtro (formato: yyyy-MM-dd)",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2025-12-31"
          },
          {
            "name": "page",
            "in": "query",
            "description": "Número da página (zero-based)",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "example": 0
          },
          {
            "name": "size",
            "in": "query",
            "description": "Quantidade de itens por página",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            },
            "example": 20
          }
        ],
        "responses": {
          "200": {
            "description": "Logs retornados com sucesso",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookEventLogPageResponse"
                }
              }
            }
          },
          "400": {
            "description": "Parâmetros inválidos"
          },
          "401": {
            "description": "Não autorizado"
          },
          "500": {
            "description": "Erro interno do servidor"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "UpdateAccountCredentialRequestDTO": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "ips": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AccountCredentialDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "CANCELLED"
            ]
          },
          "ips": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "QR_CODE_DYNAMIC",
              "API"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ChangeCredentialRequest": {
        "required": [
          "credential",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "credential": {
            "type": "string"
          },
          "document": {
            "type": "string"
          }
        }
      },
      "AuthenticationValidateResponse": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string"
          },
          "balance": {
            "type": "number"
          },
          "accountIdentification": {
            "type": "string"
          },
          "holderDocument": {
            "type": "string"
          },
          "holderPicture": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateAccountCredentialRequestDTO": {
        "required": [
          "description",
          "type"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "QR_CODE_DYNAMIC",
              "API"
            ]
          },
          "ips": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateAccountCredentialResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "CANCELLED"
            ]
          },
          "ips": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "QR_CODE_DYNAMIC",
              "API"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "GenerateSignedUploadUrlRequestDTO": {
        "required": [
          "contentType",
          "filename",
          "flow"
        ],
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "flow": {
            "type": "string",
            "enum": [
              "ONBOARDING",
              "CREDIT"
            ]
          }
        }
      },
      "GenerateSignedUploadUrlResponseDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "cloud": {
            "type": "string"
          },
          "signedHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "ValidateOTPChangeCredentialRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "document": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        }
      },
      "OTPChangeCredentialResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "route": {
            "type": "string",
            "enum": [
              "FORGOT_PASSWORD",
              "FORGOT_PASSWORD_EMAIL"
            ]
          }
        }
      },
      "ValidateSelfieRequest": {
        "required": [
          "contentType",
          "document",
          "fileName",
          "type"
        ],
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "DOCUMENT",
              "SELFIE",
              "OTHER"
            ]
          },
          "document": {
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        }
      },
      "DeviceAssociationRequest": {
        "type": "object",
        "properties": {
          "cpf": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "deviceKey": {
            "type": "string"
          },
          "deviceIdentification": {
            "type": "string"
          }
        }
      },
      "DeviceAssociationResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "accessToken": {
            "type": "string"
          },
          "route": {
            "type": "string",
            "enum": [
              "LOGIN_CONFIRM_DEVICE_EMAIL",
              "ASSOCIATE_DEVICE"
            ]
          },
          "deviceIdentification": {
            "type": "string"
          }
        }
      },
      "ValidateOTPRequest": {
        "required": [
          "code",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "cpf": {
            "type": "string"
          }
        }
      },
      "AuthenticationValidateRequest": {
        "type": "object",
        "properties": {
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClaimRequest"
            }
          },
          "signWithKey": {
            "type": "boolean"
          },
          "secret": {
            "type": "string"
          },
          "cpf": {
            "type": "string"
          },
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "deviceData": {
            "$ref": "#/components/schemas/DeviceUpdateRequest"
          }
        }
      },
      "ClaimRequest": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "object"
          }
        }
      },
      "DeviceUpdateRequest": {
        "required": [
          "deviceId",
          "platform"
        ],
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "enum": [
              "ANDROID",
              "IOS"
            ]
          },
          "deviceId": {
            "type": "string"
          },
          "deviceIdentification": {
            "type": "string"
          }
        }
      },
      "AuthenticationChallengeRequest": {
        "required": [
          "cpf"
        ],
        "type": "object",
        "properties": {
          "cpf": {
            "type": "string"
          },
          "deviceIdentification": {
            "type": "string"
          }
        }
      },
      "AuthenticationChallengeResponse": {
        "type": "object",
        "properties": {
          "challenge": {
            "type": "string"
          },
          "password": {
            "type": "boolean"
          }
        }
      },
      "ClientCredentialsRequest": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string"
          },
          "client_secret": {
            "type": "string"
          },
          "grant_type": {
            "type": "string",
            "enum": [
              "client_credentials"
            ]
          }
        }
      },
      "TokenResponse": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string"
          },
          "expires_in": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DeviceDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "platform": {
            "type": "string",
            "enum": [
              "ANDROID",
              "IOS"
            ]
          },
          "deviceIdentification": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PublicKeyDTO": {
        "type": "object",
        "properties": {
          "publicKey": {
            "type": "string"
          }
        }
      },
      "StartOnboardingRequest": {
        "type": "object",
        "properties": {
          "nickname": {
            "type": "string",
            "description": "Apelido do usuário",
            "example": "joaosilva"
          },
          "name": {
            "type": "string",
            "description": "Nome completo do usuário",
            "example": "João da Silva"
          },
          "document": {
            "type": "string",
            "description": "CPF do usuário (somente números)",
            "example": "12345678900"
          }
        },
        "description": "Dados para iniciar o onboarding simplificado"
      },
      "SimpleOnboardingResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão para prosseguir com o fluxo de onboarding"
          }
        },
        "description": "Resposta do onboarding simplificado"
      },
      "ValidateOTPRequest1": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "code": {
            "type": "string",
            "description": "Código OTP recebido via SMS ou e-mail",
            "example": "123456"
          }
        },
        "description": "Dados para validação do código OTP"
      },
      "OTPResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão atualizado após operação OTP"
          }
        },
        "description": "Resposta da operação OTP"
      },
      "SMSChallengeRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "mobilePhone": {
            "type": "string",
            "description": "Número do celular para envio do OTP via SMS",
            "example": "11999998888"
          }
        },
        "description": "Dados para solicitar envio de código OTP via SMS"
      },
      "MailChallengeRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "mail": {
            "type": "string",
            "description": "E-mail para envio do OTP",
            "example": "joao@email.com"
          }
        },
        "description": "Dados para solicitar envio de código OTP via e-mail"
      },
      "FinishOnboardRequest": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "password": {
            "type": "string",
            "description": "Senha de acesso"
          },
          "deviceKey": {
            "type": "string",
            "description": "Chave Publica RSA vinculada ao dispositivo"
          },
          "deviceIdentification": {
            "type": "string",
            "description": "Identificação única do dispositivo"
          }
        },
        "description": "Dados para criação da conta no onboarding simplificado"
      },
      "CreateAccountRequest": {
        "type": "object",
        "properties": {
          "pin": {
            "type": "string",
            "description": "PIN de segurança para transações",
            "example": "1234"
          }
        },
        "description": "Dados para finalizar abertura de conta"
      },
      "FileUploadRequest": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "description": "Nome do arquivo",
            "example": "selfie.jpg"
          },
          "contentType": {
            "type": "string",
            "description": "Tipo de conteúdo do arquivo (MIME type)",
            "example": "image/jpeg"
          },
          "type": {
            "type": "string",
            "description": "Tipo do documento enviado",
            "enum": [
              "DRIVER_LICENSE_FRONT",
              "DRIVER_LICENSE_REAR",
              "IDENTITY_CARD_FRONT",
              "IDENTITY_CARD_REAR",
              "DIGITAL_DOCUMENT",
              "DIGITAL_DRIVER_LICENSE",
              "DIGITAL_IDENTITY_CARD",
              "RNE_FRONT",
              "RNE_REAR",
              "PASSPORT",
              "SELFIE",
              "SIGNATURE",
              "PAC"
            ]
          }
        },
        "description": "Dados para upload de documento de identificação"
      },
      "AddressRequest": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Logradouro (rua, avenida, etc.)",
            "example": "Rua das Flores"
          },
          "number": {
            "type": "string",
            "description": "Número do endereço",
            "example": "123"
          },
          "complement": {
            "type": "string",
            "description": "Complemento do endereço",
            "example": "Apto 45"
          },
          "cep": {
            "type": "string",
            "description": "CEP (somente números)",
            "example": "01001000"
          },
          "city": {
            "type": "string",
            "description": "Cidade",
            "example": "São Paulo"
          },
          "neighborhood": {
            "type": "string",
            "description": "Bairro",
            "example": "Centro"
          },
          "uf": {
            "type": "string",
            "description": "Unidade federativa (sigla do estado)",
            "example": "SP"
          },
          "country": {
            "type": "string",
            "description": "País",
            "example": "BR"
          },
          "valid": {
            "type": "boolean"
          }
        },
        "description": "Endereço residencial do titular"
      },
      "AppInfoRequest": {
        "type": "object",
        "properties": {
          "deviceName": {
            "type": "string",
            "description": "Nome do dispositivo",
            "example": "iPhone 15 Pro"
          },
          "operationSystem": {
            "type": "string",
            "description": "Sistema operacional do dispositivo",
            "example": "iOS 17.4"
          },
          "ip": {
            "type": "string",
            "description": "Endereço IP do dispositivo",
            "example": "192.168.1.100"
          },
          "altitude": {
            "type": "number",
            "description": "Altitude da localização do dispositivo (metros)",
            "format": "double",
            "example": 760
          },
          "latitude": {
            "type": "number",
            "description": "Latitude da localização do dispositivo",
            "format": "double",
            "example": -23.5505
          },
          "accuracy": {
            "type": "number",
            "description": "Precisão da localização (metros)",
            "format": "double",
            "example": 10
          },
          "longitude": {
            "type": "number",
            "description": "Longitude da localização do dispositivo",
            "format": "double",
            "example": -46.6333
          }
        },
        "description": "Informações do aplicativo e dispositivo do usuário"
      },
      "PersonalAccountRequest": {
        "type": "object",
        "properties": {
          "motherName": {
            "type": "string",
            "description": "Nome da mãe do titular",
            "example": "Maria da Silva"
          },
          "birthdate": {
            "type": "string",
            "description": "Data de nascimento do titular",
            "format": "date",
            "example": "1990-05-15"
          },
          "address": {
            "$ref": "#/components/schemas/AddressRequest"
          },
          "isPoliticallyExposedPerson": {
            "type": "string",
            "description": "Indicação de pessoa politicamente exposta",
            "enum": [
              "SELF",
              "RELATED",
              "NONE"
            ]
          },
          "declaredIncome": {
            "type": "string",
            "description": "Faixa de renda declarada",
            "enum": [
              "NONE",
              "LESS_THAN_ONE_THOUSAND",
              "FROM_ONE_THOUSAND_TO_TWO_THOUSAND",
              "FROM_TWO_THOUSAND_TO_THREE_THOUSAND",
              "FROM_THREE_THOUSAND_TO_FIVE_THOUSAND",
              "FROM_FIVE_THOUSAND_TO_TEN_THOUSAND",
              "FROM_TEN_THOUSAND_TO_TWENTY_THOUSAND",
              "OVER_TWENTY_THOUSAND"
            ]
          },
          "revenueAmount": {
            "type": "number",
            "description": "Valor da renda mensal",
            "example": 5000
          },
          "nationality": {
            "type": "string",
            "description": "Nacionalidade do titular",
            "example": "brasileira"
          },
          "occupation": {
            "type": "string",
            "description": "Código da ocupação profissional",
            "enum": [
              "OCP0001",
              "OCP0002",
              "OCP0003",
              "OCP0004",
              "OCP0005",
              "OCP0006",
              "OCP0007",
              "OCP0008",
              "OCP0009",
              "OCP0010",
              "OCP0011",
              "OCP0012",
              "OCP0013",
              "OCP0014",
              "OCP0015",
              "OCP0016",
              "OCP0017",
              "OCP0018",
              "OCP0019",
              "OCP0020",
              "OCP0021",
              "OCP0022",
              "OCP0023",
              "OCP0024",
              "OCP0025",
              "OCP0026",
              "OCP0027",
              "OCP0028",
              "OCP0029",
              "OCP0030",
              "OCP0031",
              "OCP0032",
              "OCP0033",
              "OCP0034",
              "OCP0035",
              "OCP0036",
              "OCP0037",
              "OCP0038",
              "OCP0039",
              "OCP0040",
              "OCP0041",
              "OCP0042",
              "OCP0043",
              "OCP0044",
              "OCP0045",
              "OCP0046",
              "OCP0047",
              "OCP0048",
              "OCP0049",
              "OCP0050",
              "OCP0051",
              "OCP0052",
              "OCP0053",
              "OCP0054",
              "OCP0055",
              "OCP0056",
              "OCP0057",
              "OCP0058",
              "OCP0059",
              "OCP0060",
              "OCP0061",
              "OCP0062",
              "OCP0063",
              "OCP0064",
              "OCP0065",
              "OCP0066",
              "OCP0067",
              "OCP0068",
              "OCP0069",
              "OCP0070",
              "OCP0071",
              "OCP0072",
              "OCP0073",
              "OCP0074",
              "OCP0075",
              "OCP0076",
              "OCP0077",
              "OCP0078",
              "OCP0079",
              "OCP0080",
              "OCP0081",
              "OCP0082",
              "OCP0083",
              "OCP0084",
              "OCP0085",
              "OCP0086",
              "OCP0087",
              "OCP0088",
              "OCP0089",
              "OCP0090",
              "OCP0091",
              "OCP0092",
              "OCP0093",
              "OCP0094",
              "OCP0095",
              "OCP0096",
              "OCP0097",
              "OCP0098",
              "OCP0099",
              "OCP0100",
              "OCP0101",
              "OCP0102",
              "OCP0103",
              "OCP0104",
              "OCP0105"
            ]
          },
          "agreeTerms": {
            "type": "string",
            "description": "Identificador do aceite dos termos regulatórios"
          },
          "gender": {
            "type": "string",
            "description": "Gênero do titular",
            "enum": [
              "M",
              "F",
              "OTHER"
            ]
          },
          "professionalClass": {
            "type": "string",
            "description": "Classe profissional"
          },
          "appInfo": {
            "$ref": "#/components/schemas/AppInfoRequest"
          },
          "paymentType": {
            "type": "string",
            "description": "Tipo de pagamento (débito, crédito)",
            "example": "DEBIT"
          },
          "name": {
            "type": "string",
            "description": "Nome completo do titular",
            "example": "João da Silva"
          },
          "paymentDay": {
            "type": "integer",
            "description": "Dia de pagamento da fatura",
            "format": "int32",
            "example": 10
          },
          "email": {
            "type": "string",
            "description": "E-mail do titular",
            "example": "joao@email.com"
          },
          "dueDay": {
            "type": "integer",
            "description": "Dia de vencimento da fatura",
            "format": "int32",
            "example": 15
          },
          "grantedLimit": {
            "type": "number",
            "description": "Limite de crédito concedido",
            "example": 2000
          },
          "mobilePhone": {
            "type": "string",
            "description": "Número do celular do titular",
            "example": "11999998888"
          }
        },
        "description": "Dados pessoais para ativação da conta"
      },
      "RegulatoryDocumentsDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Tipo do documento regulatório",
            "enum": [
              "PRIVACY_POLICY",
              "TERMS_OF_USE",
              "CREDIT_CONTRACT"
            ]
          },
          "text": {
            "type": "string",
            "description": "Conteúdo do documento em texto"
          },
          "pdf": {
            "type": "string",
            "description": "URL do documento em formato PDF"
          }
        },
        "description": "Documento regulatório"
      },
      "TermsResponse": {
        "type": "object",
        "properties": {
          "regulatoryDocuments": {
            "type": "array",
            "description": "Lista de documentos regulatórios (termos de uso, política de privacidade, etc.)",
            "items": {
              "$ref": "#/components/schemas/RegulatoryDocumentsDTO"
            }
          }
        },
        "description": "Resposta com documentos regulatórios"
      },
      "StartOnboardingRequest1": {
        "type": "object",
        "properties": {
          "tradingName": {
            "type": "string",
            "description": "Nome fantasia da empresa",
            "example": "Loja do João"
          },
          "businessName": {
            "type": "string",
            "description": "Razão social da empresa",
            "example": "João Silva Comércio LTDA"
          },
          "document": {
            "type": "string",
            "description": "CNPJ da empresa",
            "example": "12345678000199"
          }
        },
        "description": "Dados para iniciar o onboarding simplificado PJ"
      },
      "SimpleOnboardingResponse1": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão para continuidade do fluxo de onboarding"
          }
        },
        "description": "Resposta do onboarding simplificado PJ"
      },
      "ValidateOTPRequest2": {
        "required": [
          "code",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "code": {
            "type": "string",
            "description": "Código OTP recebido por SMS ou e-mail",
            "example": "123456"
          },
          "cpf": {
            "type": "string",
            "description": "CPF do representante legal",
            "example": "12345678900"
          }
        },
        "description": "Dados para validação do código OTP"
      },
      "OTPResponse1": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão atualizado após a operação de OTP"
          }
        },
        "description": "Resposta da operação de OTP"
      },
      "SmsOTPChallengeRequest": {
        "required": [
          "phone",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "phone": {
            "type": "string",
            "description": "Número de telefone para envio do OTP via SMS",
            "example": "11999998888"
          }
        },
        "description": "Dados para solicitar envio de código OTP via SMS"
      },
      "MailOTPChallengeRequest": {
        "required": [
          "email",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "email": {
            "type": "string",
            "description": "Endereço de e-mail para envio do OTP",
            "example": "usuario@empresa.com.br"
          }
        },
        "description": "Dados para solicitar envio de código OTP via e-mail"
      },
      "CreateAccountRequest1": {
        "required": [
          "deviceIdentification",
          "deviceKey",
          "password",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "password": {
            "type": "string",
            "description": "Senha de acesso definida pelo usuário"
          },
          "deviceKey": {
            "type": "string",
            "description": "Chave Publica RSA vinculada ao dispositivo"
          },
          "deviceIdentification": {
            "type": "string",
            "description": "Identificação única do dispositivo"
          }
        },
        "description": "Dados para criação da conta PJ"
      },
      "CreateBusinessAccountRequest": {
        "type": "object",
        "properties": {
          "pin": {
            "type": "string",
            "description": "PIN de segurança da conta",
            "example": "1234"
          },
          "businessType": {
            "type": "string",
            "description": "Tipo da empresa",
            "example": "LTDA",
            "enum": [
              "MEI",
              "ME",
              "EI",
              "EIRELI",
              "SLU",
              "LTDA",
              "SA",
              "SS"
            ]
          },
          "businessSize": {
            "type": "string",
            "description": "Porte da empresa",
            "example": "ME",
            "enum": [
              "MEI",
              "ME",
              "EPP",
              "MP",
              "GP"
            ]
          }
        },
        "description": "Dados para criação de conta de liquidação empresarial"
      },
      "FileUploadRequest1": {
        "required": [
          "contentType",
          "filename",
          "type"
        ],
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "description": "Nome do arquivo",
            "example": "contrato_social.pdf"
          },
          "contentType": {
            "type": "string",
            "description": "Tipo de conteúdo do arquivo (MIME type)",
            "example": "application/pdf"
          },
          "token": {
            "type": "string",
            "description": "Token de sessão do onboarding"
          },
          "type": {
            "type": "string",
            "description": "Tipo do documento",
            "enum": [
              "DRIVER_LICENSE_FRONT",
              "DRIVER_LICENSE_REAR",
              "IDENTITY_CARD_FRONT",
              "IDENTITY_CARD_REAR",
              "SELFIE",
              "RG",
              "CNH",
              "COMPANY_STATUTE",
              "DIRECTORS_ELECTION_MINUTE"
            ]
          },
          "document": {
            "type": "string",
            "description": "Conteúdo do documento em Base64"
          }
        },
        "description": "Dados para upload de documento no onboarding"
      },
      "Address": {
        "required": [
          "address",
          "cep",
          "city",
          "neighborhood",
          "number",
          "uf"
        ],
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Logradouro",
            "example": "Rua das Flores"
          },
          "number": {
            "type": "string",
            "description": "Número",
            "example": "123"
          },
          "complement": {
            "type": "string",
            "description": "Complemento",
            "example": "Sala 45"
          },
          "cep": {
            "type": "string",
            "description": "CEP",
            "example": "01001000"
          },
          "addressTypeId": {
            "type": "integer",
            "description": "ID do tipo de endereço",
            "format": "int64"
          },
          "city": {
            "type": "string",
            "description": "Cidade",
            "example": "São Paulo"
          },
          "neighborhood": {
            "type": "string",
            "description": "Bairro",
            "example": "Centro"
          },
          "uf": {
            "type": "string",
            "description": "Unidade federativa (estado)",
            "example": "SP"
          },
          "country": {
            "type": "string",
            "description": "País",
            "example": "Brasil"
          },
          "mailAddress": {
            "type": "integer",
            "description": "ID do endereço de correspondência",
            "format": "int64"
          },
          "valid": {
            "type": "boolean"
          }
        },
        "description": "Endereço"
      },
      "BusinessAccountRequest": {
        "type": "object",
        "properties": {
          "businessAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "legalRepresentative": {
            "$ref": "#/components/schemas/LegalRepresentativeRequest"
          },
          "agreeTerms": {
            "type": "string",
            "description": "Aceite dos termos de uso",
            "example": "true"
          },
          "cnaeCode": {
            "type": "string",
            "description": "Código CNAE da atividade principal",
            "example": "4712100"
          },
          "foundationDate": {
            "type": "string",
            "description": "Data de fundação da empresa",
            "format": "date",
            "example": "2020-01-15"
          },
          "declaredAnnualBilling": {
            "type": "string",
            "description": "Faixa de faturamento anual declarado",
            "enum": [
              "UP_TO_FIFTY_THOUSAND",
              "MORE_THAN_FIFTY_THOUSAND_UP_TO_ONE_HUNDRED_THOUSAND",
              "MORE_THAN_ONE_HUNDRED_THOUSAND_UP_TO_TWO_HUNDRED_AND_FIFTY_THOUSAND",
              "MORE_THAN_TWO_HUNDRED_AND_FIFTY_THOUSAND_UP_TO_FIVE_HUNDRED_THOUSAND",
              "MORE_THAN_FIVE_HUNDRED_THOUSAND_UP_TO_ONE_MILLION",
              "MORE_THAN_ONE_MILLION_UP_TO_TWO_MILLION_AND_FIVE_HUNDRED_THOUSAND",
              "MORE_THAN_TWO_MILLION_AND_FIVE_HUNDRED_THOUSAND_UP_TO_FIVE_MILLION",
              "MORE_THAN_FIVE_MILLION_UP_TO_TEN_MILLION",
              "MORE_THAN_TEN_MILLION_UP_TO_TWENTY_FIVE_MILLION",
              "MORE_THAN_TWENTY_FIVE_MILLION_UP_TO_FIFTY_MILLION",
              "MORE_THAN_FIFTY_MILLION_UP_TO_ONE_HUNDRED_MILLION",
              "MORE_THAN_ONE_HUNDRED_MILLION_UP_TO_TWO_HUNDRED_AND_FIFTY_MILLION",
              "MORE_THAN_TWO_HUNDRED_AND_FIFTY_MILLION_UP_TO_FIVE_HUNDRED_MILLION",
              "MORE_THAN_FIVE_HUNDRED_MILLION",
              "NOT_DECLARED",
              "EXEMPT_COMPANY",
              "INACTIVE_COMPANY"
            ]
          },
          "revenueAmount": {
            "type": "number",
            "description": "Faturamento mensal declarado",
            "example": 50000
          },
          "dueDay": {
            "type": "integer",
            "description": "Dia de vencimento da fatura",
            "format": "int32",
            "example": 15
          },
          "grantedLimit": {
            "type": "number",
            "description": "Limite de crédito concedido",
            "example": 100000
          }
        },
        "description": "Dados para atualização da conta empresarial"
      },
      "LegalRepresentativeRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Nome completo do representante legal",
            "example": "João da Silva"
          },
          "nickName": {
            "type": "string",
            "description": "Nome social ou apelido",
            "example": "João"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "birthDate": {
            "type": "string",
            "description": "Data de nascimento",
            "format": "date",
            "example": "1990-05-20"
          },
          "motherName": {
            "type": "string",
            "description": "Nome da mãe",
            "example": "Maria da Silva"
          },
          "declaredIncome": {
            "type": "string",
            "description": "Faixa de renda declarada",
            "enum": [
              "LESS_THAN_ONE_THOUSAND",
              "FROM_ONE_THOUSAND_TO_TWO_THOUSAND",
              "FROM_TWO_THOUSAND_TO_THREE_THOUSAND",
              "FROM_THREE_THOUSAND_TO_FIVE_THOUSAND",
              "FROM_FIVE_THOUSAND_TO_TEN_THOUSAND",
              "FROM_TEN_THOUSAND_TO_TWENTY_THOUSAND",
              "OVER_TWENTY_THOUSAND"
            ]
          },
          "occupation": {
            "type": "string",
            "description": "Ocupação profissional",
            "enum": [
              "OCP0001",
              "OCP0002",
              "OCP0003",
              "OCP0004",
              "OCP0005",
              "OCP0006",
              "OCP0007",
              "OCP0008",
              "OCP0009",
              "OCP0010",
              "OCP0011",
              "OCP0012",
              "OCP0013",
              "OCP0014",
              "OCP0015",
              "OCP0016",
              "OCP0017",
              "OCP0018",
              "OCP0019",
              "OCP0020",
              "OCP0021",
              "OCP0022",
              "OCP0023",
              "OCP0024",
              "OCP0025",
              "OCP0026",
              "OCP0027",
              "OCP0028",
              "OCP0029",
              "OCP0030",
              "OCP0031",
              "OCP0032",
              "OCP0033",
              "OCP0034",
              "OCP0035",
              "OCP0036",
              "OCP0037",
              "OCP0038",
              "OCP0039",
              "OCP0040",
              "OCP0041",
              "OCP0042",
              "OCP0043",
              "OCP0044",
              "OCP0045",
              "OCP0046",
              "OCP0047",
              "OCP0048",
              "OCP0049",
              "OCP0050",
              "OCP0051",
              "OCP0052",
              "OCP0053",
              "OCP0054",
              "OCP0055",
              "OCP0056",
              "OCP0057",
              "OCP0058",
              "OCP0059",
              "OCP0060",
              "OCP0061",
              "OCP0062",
              "OCP0063",
              "OCP0064",
              "OCP0065",
              "OCP0066",
              "OCP0067",
              "OCP0068",
              "OCP0069",
              "OCP0070",
              "OCP0071",
              "OCP0072",
              "OCP0073",
              "OCP0074",
              "OCP0075",
              "OCP0076",
              "OCP0077",
              "OCP0078",
              "OCP0079",
              "OCP0080",
              "OCP0081",
              "OCP0082",
              "OCP0083",
              "OCP0084",
              "OCP0085",
              "OCP0086",
              "OCP0087",
              "OCP0088",
              "OCP0089",
              "OCP0090",
              "OCP0091",
              "OCP0092",
              "OCP0093",
              "OCP0094",
              "OCP0095",
              "OCP0096",
              "OCP0097",
              "OCP0098",
              "OCP0099",
              "OCP0100",
              "OCP0101",
              "OCP0102",
              "OCP0103",
              "OCP0104",
              "OCP0105"
            ]
          },
          "document": {
            "type": "string",
            "description": "CPF do representante legal",
            "example": "12345678900"
          },
          "nationality": {
            "type": "string",
            "description": "Nacionalidade",
            "example": "Brasileira"
          },
          "nationalIdentification": {
            "type": "string",
            "description": "Documento de identificação nacional (RG)",
            "example": "123456789"
          },
          "maritalStatus": {
            "type": "string",
            "description": "Estado civil",
            "enum": [
              "SINGLE",
              "MARRIED",
              "DIVORCED",
              "SEPARATED",
              "WIDOWER"
            ]
          },
          "mobilePhone": {
            "type": "string",
            "description": "Telefone celular",
            "example": "11999998888"
          },
          "email": {
            "type": "string",
            "description": "E-mail de contato",
            "example": "joao@empresa.com.br"
          },
          "isPoliticallyExposedPerson": {
            "type": "string",
            "description": "Indicador de pessoa politicamente exposta (PEP)",
            "enum": [
              "SELF",
              "RELATED",
              "NONE"
            ]
          }
        },
        "description": "Dados do representante legal da empresa"
      },
      "UpdateUserNotificationPreferenceRequest": {
        "required": [
          "enabled",
          "type"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Indica se a notificacao esta habilitada",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Tipo de notificacao",
            "enum": [
              "UPCOMING_INVOICE",
              "OVERDUE_INVOICE",
              "PAYMENT_NOTICE_INVOICE",
              "CARD_TRANSACTION",
              "MARKETING_COMMUNICATION",
              "SERVICE_SUBSCRIPTION_UPDATE"
            ]
          }
        },
        "description": "Requisicao para atualizar preferencia de notificacao do usuario"
      },
      "AccountActivateUpdateRequest": {
        "required": [
          "birthDate",
          "motherName",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Nome completo do titular",
            "example": "Joao da Silva"
          },
          "motherName": {
            "type": "string",
            "description": "Nome da mae do titular",
            "example": "Maria da Silva"
          },
          "birthDate": {
            "type": "string",
            "description": "Data de nascimento no formato yyyy-MM-dd",
            "format": "date",
            "example": "1990-01-15"
          }
        },
        "description": "Requisicao para atualizar dados cadastrais da conta"
      },
      "AccountSimpleDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador unico da conta",
            "example": "60f1b2c3d4e5f6a7b8c9d0e1"
          },
          "accountIdentification": {
            "type": "string",
            "description": "Identificacao da conta",
            "example": "0001-123456-7"
          },
          "fullName": {
            "type": "string",
            "description": "Nome completo do titular",
            "example": "Joao da Silva"
          },
          "document": {
            "type": "string",
            "description": "Numero do documento do titular (CPF/CNPJ)",
            "example": "12345678900"
          },
          "bankCode": {
            "type": "string",
            "description": "Codigo do banco",
            "example": "301"
          },
          "bankName": {
            "type": "string",
            "description": "Nome do banco",
            "example": "Builders Bank"
          },
          "agency": {
            "type": "string",
            "description": "Numero da agencia",
            "example": "0001"
          },
          "agencyDigit": {
            "type": "string",
            "description": "Digito da agencia",
            "example": "0"
          },
          "account": {
            "type": "string",
            "description": "Numero da conta",
            "example": "123456"
          },
          "accountDigit": {
            "type": "string",
            "description": "Digito da conta",
            "example": "7"
          }
        },
        "description": "Dados simplificados da conta"
      },
      "ValidateOTPChangeCredentialRequest1": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessao recebido na solicitacao do desafio"
          },
          "document": {
            "type": "string",
            "description": "CPF do titular da conta",
            "example": "12345678900"
          },
          "code": {
            "type": "string",
            "description": "Codigo OTP recebido por e-mail ou SMS",
            "example": "123456"
          }
        },
        "description": "Requisicao para validar o codigo OTP de alteracao de credencial"
      },
      "OTPChangeCredentialResponse1": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Token de sessao para validacao do OTP"
          },
          "email": {
            "type": "string",
            "description": "E-mail mascarado para o qual o OTP foi enviado",
            "example": "j***o@email.com"
          },
          "phone": {
            "type": "string",
            "description": "Telefone mascarado para o qual o OTP foi enviado",
            "example": "(**) *****-8888"
          },
          "route": {
            "type": "string",
            "description": "Rota de recuperacao utilizada",
            "enum": [
              "FORGOT_PASSWORD",
              "FORGOT_PASSWORD_EMAIL"
            ]
          }
        },
        "description": "Resposta do desafio OTP para alteracao de credencial"
      },
      "GeneratePhoneOTPChallengeRequest": {
        "required": [
          "phone"
        ],
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "description": "Novo numero de telefone para o qual o OTP sera enviado",
            "example": "11999998888"
          }
        },
        "description": "Requisicao para gerar desafio OTP por SMS para alteracao de telefone"
      },
      "GenerateEmailOTPChallengeRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Novo endereco de e-mail para o qual o OTP sera enviado",
            "example": "joao@email.com"
          }
        },
        "description": "Requisicao para gerar desafio OTP por e-mail"
      },
      "UserNotificationPreferenceResponse": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Descricao da preferencia de notificacao",
            "example": "Notificacoes de transacoes"
          },
          "enabled": {
            "type": "boolean",
            "description": "Indica se a notificacao esta habilitada",
            "example": true
          },
          "type": {
            "type": "string",
            "description": "Tipo de notificacao",
            "enum": [
              "UPCOMING_INVOICE",
              "OVERDUE_INVOICE",
              "PAYMENT_NOTICE_INVOICE",
              "CARD_TRANSACTION",
              "MARKETING_COMMUNICATION",
              "SERVICE_SUBSCRIPTION_UPDATE"
            ]
          }
        },
        "description": "Preferencia de notificacao do usuario"
      },
      "DocumentResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador unico do documento"
          },
          "fileType": {
            "type": "string",
            "description": "Tipo do template do documento",
            "enum": [
              "PAC",
              "DOSSIER",
              "TORRA_DEBT_CLEARANCE_CERTIFICATE",
              "CCB"
            ]
          },
          "fileName": {
            "type": "string",
            "description": "Nome do arquivo",
            "example": "termo_adesao.pdf"
          },
          "description": {
            "type": "string",
            "description": "Descricao do documento",
            "example": "Termo de adesao ao servico"
          },
          "content": {
            "type": "string",
            "description": "Conteudo do documento codificado em base64"
          }
        },
        "description": "Dados de um documento legal"
      },
      "AccountDTOObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "providerAccountId": {
            "type": "object"
          },
          "settlementAccount": {
            "$ref": "#/components/schemas/SettlementAccountDTO"
          },
          "holder": {
            "$ref": "#/components/schemas/AccountHolderDTO"
          },
          "accountStatus": {
            "type": "string",
            "enum": [
              "VIVO_RECHARGES",
              "PENDING_INFORMATION",
              "PENDING_PROVIDER",
              "RECHARGES_PENDING_PROVIDER",
              "PENDING_UPLOAD",
              "RECHARGES_PENDING_UPLOAD",
              "PENDING_ONBOARDING",
              "ERROR_PROVIDER",
              "ACTIVE_PROVIDER",
              "INACTIVE_PROVIDER",
              "WAITING_DOCUMENT",
              "WAITING_ANALYSIS",
              "ACTIVE",
              "INACTIVE",
              "BLOCKED",
              "BLOCKED_PENDING_PROVIDER",
              "REPROVED",
              "INTERNAL",
              "PENDING_CANCEL",
              "CANCELED",
              "BLOCKED_FINANCIAL"
            ]
          },
          "accountStatusHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountStatusHistoryDTO"
            }
          },
          "accountIdentification": {
            "type": "string"
          },
          "blockedReason": {
            "type": "string",
            "enum": [
              "INCOMPLETE_REGISTRATION",
              "FRAUD_SUSPICION",
              "INCOMPLETE_REGISTRATION_SANITIZATION",
              "BACENJUD",
              "PENDING_DATA",
              "PENDING_SELFIE",
              "PENDING_DOCUMENT",
              "FRAUD_PREVENTION",
              "IRREGULAR_CPF",
              "JUDICIAL_NOTICE",
              "OVERDUE_PAYMENT"
            ]
          },
          "profilePictureLink": {
            "type": "string"
          },
          "paymentsMethod": {
            "$ref": "#/components/schemas/CardControlDTO"
          },
          "showPixIntroduction": {
            "type": "boolean"
          },
          "provider": {
            "type": "string",
            "enum": [
              "DOCK",
              "BANKLY",
              "PEFISA",
              "BUILDERS_BANK",
              "QITECH",
              "PICPAY",
              "INFOX",
              "RPE",
              "PISMO",
              "FINCORE",
              "AUTBANK"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedReason": {
            "type": "string"
          },
          "businessAccount": {
            "$ref": "#/components/schemas/BusinessAccountDTO"
          },
          "providerMerchantId": {
            "type": "string"
          },
          "terminalNumber": {
            "type": "string"
          },
          "accountFeePackageId": {
            "type": "string"
          },
          "hasTapToPay": {
            "type": "boolean"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          }
        },
        "description": "Dados da conta"
      },
      "AccountHolderDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "refDocument": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "selfie": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "nickName": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "zipCode": {
            "type": "string"
          },
          "street": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "complement": {
            "type": "string"
          },
          "neighborhood": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "federativeUnit": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "INDIVIDUAL",
              "BUSINESS"
            ]
          },
          "businessName": {
            "type": "string"
          },
          "tradingName": {
            "type": "string"
          },
          "providerHolderId": {
            "type": "string"
          },
          "motherName": {
            "type": "string"
          },
          "birthDate": {
            "type": "string",
            "format": "date"
          },
          "gender": {
            "type": "string"
          }
        }
      },
      "AccountStatusHistoryDTO": {
        "type": "object",
        "properties": {
          "oldStatus": {
            "type": "string",
            "enum": [
              "VIVO_RECHARGES",
              "PENDING_INFORMATION",
              "PENDING_PROVIDER",
              "RECHARGES_PENDING_PROVIDER",
              "PENDING_UPLOAD",
              "RECHARGES_PENDING_UPLOAD",
              "PENDING_ONBOARDING",
              "ERROR_PROVIDER",
              "ACTIVE_PROVIDER",
              "INACTIVE_PROVIDER",
              "WAITING_DOCUMENT",
              "WAITING_ANALYSIS",
              "ACTIVE",
              "INACTIVE",
              "BLOCKED",
              "BLOCKED_PENDING_PROVIDER",
              "REPROVED",
              "INTERNAL",
              "PENDING_CANCEL",
              "CANCELED",
              "BLOCKED_FINANCIAL"
            ]
          },
          "newStatus": {
            "type": "string",
            "enum": [
              "VIVO_RECHARGES",
              "PENDING_INFORMATION",
              "PENDING_PROVIDER",
              "RECHARGES_PENDING_PROVIDER",
              "PENDING_UPLOAD",
              "RECHARGES_PENDING_UPLOAD",
              "PENDING_ONBOARDING",
              "ERROR_PROVIDER",
              "ACTIVE_PROVIDER",
              "INACTIVE_PROVIDER",
              "WAITING_DOCUMENT",
              "WAITING_ANALYSIS",
              "ACTIVE",
              "INACTIVE",
              "BLOCKED",
              "BLOCKED_PENDING_PROVIDER",
              "REPROVED",
              "INTERNAL",
              "PENDING_CANCEL",
              "CANCELED",
              "BLOCKED_FINANCIAL"
            ]
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "BalanceResponseDTO": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/AccountDTOObject"
          },
          "globalBalance": {
            "type": "number",
            "description": "Saldo global disponivel",
            "example": 1500
          },
          "blockedBalance": {
            "type": "number",
            "description": "Saldo bloqueado",
            "example": 200
          },
          "menus": {
            "type": "array",
            "description": "Lista de menus disponiveis no aplicativo",
            "items": {
              "$ref": "#/components/schemas/MenuAppResponse"
            }
          }
        },
        "description": "Resposta com informacoes de saldo da conta"
      },
      "BusinessAccountDTO": {
        "type": "object",
        "properties": {
          "businessName": {
            "type": "string"
          },
          "businessDocument": {
            "type": "string"
          },
          "legalRepresentative": {
            "$ref": "#/components/schemas/LegalRepresentativeDTO"
          }
        }
      },
      "CardControlDTO": {
        "type": "object",
        "properties": {
          "virtual": {
            "type": "boolean"
          },
          "physical": {
            "type": "boolean"
          }
        }
      },
      "LegalRepresentativeDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "document": {
            "type": "string"
          },
          "birthDate": {
            "type": "string",
            "format": "date"
          },
          "motherName": {
            "type": "string"
          },
          "mobilePhone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          }
        }
      },
      "MenuAppResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          }
        },
        "description": "Lista de menus disponiveis no aplicativo"
      },
      "SettlementAccountDTO": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "NOT_ACTIVE",
              "PENDING",
              "LOCKED",
              "CLOSED",
              "INACTIVE",
              "REPROVED",
              "CANCELED"
            ]
          },
          "type": {
            "type": "string"
          },
          "bankNumber": {
            "type": "string"
          },
          "bankName": {
            "type": "string"
          },
          "branchNumber": {
            "type": "string"
          },
          "branchDigit": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "accountDigit": {
            "type": "string"
          },
          "document": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "AccountAddressResponse": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Logradouro",
            "example": "Rua das Flores"
          },
          "number": {
            "type": "string",
            "description": "Numero",
            "example": "123"
          },
          "complement": {
            "type": "string",
            "description": "Complemento",
            "example": "Apto 45"
          },
          "cep": {
            "type": "string",
            "description": "CEP",
            "example": "01001000"
          },
          "city": {
            "type": "string",
            "description": "Cidade",
            "example": "Sao Paulo"
          },
          "neighborhood": {
            "type": "string",
            "description": "Bairro",
            "example": "Centro"
          },
          "uf": {
            "type": "string",
            "description": "Unidade federativa (estado)",
            "example": "SP"
          },
          "country": {
            "type": "string",
            "description": "Pais",
            "example": "BR"
          }
        },
        "description": "Endereco cadastrado na conta"
      },
      "TransactionParamRequest": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "description": "Data/hora de início do período de busca (formato ISO: yyyy-MM-dd'T'HH:mm:ss)",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Data/hora de fim do período de busca (formato ISO: yyyy-MM-dd'T'HH:mm:ss)",
            "format": "date-time"
          },
          "page": {
            "type": "integer",
            "description": "Número da página",
            "format": "int32",
            "example": 0
          },
          "limit": {
            "type": "integer",
            "description": "Limite de registros por página",
            "format": "int32",
            "example": 20
          },
          "order": {
            "type": "string",
            "description": "Ordenação dos resultados (ASC ou DESC)",
            "example": "DESC"
          }
        },
        "description": "Filtros para consulta de transações"
      },
      "BeneficiaryResponseDTO": {
        "type": "object",
        "properties": {
          "beneficiaryId": {
            "type": "string",
            "description": "Identificador do beneficiário"
          },
          "document": {
            "type": "string",
            "description": "CPF ou CNPJ do beneficiário"
          },
          "type": {
            "type": "string",
            "description": "Tipo do beneficiário (PF ou PJ)",
            "enum": [
              "INDIVIDUAL",
              "COMPANY"
            ]
          },
          "fullName": {
            "type": "string",
            "description": "Nome completo do beneficiário",
            "example": "João da Silva"
          },
          "bankCode": {
            "type": "string",
            "description": "Código do banco",
            "example": "001"
          },
          "bankName": {
            "type": "string",
            "description": "Nome do banco",
            "example": "Banco do Brasil"
          },
          "agency": {
            "type": "string",
            "description": "Número da agência",
            "example": "0001"
          },
          "agencyDigit": {
            "type": "string",
            "description": "Dígito da agência"
          },
          "account": {
            "type": "string",
            "description": "Número da conta",
            "example": "123456"
          },
          "accountDigit": {
            "type": "string",
            "description": "Dígito da conta",
            "example": "7"
          },
          "accountTypeDTO": {
            "type": "string",
            "description": "Tipo da conta",
            "enum": [
              "CHECKING_ACCOUNT",
              "SAVINGS_ACCOUNT",
              "SALARY",
              "PAYMENT",
              "BUILDERSBANK"
            ]
          },
          "ispb": {
            "type": "string",
            "description": "Código ISPB da instituição",
            "example": "00000000"
          },
          "accountIdentification": {
            "type": "string",
            "description": "Identificação única da conta"
          },
          "pixKey": {
            "type": "string",
            "description": "Chave PIX do beneficiário"
          }
        },
        "description": "Dados do beneficiário de uma transação"
      },
      "PageTransactionDTO": {
        "type": "object",
        "properties": {
          "totalElements": {
            "type": "integer",
            "description": "Total de elementos encontrados",
            "format": "int32",
            "example": 150
          },
          "size": {
            "type": "integer",
            "description": "Quantidade de elementos por página",
            "format": "int32",
            "example": 20
          },
          "number": {
            "type": "integer",
            "description": "Número da página atual (zero-based)",
            "format": "int32",
            "example": 0
          },
          "totalPages": {
            "type": "integer",
            "description": "Total de páginas disponíveis",
            "format": "int32",
            "example": 8
          },
          "page": {
            "type": "integer",
            "description": "Número da página atual",
            "format": "int32",
            "example": 0
          },
          "hasContent": {
            "type": "boolean",
            "description": "Indica se a página possui conteúdo",
            "example": true
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indica se existe uma próxima página",
            "example": true
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indica se existe uma página anterior",
            "example": false
          },
          "content": {
            "type": "array",
            "description": "Lista de elementos da página atual",
            "items": {
              "$ref": "#/components/schemas/TransactionDTO"
            }
          }
        },
        "description": "Wrapper de paginação para listagem de resultados"
      },
      "PayerResponseDTO": {
        "type": "object",
        "properties": {
          "payerId": {
            "type": "string",
            "description": "Identificador do pagador"
          },
          "document": {
            "type": "string",
            "description": "CPF ou CNPJ do pagador"
          },
          "fullName": {
            "type": "string",
            "description": "Nome completo do pagador",
            "example": "Maria da Silva"
          },
          "bankCode": {
            "type": "string",
            "description": "Código do banco",
            "example": "001"
          },
          "bankName": {
            "type": "string",
            "description": "Nome do banco",
            "example": "Banco do Brasil"
          },
          "agency": {
            "type": "string",
            "description": "Número da agência",
            "example": "0001"
          },
          "agencyDigit": {
            "type": "string",
            "description": "Dígito da agência"
          },
          "account": {
            "type": "string",
            "description": "Número da conta",
            "example": "654321"
          },
          "accountDigit": {
            "type": "string",
            "description": "Dígito da conta",
            "example": "0"
          },
          "accountTypeDTO": {
            "type": "string",
            "description": "Tipo da conta",
            "enum": [
              "CHECKING_ACCOUNT",
              "SAVINGS_ACCOUNT",
              "SALARY",
              "PAYMENT",
              "BUILDERSBANK"
            ]
          },
          "ispb": {
            "type": "string",
            "description": "Código ISPB da instituição",
            "example": "00000000"
          },
          "accountIdentification": {
            "type": "string",
            "description": "Identificação única da conta"
          }
        },
        "description": "Dados do pagador de uma transação"
      },
      "TransactionDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da transação",
            "example": "6507e1a2b3c4d5e6f7890123"
          },
          "notProcessedTransactionTypeId": {
            "type": "integer",
            "description": "ID do tipo de transação não processada",
            "format": "int32"
          },
          "notProcessedTransactionTypeDescription": {
            "type": "string",
            "description": "Descrição do tipo de transação não processada"
          },
          "eventAdjustId": {
            "type": "integer",
            "description": "ID do ajuste de evento",
            "format": "int64"
          },
          "abbreviatedDescription": {
            "type": "string",
            "description": "Descrição abreviada da transação",
            "example": "PIX Enviado"
          },
          "accountId": {
            "type": "integer",
            "description": "ID da conta associada",
            "format": "int64"
          },
          "maskedCard": {
            "type": "string",
            "description": "Número do cartão mascarado",
            "example": "****1234"
          },
          "carrierName": {
            "type": "string",
            "description": "Nome do portador do cartão"
          },
          "transactionDate": {
            "type": "string",
            "description": "Data e hora da transação",
            "format": "date-time"
          },
          "originDate": {
            "type": "string",
            "description": "Data de origem da transação"
          },
          "billingDate": {
            "type": "string",
            "description": "Data de faturamento"
          },
          "realDueDate": {
            "type": "string",
            "description": "Data real de vencimento"
          },
          "transactionInputMode": {
            "type": "string",
            "description": "Modo de entrada da transação"
          },
          "borardingFee": {
            "type": "number",
            "description": "Taxa de embarque",
            "format": "double"
          },
          "inputValue": {
            "type": "number",
            "description": "Valor de entrada",
            "format": "double"
          },
          "amount": {
            "type": "number",
            "description": "Valor da transação",
            "example": 150.75
          },
          "valueBRL": {
            "type": "number",
            "description": "Valor em BRL",
            "format": "double"
          },
          "valueUSD": {
            "type": "number",
            "description": "Valor em USD",
            "format": "double"
          },
          "quotationUSD": {
            "type": "number",
            "description": "Cotação do USD",
            "format": "double"
          },
          "quotationDateUSD": {
            "type": "number",
            "description": "Data da cotação do USD",
            "format": "double"
          },
          "originCoinCode": {
            "type": "string",
            "description": "Código da moeda de origem"
          },
          "destinyCoinCode": {
            "type": "string",
            "description": "Código da moeda de destino"
          },
          "authorizationCode": {
            "type": "string",
            "description": "Código de autorização da transação"
          },
          "originalAuthorizationCode": {
            "type": "string",
            "description": "Código de autorização original"
          },
          "refCode": {
            "type": "string",
            "description": "Código de referência"
          },
          "terminalCode": {
            "type": "string",
            "description": "Código do terminal"
          },
          "mccCode": {
            "type": "integer",
            "description": "Código MCC (Merchant Category Code)",
            "format": "int32"
          },
          "mccGroup": {
            "type": "integer",
            "description": "Grupo MCC",
            "format": "int32"
          },
          "mccGroupDescription": {
            "type": "string",
            "description": "Descrição do grupo MCC"
          },
          "storeId": {
            "type": "integer",
            "description": "ID do estabelecimento",
            "format": "int64"
          },
          "storeName": {
            "type": "string",
            "description": "Nome do estabelecimento"
          },
          "storeFantasyName": {
            "type": "string",
            "description": "Nome fantasia do estabelecimento"
          },
          "storePlace": {
            "type": "object",
            "description": "Local do estabelecimento"
          },
          "plan": {
            "type": "object",
            "description": "Plano de pagamento"
          },
          "installment": {
            "type": "object",
            "description": "Parcela"
          },
          "creditFlag": {
            "type": "integer",
            "description": "Flag de crédito",
            "format": "int32"
          },
          "billedFlag": {
            "type": "integer",
            "description": "Flag de faturamento",
            "format": "int32"
          },
          "chargebackTransacionId": {
            "type": "integer",
            "description": "ID da transação de chargeback",
            "format": "int32"
          },
          "status": {
            "type": "integer",
            "description": "Status da transação",
            "format": "int32"
          },
          "adjustTypeId": {
            "type": "integer",
            "description": "ID do tipo de ajuste",
            "format": "int64"
          },
          "valueTAC": {
            "type": "number",
            "description": "Valor TAC",
            "format": "double"
          },
          "valueIOF": {
            "type": "number",
            "description": "Valor IOF",
            "format": "double"
          },
          "transactionExchangeType": {
            "$ref": "#/components/schemas/TransactionExchangeTypeDTO"
          },
          "transactionType": {
            "$ref": "#/components/schemas/TransactionTypeDTO"
          },
          "transactionTypeTitle": {
            "type": "string",
            "description": "Título descritivo do tipo de transação",
            "example": "PIX Enviado"
          },
          "receipt": {
            "type": "boolean",
            "description": "Indica se possui comprovante disponível",
            "example": true
          },
          "reversal": {
            "type": "boolean",
            "description": "Indica se é uma transação de estorno",
            "example": false
          },
          "cardId": {
            "type": "string",
            "description": "ID do cartão associado"
          },
          "recipientName": {
            "type": "string",
            "description": "Nome do destinatário"
          },
          "idEndToEnd": {
            "type": "string",
            "description": "ID End-to-End (identificador único PIX)"
          },
          "beneficiary": {
            "$ref": "#/components/schemas/BeneficiaryResponseDTO"
          },
          "payer": {
            "$ref": "#/components/schemas/PayerResponseDTO"
          },
          "balance": {
            "type": "number",
            "description": "Saldo da conta após a transação",
            "example": 5000
          },
          "blockedBalance": {
            "type": "number",
            "description": "Saldo bloqueado da conta",
            "example": 200
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "description": "Metadados adicionais da transação"
            },
            "description": "Metadados adicionais da transação"
          },
          "externalId": {
            "type": "string",
            "description": "Identificador externo da transação"
          },
          "reconciliationId": {
            "type": "string",
            "description": "ID de reconciliação"
          }
        },
        "description": "Representação de uma transação bancária"
      },
      "TransactionExchangeTypeDTO": {
        "type": "string",
        "description": "Tipo de câmbio da transação",
        "enum": [
          "CASH_IN",
          "CASH_OUT",
          "NONE",
          "REVERSAL_DEBIT"
        ]
      },
      "TransactionTypeDTO": {
        "type": "string",
        "description": "Tipo da transação bancária",
        "enum": [
          "BILL_PAYMENT",
          "BILL_PAYMENT_REFUND",
          "PHONE_RECHARGE",
          "SP_TRANS_RECHARGE",
          "BANK_TRANSFERS",
          "P2P_TRANSFERS",
          "RECEIVABLES",
          "PAYMENT_SLIPS",
          "CARD_ISSUANCE",
          "WITHDRAWAL",
          "NI",
          "VOUCHER",
          "PIX_CASH_OUT",
          "PIX_CASH_IN",
          "PIX_REFUND",
          "BANK_TRANSFERS_REFUND",
          "CARD_TRANSACTION",
          "CARD_CHARGEBACK",
          "FEE",
          "INVESTMENTS",
          "BALANCE_BLOCK",
          "BALANCE_RELEASE",
          "TED"
        ]
      },
      "DynamicFieldDTO": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "description": "Ordem de exibição do campo",
            "format": "int32",
            "example": 1
          },
          "label": {
            "type": "string",
            "description": "Rótulo do campo",
            "example": "Valor"
          },
          "value": {
            "type": "string",
            "description": "Valor do campo",
            "example": "R$ 150,00"
          },
          "bold": {
            "type": "boolean",
            "description": "Indica se o campo deve ser exibido em negrito",
            "example": true
          },
          "copyable": {
            "type": "boolean",
            "description": "Indica se o valor do campo pode ser copiado",
            "example": true
          }
        },
        "description": "Campo dinâmico de um comprovante de transação"
      },
      "ReceiptResponseDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Título do comprovante",
            "example": "Comprovante de PIX Enviado"
          },
          "dynamicFields": {
            "type": "array",
            "description": "Lista de campos dinâmicos do comprovante",
            "items": {
              "$ref": "#/components/schemas/DynamicFieldDTO"
            }
          }
        },
        "description": "Comprovante de uma transação"
      },
      "TransactionResponseDTO": {
        "type": "object",
        "properties": {
          "receipt": {
            "$ref": "#/components/schemas/ReceiptResponseDTO"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "description": "Metadados adicionais da transação"
            },
            "description": "Metadados adicionais da transação"
          }
        },
        "description": "Resposta com detalhes e comprovante de uma transação"
      },
      "PixTransactionParamRequestDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID da transação PIX"
          },
          "endToEndId": {
            "type": "string",
            "description": "Identificador End-to-End da transação PIX"
          },
          "txId": {
            "type": "string",
            "description": "ID da transação (tx_id)"
          },
          "amount": {
            "type": "integer",
            "description": "Valor exato da transação em centavos (não pode ser usado junto com minAmount/maxAmount)",
            "format": "int64",
            "example": 15000
          },
          "minAmount": {
            "type": "integer",
            "description": "Valor mínimo da transação em centavos",
            "format": "int64",
            "example": 1000
          },
          "maxAmount": {
            "type": "integer",
            "description": "Valor máximo da transação em centavos",
            "format": "int64",
            "example": 50000
          },
          "transactionDate": {
            "type": "string",
            "description": "Data da transação (formato: yyyy-MM-dd)",
            "example": "2025-01-15"
          },
          "senderTaxId": {
            "type": "string",
            "description": "CPF/CNPJ do remetente"
          },
          "receiverTaxId": {
            "type": "string",
            "description": "CPF/CNPJ do destinatário"
          },
          "types": {
            "type": "array",
            "description": "Lista de tipos de transação para filtrar",
            "example": [
              "PIX_CASH_OUT",
              "PIX_CASH_IN"
            ],
            "items": {
              "type": "string",
              "description": "Lista de tipos de transação para filtrar",
              "example": "[\"PIX_CASH_OUT\",\"PIX_CASH_IN\"]"
            }
          },
          "status": {
            "type": "array",
            "description": "Lista de status para filtrar",
            "example": [
              "COMPLETED",
              "PENDING"
            ],
            "items": {
              "type": "string",
              "description": "Lista de status para filtrar",
              "example": "[\"COMPLETED\",\"PENDING\"]"
            }
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Chave de idempotência"
          },
          "startDate": {
            "type": "string",
            "description": "Data de início do período de busca (formato: yyyy-MM-dd)",
            "example": "2025-01-01"
          },
          "endDate": {
            "type": "string",
            "description": "Data de fim do período de busca (formato: yyyy-MM-dd)",
            "example": "2025-01-31"
          },
          "page": {
            "type": "integer",
            "description": "Número da página (zero-based)",
            "format": "int32",
            "example": 0
          },
          "size": {
            "type": "integer",
            "description": "Quantidade de registros por página",
            "format": "int32",
            "example": 20
          },
          "externalId": {
            "type": "string",
            "description": "Identificador externo da transação"
          }
        },
        "description": "Filtros para consulta de transações PIX"
      },
      "InternalTransferDTO": {
        "type": "object",
        "properties": {
          "receiver_account_number": {
            "type": "string",
            "description": "Número da conta do recebedor"
          },
          "receiver_account_type": {
            "type": "string",
            "description": "Tipo da conta do recebedor"
          },
          "receiver_bank_code": {
            "type": "string",
            "description": "Código do banco do recebedor"
          },
          "receiver_branch_code": {
            "type": "string",
            "description": "Código da agência do recebedor"
          },
          "receiver_name": {
            "type": "string",
            "description": "Nome do recebedor"
          },
          "receiver_tax_id": {
            "type": "string",
            "description": "CPF/CNPJ do recebedor"
          },
          "sender_account_number": {
            "type": "string",
            "description": "Número da conta do remetente"
          },
          "sender_account_type": {
            "type": "string",
            "description": "Tipo da conta do remetente"
          },
          "sender_bank_code": {
            "type": "string",
            "description": "Código do banco do remetente"
          },
          "sender_branch_code": {
            "type": "string",
            "description": "Código da agência do remetente"
          },
          "sender_name": {
            "type": "string",
            "description": "Nome do remetente"
          },
          "sender_tax_id": {
            "type": "string",
            "description": "CPF/CNPJ do remetente"
          }
        },
        "description": "Informações de transferência interna entre contas"
      },
      "MetadataInfo": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Chave do metadado",
            "example": "description"
          },
          "value": {
            "type": "object",
            "description": "Valor do metadado",
            "example": "Pagamento referente ao pedido #123"
          }
        },
        "description": "Par chave-valor de metadados de uma transação"
      },
      "PagePixTransactionDTO": {
        "type": "object",
        "properties": {
          "totalElements": {
            "type": "integer",
            "description": "Total de elementos encontrados",
            "format": "int32",
            "example": 150
          },
          "size": {
            "type": "integer",
            "description": "Quantidade de elementos por página",
            "format": "int32",
            "example": 20
          },
          "number": {
            "type": "integer",
            "description": "Número da página atual (zero-based)",
            "format": "int32",
            "example": 0
          },
          "totalPages": {
            "type": "integer",
            "description": "Total de páginas disponíveis",
            "format": "int32",
            "example": 8
          },
          "page": {
            "type": "integer",
            "description": "Número da página atual",
            "format": "int32",
            "example": 0
          },
          "hasContent": {
            "type": "boolean",
            "description": "Indica se a página possui conteúdo",
            "example": true
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indica se existe uma próxima página",
            "example": true
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indica se existe uma página anterior",
            "example": false
          },
          "content": {
            "type": "array",
            "description": "Lista de elementos da página atual",
            "items": {
              "$ref": "#/components/schemas/PixTransactionDTO"
            }
          }
        },
        "description": "Wrapper de paginação para listagem de resultados"
      },
      "PixDTO": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string",
            "description": "ID da conta"
          },
          "amount": {
            "type": "number",
            "description": "Valor da transação em centavos",
            "example": 15000
          },
          "idempotency_key": {
            "type": "string",
            "description": "Chave de idempotência"
          },
          "internal_transaction_id": {
            "type": "string",
            "description": "ID interno da transação"
          },
          "end_to_end_id": {
            "type": "string",
            "description": "Identificador End-to-End da transação PIX"
          },
          "metadata": {
            "type": "array",
            "description": "Lista de metadados",
            "items": {
              "$ref": "#/components/schemas/MetadataInfo"
            }
          },
          "receiver_account_number": {
            "type": "string",
            "description": "Número da conta do recebedor"
          },
          "receiver_account_type": {
            "type": "string",
            "description": "Tipo da conta do recebedor"
          },
          "receiver_bank_code": {
            "type": "string",
            "description": "Código do banco do recebedor"
          },
          "receiver_branch_code": {
            "type": "string",
            "description": "Código da agência do recebedor"
          },
          "receiver_pix_key": {
            "type": "string",
            "description": "Chave PIX do recebedor"
          },
          "receiver_name": {
            "type": "string",
            "description": "Nome do recebedor"
          },
          "receiver_tax_id": {
            "type": "string",
            "description": "CPF/CNPJ do recebedor"
          },
          "sender_account_number": {
            "type": "string",
            "description": "Número da conta do remetente"
          },
          "sender_account_type": {
            "type": "string",
            "description": "Tipo da conta do remetente"
          },
          "sender_bank_code": {
            "type": "string",
            "description": "Código do banco do remetente"
          },
          "sender_branch_code": {
            "type": "string",
            "description": "Código da agência do remetente"
          },
          "sender_name": {
            "type": "string",
            "description": "Nome do remetente"
          },
          "sender_tax_id": {
            "type": "string",
            "description": "CPF/CNPJ do remetente"
          },
          "reconciliation_id": {
            "type": "string",
            "description": "ID de reconciliação"
          },
          "method": {
            "type": "string",
            "description": "Método de pagamento PIX (chave, manual, QR code)"
          },
          "cash_amount": {
            "type": "number",
            "description": "Valor do saque (PIX Saque)"
          },
          "cashier_bank_code": {
            "type": "string",
            "description": "Código do banco do caixa"
          },
          "cashier_type": {
            "type": "string",
            "description": "Tipo do caixa"
          },
          "description": {
            "type": "string",
            "description": "Descrição da transação PIX"
          },
          "status": {
            "type": "string",
            "description": "Status da transação PIX",
            "example": "COMPLETED"
          },
          "created_at": {
            "type": "string",
            "description": "Data de criação da transação",
            "format": "date-time"
          },
          "reversal": {
            "$ref": "#/components/schemas/PixReversalDTO"
          },
          "transaction_type": {
            "$ref": "#/components/schemas/TransactionTypeDTO"
          },
          "external_id": {
            "type": "string",
            "description": "Identificador externo"
          }
        },
        "description": "Informações detalhadas de uma transação PIX"
      },
      "PixReversalDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "account_id": {
            "type": "string"
          },
          "amount": {
            "type": "integer",
            "format": "int64"
          },
          "end_to_end_id": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "return_id": {
            "type": "string"
          },
          "tx_id": {
            "type": "string"
          },
          "pix_type": {
            "type": "string",
            "enum": [
              "PIX_IN",
              "PIX_OUT",
              "REVERSAL"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "SUCCESS",
              "FAILED",
              "SCHEDULED",
              "REFUNDED"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Informações de estorno (quando aplicável)"
      },
      "PixTransactionDTO": {
        "type": "object",
        "properties": {
          "tx_id": {
            "type": "string",
            "description": "ID da transação (tx_id)"
          },
          "previous_tx": {
            "type": "string",
            "description": "ID da transação anterior (em caso de estorno)"
          },
          "transaction_type": {
            "type": "string",
            "description": "Tipo da transação",
            "example": "PIX_CASH_OUT"
          },
          "metadata": {
            "type": "array",
            "description": "Lista de metadados da transação",
            "items": {
              "$ref": "#/components/schemas/MetadataInfo"
            }
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Chave de idempotência"
          },
          "created_at": {
            "type": "string",
            "description": "Data de criação da transação"
          },
          "pix_information": {
            "$ref": "#/components/schemas/PixDTO"
          },
          "balance": {
            "type": "number",
            "description": "Saldo da conta após a transação"
          },
          "transfer_information": {
            "$ref": "#/components/schemas/InternalTransferDTO"
          },
          "id": {
            "type": "string",
            "description": "Identificador único da transação PIX"
          },
          "source": {
            "type": "string",
            "description": "Conta de origem"
          },
          "destination": {
            "type": "string",
            "description": "Conta de destino"
          },
          "amount": {
            "type": "integer",
            "description": "Valor da transação em centavos",
            "format": "int64",
            "example": 15000
          }
        },
        "description": "Representação de uma transação PIX"
      },
      "PixReversalTransferRequest": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "authorizationCode": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "transactionReasonEnum": {
            "type": "string",
            "enum": [
              "USER_REQUESTED",
              "FRAUD",
              "BANK_ERROR",
              "CASHIER_ERROR",
              "CUSTOMER_REQUEST"
            ]
          },
          "idEndToEnd": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "DynamicField": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "bold": {
            "type": "boolean"
          },
          "copyable": {
            "type": "boolean"
          },
          "divider": {
            "type": "boolean"
          }
        }
      },
      "PixBankDTO": {
        "type": "object",
        "properties": {
          "ispb": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "compe": {
            "type": "string"
          }
        }
      },
      "PixReversalTransferDTO": {
        "type": "object",
        "properties": {
          "transactionId": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "authenticationCode": {
            "type": "string"
          },
          "originalAuthenticationCode": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "receiverReconciliationId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "idEndToEnd": {
            "type": "string"
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          },
          "sender": {
            "$ref": "#/components/schemas/PixSenderRecipientDTO"
          },
          "recipient": {
            "$ref": "#/components/schemas/PixSenderRecipientDTO"
          },
          "receipt": {
            "$ref": "#/components/schemas/ReceiptResponseDTO1"
          }
        }
      },
      "PixSenderAccountDTO": {
        "type": "object",
        "properties": {
          "branch": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "PixSenderRecipientDTO": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/PixSenderAccountDTO"
          },
          "bank": {
            "$ref": "#/components/schemas/PixBankDTO"
          },
          "documentNumber": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "documentType": {
            "type": "string",
            "enum": [
              "CPF",
              "CNPJ"
            ]
          }
        }
      },
      "ReceiptResponseDTO1": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "dynamicFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicField"
            }
          }
        }
      },
      "PixCreateKeyTransferRequest": {
        "required": [
          "amount",
          "key"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "schedulingDate": {
            "type": "string",
            "format": "date"
          },
          "idEndToEnd": {
            "type": "string"
          },
          "payee": {
            "$ref": "#/components/schemas/PixPayeeObject"
          },
          "cashAmount": {
            "type": "number"
          },
          "cashierBankCode": {
            "type": "string"
          },
          "cashierType": {
            "type": "string"
          },
          "recurrence": {
            "type": "string",
            "enum": [
              "WEEKLY",
              "MONTHLY"
            ]
          },
          "recurrenceEndDate": {
            "type": "string",
            "format": "date"
          },
          "reconciliationId": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "amount": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "bankAccountNumber": {
            "type": "string"
          },
          "bankBranchNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string",
            "enum": [
              "CC",
              "PA",
              "SA",
              "CACC",
              "SVGS",
              "TRAN",
              "SLRY",
              "ENCRYPTED"
            ]
          },
          "ispb": {
            "type": "string"
          },
          "document": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          }
        }
      },
      "PixPayeeObject": {
        "type": "object",
        "properties": {
          "ispb": {
            "type": "string"
          },
          "bankName": {
            "type": "string"
          },
          "bankAccountNumber": {
            "type": "string"
          },
          "bankBranchNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string",
            "enum": [
              "CC",
              "PA",
              "SA",
              "CACC",
              "SVGS",
              "TRAN",
              "SLRY",
              "ENCRYPTED"
            ]
          },
          "beneficiaryType": {
            "type": "string",
            "enum": [
              "F",
              "J"
            ]
          },
          "document": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "nationalRegistration": {
            "type": "string"
          }
        }
      },
      "BeneficiaryResponse": {
        "type": "object",
        "properties": {
          "beneficiaryId": {
            "type": "string"
          },
          "document": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "bankCode": {
            "type": "string"
          },
          "bankName": {
            "type": "string"
          },
          "agency": {
            "type": "string"
          },
          "agencyDigit": {
            "type": "string"
          },
          "account": {
            "type": "string"
          },
          "accountDigit": {
            "type": "string"
          },
          "ispb": {
            "type": "string"
          },
          "accountIdentification": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "INDIVIDUAL",
              "COMPANY"
            ]
          },
          "accountType": {
            "type": "string",
            "enum": [
              "CHECKING_ACCOUNT",
              "SAVINGS_ACCOUNT",
              "SALARY",
              "PAYMENT",
              "ENCRYPTED"
            ]
          }
        }
      },
      "PixTransferResponse": {
        "type": "object",
        "properties": {
          "receipt": {
            "$ref": "#/components/schemas/ReceiptResponse"
          },
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "idEndToEnd": {
            "type": "string"
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          },
          "transactionCode": {
            "type": "string"
          },
          "idAdjustment": {
            "type": "integer",
            "format": "int64"
          },
          "idTx": {
            "type": "string"
          },
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "schedulingCode": {
            "type": "string"
          },
          "schedulingDate": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "finalAmount": {
            "type": "integer",
            "format": "int64"
          },
          "payeeName": {
            "type": "string"
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "beneficiary": {
            "$ref": "#/components/schemas/BeneficiaryResponse"
          },
          "key": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          }
        }
      },
      "ReceiptResponse": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "dynamicFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicField"
            }
          }
        }
      },
      "PixCreateQrCodeTransferRequest": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "idEndToEnd": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "ispb": {
            "type": "string"
          },
          "bankAccountNumber": {
            "type": "string"
          },
          "bankBranchNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string",
            "enum": [
              "CC",
              "PA",
              "SA",
              "CACC",
              "SVGS",
              "TRAN",
              "SLRY",
              "ENCRYPTED"
            ]
          },
          "key": {
            "type": "string"
          },
          "beneficiaryType": {
            "type": "string"
          },
          "document": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "receiverReconciliationId": {
            "type": "string"
          },
          "initializationType": {
            "type": "string"
          },
          "schedulingDate": {
            "type": "string",
            "format": "date"
          },
          "payee": {
            "$ref": "#/components/schemas/PixPayeeObject"
          },
          "idTx": {
            "type": "string"
          },
          "cashAmount": {
            "type": "number"
          },
          "cashierBankCode": {
            "type": "string"
          },
          "cashierType": {
            "type": "string"
          },
          "recurrence": {
            "type": "string",
            "enum": [
              "WEEKLY",
              "MONTHLY"
            ]
          },
          "recurrenceEndDate": {
            "type": "string",
            "format": "date"
          },
          "reconciliationId": {
            "type": "string"
          },
          "qrCodeType": {
            "type": "string",
            "enum": [
              "STATIC",
              "DYNAMIC",
              "STATIC_WITHDRAW",
              "DYNAMIC_COB",
              "DYNAMIC_COBV",
              "DYNAMIC_CHANGE",
              "DYNAMIC_WITHDRAW"
            ]
          },
          "externalId": {
            "type": "string"
          }
        }
      },
      "PixValidateQrCodeRequest": {
        "required": [
          "qrCode"
        ],
        "type": "object",
        "properties": {
          "qrCode": {
            "type": "string"
          }
        }
      },
      "PixValidateQrCodeResponse": {
        "type": "object",
        "properties": {
          "idEndToEnd": {
            "type": "string"
          },
          "contentType": {
            "type": "integer",
            "format": "int32"
          },
          "qrCodeType": {
            "type": "string",
            "enum": [
              "STATIC",
              "DYNAMIC",
              "STATIC_WITHDRAW",
              "DYNAMIC_COB",
              "DYNAMIC_COBV",
              "DYNAMIC_CHANGE",
              "DYNAMIC_WITHDRAW"
            ]
          },
          "city": {
            "type": "string"
          },
          "zipCode": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "discount": {
            "type": "number"
          },
          "dateExpiration": {
            "type": "string"
          },
          "allowChange": {
            "type": "boolean"
          },
          "allowAcceptance": {
            "type": "boolean"
          },
          "dueDate": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "idTx": {
            "type": "string"
          },
          "dateCreated": {
            "type": "string"
          },
          "datePresentation": {
            "type": "string"
          },
          "review": {
            "type": "integer",
            "format": "int32"
          },
          "isDynamic": {
            "type": "boolean"
          },
          "ispb": {
            "type": "string"
          },
          "bankName": {
            "type": "string"
          },
          "bankAccountNumber": {
            "type": "string"
          },
          "bankBranchNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string",
            "enum": [
              "CC",
              "PA",
              "SA",
              "CACC",
              "SVGS",
              "TRAN",
              "SLRY",
              "ENCRYPTED"
            ]
          },
          "key": {
            "type": "string"
          },
          "beneficiaryType": {
            "type": "string",
            "enum": [
              "F",
              "J"
            ]
          },
          "document": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "dynamicFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicField"
            }
          },
          "cashAmount": {
            "type": "number"
          },
          "cashierBankCode": {
            "type": "string"
          },
          "cashierType": {
            "type": "string"
          },
          "schedulingDate": {
            "type": "string"
          },
          "reconciliationId": {
            "type": "string"
          },
          "subscription": {
            "$ref": "#/components/schemas/SubscriptionResponse"
          }
        }
      },
      "SubscriptionResponse": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number"
          },
          "amountMinLimit": {
            "type": "number"
          },
          "bacenId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "installmentEnd": {
            "type": "string",
            "format": "date"
          },
          "installmentStart": {
            "type": "string",
            "format": "date"
          },
          "interval": {
            "type": "string"
          },
          "receiverBankCode": {
            "type": "string"
          },
          "receiverName": {
            "type": "string"
          },
          "receiverTaxId": {
            "type": "string"
          },
          "referenceCode": {
            "type": "string"
          },
          "pullRetryLimit": {
            "type": "integer",
            "format": "int64"
          },
          "senderFinalName": {
            "type": "string"
          },
          "senderFinalTaxId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "approved",
              "active",
              "failed",
              "canceled",
              "expired",
              "denied",
              "pending"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "push",
              "qrcode",
              "qrcodeAndPayment",
              "paymentAndOrQrcode"
            ]
          }
        }
      },
      "PixCashOutRequest": {
        "required": [
          "amount",
          "payee"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "payee": {
            "$ref": "#/components/schemas/PixRecipientDTO"
          },
          "amount": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "idEndToEnd": {
            "type": "string"
          },
          "initializationType": {
            "type": "string"
          },
          "schedulingDate": {
            "type": "string",
            "format": "date"
          },
          "recurrence": {
            "type": "string",
            "enum": [
              "WEEKLY",
              "MONTHLY"
            ]
          },
          "recurrenceEndDate": {
            "type": "string",
            "format": "date"
          },
          "externalId": {
            "type": "string"
          }
        }
      },
      "PixRecipientDTO": {
        "type": "object",
        "properties": {
          "beneficiaryId": {
            "type": "string"
          },
          "accountBranch": {
            "type": "string"
          },
          "branchDigit": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "accountDigit": {
            "type": "string"
          },
          "accountType": {
            "type": "string",
            "enum": [
              "CHECKING_ACCOUNT",
              "SAVINGS_ACCOUNT",
              "SALARY",
              "PAYMENT",
              "ENCRYPTED"
            ]
          },
          "bankIspb": {
            "type": "string"
          },
          "documentNumber": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "PixCashOutResponse": {
        "type": "object",
        "properties": {
          "receipt": {
            "$ref": "#/components/schemas/ReceiptResponse"
          },
          "id": {
            "type": "string"
          },
          "transactionId": {
            "type": "string"
          },
          "authenticationCode": {
            "type": "string"
          },
          "idEndToEnd": {
            "type": "string"
          },
          "receiverReconciliationId": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "beneficiary": {
            "$ref": "#/components/schemas/BeneficiaryResponse"
          },
          "schedulingCode": {
            "type": "string"
          },
          "schedulingDate": {
            "type": "string"
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "recurrence": {
            "type": "string",
            "enum": [
              "WEEKLY",
              "MONTHLY"
            ]
          },
          "recurrenceEndDate": {
            "type": "string",
            "format": "date"
          },
          "externalId": {
            "type": "string"
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PixCreateLimitRequest": {
        "required": [
          "limit",
          "period",
          "type"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "limit": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "PER_TRANSACTION",
              "DAILY_LIMIT",
              "MONTHLY_LIMIT",
              "NIGHTLY_LIMIT",
              "NIGHTLY_PER_TRANSACTION",
              "PER_HOUR",
              "UNDEFINED",
              "WITHDRAW_DAILY_LIMIT",
              "WITHDRAW_NIGHTLY_LIMIT",
              "SCHEDULE_DAILY_LIMIT",
              "SCHEDULE_NIGHTLY_LIMIT",
              "AUTOMATIC_DAILY_LIMIT",
              "AUTOMATIC_NIGHTLY_LIMIT",
              "PERSON_DAILY_LIMIT",
              "PERSON_NIGHTLY_LIMIT",
              "COMPANY_DAILY_LIMIT",
              "COMPANY_NIGHTLY_LIMIT"
            ]
          },
          "period": {
            "type": "string",
            "enum": [
              "DAY",
              "NIGHT",
              "ALL"
            ]
          }
        }
      },
      "PixCreateLimitResponse": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string"
          },
          "limit": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "PER_TRANSACTION",
              "DAILY_LIMIT",
              "MONTHLY_LIMIT",
              "NIGHTLY_LIMIT",
              "NIGHTLY_PER_TRANSACTION",
              "PER_HOUR",
              "UNDEFINED",
              "WITHDRAW_DAILY_LIMIT",
              "WITHDRAW_NIGHTLY_LIMIT",
              "SCHEDULE_DAILY_LIMIT",
              "SCHEDULE_NIGHTLY_LIMIT",
              "AUTOMATIC_DAILY_LIMIT",
              "AUTOMATIC_NIGHTLY_LIMIT",
              "PERSON_DAILY_LIMIT",
              "PERSON_NIGHTLY_LIMIT",
              "COMPANY_DAILY_LIMIT",
              "COMPANY_NIGHTLY_LIMIT"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "DENIED",
              "APPROVED",
              "PENDING"
            ]
          },
          "showStatusMessage": {
            "type": "boolean"
          }
        }
      },
      "LocalTime": {
        "type": "object",
        "properties": {
          "hour": {
            "type": "integer",
            "format": "int32"
          },
          "minute": {
            "type": "integer",
            "format": "int32"
          },
          "second": {
            "type": "integer",
            "format": "int32"
          },
          "nano": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "PixNightStartTimeRequest": {
        "required": [
          "nightStart"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "nightStart": {
            "$ref": "#/components/schemas/LocalTime"
          }
        }
      },
      "PixBulkLimit": {
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "limit": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "PER_TRANSACTION",
              "DAILY_LIMIT",
              "MONTHLY_LIMIT",
              "NIGHTLY_LIMIT",
              "NIGHTLY_PER_TRANSACTION",
              "PER_HOUR",
              "UNDEFINED",
              "WITHDRAW_DAILY_LIMIT",
              "WITHDRAW_NIGHTLY_LIMIT",
              "SCHEDULE_DAILY_LIMIT",
              "SCHEDULE_NIGHTLY_LIMIT",
              "AUTOMATIC_DAILY_LIMIT",
              "AUTOMATIC_NIGHTLY_LIMIT",
              "PERSON_DAILY_LIMIT",
              "PERSON_NIGHTLY_LIMIT",
              "COMPANY_DAILY_LIMIT",
              "COMPANY_NIGHTLY_LIMIT"
            ]
          },
          "period": {
            "type": "string",
            "enum": [
              "DAY",
              "NIGHT",
              "ALL"
            ]
          }
        }
      },
      "PixBulkLimitRequest": {
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "limits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PixBulkLimit"
            }
          }
        }
      },
      "PixCreateKeyRequest": {
        "required": [
          "keyType"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "token": {
            "type": "string"
          },
          "otp": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          }
        }
      },
      "PixCreateKeyResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "key": {
            "type": "string"
          }
        }
      },
      "GeneratePhonePixKeyOTPChallengeRequest": {
        "type": "object",
        "properties": {
          "phone": {
            "type": "string"
          }
        }
      },
      "GeneratePixKeyOTPChallengeRequest": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          }
        }
      },
      "GenerateMailPixKeyOTPChallengeRequest": {
        "type": "object",
        "properties": {
          "mail": {
            "type": "string"
          }
        }
      },
      "PixKeyClaimRequest": {
        "required": [
          "claimType",
          "key",
          "keyType"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "claimType": {
            "type": "string",
            "enum": [
              "KEY_TRANSFER",
              "PORTABILITY",
              "CANCEL"
            ]
          }
        }
      },
      "PixClaimKeyResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "ispb": {
            "type": "string"
          },
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "key": {
            "type": "string"
          },
          "keyStatus": {
            "type": "string",
            "enum": [
              "OPEN",
              "WAITING_RESOLUTION",
              "HISTORY",
              "CANCELLED",
              "CONFIRMED",
              "COMPLETED"
            ]
          },
          "description": {
            "type": "string"
          },
          "grantorDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "claimDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "claimUUID": {
            "type": "string"
          },
          "keyClaimant": {
            "$ref": "#/components/schemas/PixKeyClaimant"
          },
          "keyClaimedBankCode": {
            "type": "string"
          },
          "flow": {
            "type": "string"
          },
          "claimType": {
            "type": "string",
            "enum": [
              "KEY_TRANSFER",
              "PORTABILITY",
              "CANCEL"
            ]
          }
        }
      },
      "PixKeyClaimant": {
        "type": "object",
        "properties": {
          "playerType": {
            "type": "string",
            "enum": [
              "CLAIMANT",
              "GRANTOR"
            ]
          },
          "bankAccountNumber": {
            "type": "string"
          },
          "bankBranchNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string",
            "enum": [
              "CC",
              "PA",
              "SA",
              "CACC",
              "SVGS",
              "TRAN",
              "SLRY",
              "ENCRYPTED"
            ]
          },
          "ispb": {
            "type": "string"
          },
          "beneficiaryType": {
            "type": "string",
            "enum": [
              "F",
              "J"
            ]
          },
          "nationalRegistration": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tradeName": {
            "type": "string"
          },
          "dateKeyOwnership": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "keyStatus": {
            "type": "string",
            "enum": [
              "OPEN",
              "WAITING_RESOLUTION",
              "HISTORY",
              "CANCELLED",
              "CONFIRMED",
              "COMPLETED"
            ]
          },
          "claimUUID": {
            "type": "string"
          },
          "key": {
            "type": "string"
          }
        }
      },
      "PixKeyClaimConfirmationRequest": {
        "required": [
          "claimUUID",
          "playerType"
        ],
        "type": "object",
        "properties": {
          "claimUUID": {
            "type": "string"
          },
          "playerType": {
            "type": "string",
            "enum": [
              "CLAIMANT",
              "GRANTOR"
            ]
          }
        }
      },
      "PixKeyClaimConfirmationResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "keyClaimant": {
            "$ref": "#/components/schemas/PixKeyClaimant"
          },
          "keyGrantor": {
            "$ref": "#/components/schemas/PixKeyGrantor"
          }
        }
      },
      "PixKeyGrantor": {
        "type": "object",
        "properties": {
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "key": {
            "type": "string"
          },
          "ispb": {
            "type": "string"
          }
        }
      },
      "PixCreateStaticQRCodeRequest": {
        "required": [
          "key"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "description": {
            "type": "string"
          },
          "reconciliationId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "STATIC",
              "DYNAMIC",
              "STATIC_WITHDRAW",
              "DYNAMIC_COB",
              "DYNAMIC_COBV",
              "DYNAMIC_CHANGE",
              "DYNAMIC_WITHDRAW"
            ]
          }
        }
      },
      "PixStaticQRCodeDecodeResponse": {
        "type": "object",
        "properties": {
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "amount": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          }
        }
      },
      "PixStaticQRCodeResponse": {
        "type": "object",
        "properties": {
          "emv": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "decode": {
            "$ref": "#/components/schemas/PixStaticQRCodeDecodeResponse"
          }
        }
      },
      "PixAutomaticCreateRequest": {
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "bankAccountNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string",
            "enum": [
              "CC",
              "PA",
              "SA",
              "CACC",
              "SVGS",
              "TRAN",
              "SLRY",
              "ENCRYPTED"
            ]
          },
          "bankBranchNumber": {
            "type": "string"
          },
          "cashAmount": {
            "type": "number"
          },
          "cashierType": {
            "type": "string"
          },
          "cashierBankCode": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "document": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "idEndToEnd": {
            "type": "string"
          },
          "idTx": {
            "type": "string"
          },
          "ispb": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "reconciliationId": {
            "type": "string"
          },
          "subscription": {
            "$ref": "#/components/schemas/PixSubscriptionRequest"
          }
        }
      },
      "PixSubscriptionRequest": {
        "required": [
          "amount",
          "bacenId",
          "interval",
          "receiverName",
          "receiverTaxId",
          "referenceCode",
          "type"
        ],
        "type": "object",
        "properties": {
          "installmentEnd": {
            "type": "string",
            "format": "date"
          },
          "installmentStart": {
            "type": "string",
            "format": "date"
          },
          "amount": {
            "type": "number"
          },
          "amountMinLimit": {
            "type": "number"
          },
          "amountMaxLimit": {
            "type": "number"
          },
          "bacenId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "due": {
            "type": "string",
            "format": "date-time"
          },
          "interval": {
            "type": "string",
            "enum": [
              "week",
              "month",
              "quarter",
              "semester",
              "year"
            ]
          },
          "pullRetryLimit": {
            "type": "integer",
            "format": "int32"
          },
          "receiverName": {
            "type": "string"
          },
          "receiverTaxId": {
            "type": "string"
          },
          "receiverBankCode": {
            "type": "string"
          },
          "referenceCode": {
            "type": "string"
          },
          "senderFinalName": {
            "type": "string"
          },
          "senderFinalTaxId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "push",
              "qrcode",
              "qrcodeAndPayment",
              "paymentAndOrQrcode"
            ]
          }
        }
      },
      "PixAutomaticResponse": {
        "type": "object",
        "properties": {
          "receipt": {
            "$ref": "#/components/schemas/ReceiptResponse"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "amount": {
            "type": "number"
          },
          "amountMinLimit": {
            "type": "number"
          },
          "amountMaxLimit": {
            "type": "number"
          },
          "bacenId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "due": {
            "type": "string",
            "format": "date-time"
          },
          "externalId": {
            "type": "string"
          },
          "flow": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "installmentEnd": {
            "type": "string",
            "format": "date"
          },
          "installmentStart": {
            "type": "string",
            "format": "date"
          },
          "interval": {
            "type": "string",
            "enum": [
              "week",
              "month",
              "quarter",
              "semester",
              "year"
            ]
          },
          "receiverName": {
            "type": "string"
          },
          "receiverTaxId": {
            "type": "string"
          },
          "receiverBankCode": {
            "type": "string"
          },
          "referenceCode": {
            "type": "string"
          },
          "pullRetryLimit": {
            "type": "integer",
            "format": "int32"
          },
          "senderAccountNumber": {
            "type": "string"
          },
          "senderBankCode": {
            "type": "string"
          },
          "senderBranchCode": {
            "type": "string"
          },
          "senderCityCode": {
            "type": "string"
          },
          "senderTaxId": {
            "type": "string"
          },
          "senderFinalName": {
            "type": "string"
          },
          "senderFinalTaxId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PixAutomaticUpdateRequest": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "deviceIdentification": {
            "type": "string"
          },
          "signature": {
            "type": "string"
          },
          "challenge": {
            "type": "string"
          },
          "reason": {
            "type": "string",
            "enum": [
              "accountClosed",
              "accountBlocked",
              "invalidBranchCode",
              "notRecognizedBySender",
              "userRejected",
              "notOffered"
            ]
          },
          "senderCityCode": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "approved",
              "active",
              "failed",
              "canceled",
              "expired",
              "denied",
              "pending"
            ]
          }
        }
      },
      "PixSchedulesRequest": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date"
          },
          "from": {
            "type": "string",
            "format": "date"
          },
          "to": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "PageResponseDTOPixTransferListScheduleResponse": {
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfElements": {
            "type": "integer",
            "format": "int32"
          },
          "totalElements": {
            "type": "integer",
            "format": "int64"
          },
          "firstPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasContent": {
            "type": "boolean"
          },
          "first": {
            "type": "boolean"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PixTransferListScheduleResponse"
            }
          },
          "previousPage": {
            "type": "integer",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "format": "int32"
          },
          "nextPage": {
            "type": "integer",
            "format": "int32"
          },
          "last": {
            "type": "boolean"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32"
          },
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "maxItemsPerPage": {
            "type": "integer",
            "format": "int32"
          },
          "totalItemsPage": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PixTransferListScheduleResponse"
            }
          }
        }
      },
      "PixTransferListScheduleResponse": {
        "type": "object",
        "properties": {
          "idEndToEnd": {
            "type": "string"
          },
          "schedulingCode": {
            "type": "string"
          },
          "schedulingDate": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "payeeName": {
            "type": "string"
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "transferType": {
            "type": "string",
            "enum": [
              "MANUAL",
              "KEY",
              "STATIC_QR_CODE",
              "DYNAMIC_QR_CODE"
            ]
          },
          "amount": {
            "type": "number"
          }
        }
      },
      "PixLimitItem": {
        "type": "object",
        "properties": {
          "limitType": {
            "type": "string",
            "enum": [
              "PER_TRANSACTION",
              "DAILY_LIMIT",
              "MONTHLY_LIMIT",
              "NIGHTLY_LIMIT",
              "NIGHTLY_PER_TRANSACTION",
              "PER_HOUR",
              "UNDEFINED",
              "WITHDRAW_DAILY_LIMIT",
              "WITHDRAW_NIGHTLY_LIMIT",
              "SCHEDULE_DAILY_LIMIT",
              "SCHEDULE_NIGHTLY_LIMIT",
              "AUTOMATIC_DAILY_LIMIT",
              "AUTOMATIC_NIGHTLY_LIMIT",
              "PERSON_DAILY_LIMIT",
              "PERSON_NIGHTLY_LIMIT",
              "COMPANY_DAILY_LIMIT",
              "COMPANY_NIGHTLY_LIMIT"
            ]
          },
          "defaultLimit": {
            "type": "number"
          },
          "accountLimit": {
            "type": "number"
          }
        }
      },
      "PixLimitResponse": {
        "type": "object",
        "properties": {
          "idAccount": {
            "type": "string"
          },
          "limits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PixLimitItem"
            }
          }
        }
      },
      "PixNightStartTimeResponse": {
        "type": "object",
        "properties": {
          "nightStart": {
            "type": "string"
          }
        }
      },
      "PixClaimantAccount": {
        "type": "object",
        "properties": {
          "claimName": {
            "type": "string"
          },
          "bankAccountNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string",
            "enum": [
              "CC",
              "PA",
              "SA",
              "CACC",
              "SVGS",
              "TRAN",
              "SLRY",
              "ENCRYPTED"
            ]
          },
          "bankBranchNumber": {
            "type": "string"
          }
        }
      },
      "PixKeyClaim": {
        "type": "object",
        "properties": {
          "claimType": {
            "type": "string",
            "enum": [
              "KEY_TRANSFER",
              "PORTABILITY",
              "CANCEL"
            ]
          },
          "playerType": {
            "type": "string",
            "enum": [
              "CLAIMANT",
              "GRANTOR"
            ]
          },
          "claimStatus": {
            "type": "string",
            "enum": [
              "WAITING_GRANTOR",
              "CONFIRMED",
              "CANCELLED",
              "COMPLETED"
            ]
          },
          "dateKeyClaimed": {
            "type": "string",
            "format": "date-time"
          },
          "grantorDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "claimDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "claimUUID": {
            "type": "string"
          },
          "claimantAccount": {
            "$ref": "#/components/schemas/PixClaimantAccount"
          }
        }
      },
      "PixKeyClaimDTO": {
        "type": "object",
        "properties": {
          "grantor": {
            "$ref": "#/components/schemas/PixKeyClaim"
          },
          "claimant": {
            "$ref": "#/components/schemas/PixKeyClaim"
          }
        }
      },
      "PixKeyResponse": {
        "type": "object",
        "properties": {
          "keyType": {
            "type": "string",
            "enum": [
              "EVP",
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL"
            ]
          },
          "key": {
            "type": "string"
          },
          "keyStatus": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "AVAILABLE",
              "WAITING_RESOLUTION",
              "HISTORY",
              "CANCELLED"
            ]
          },
          "description": {
            "type": "string"
          },
          "dateKeyCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateKeyOwnership": {
            "type": "string",
            "format": "date-time"
          },
          "claim": {
            "$ref": "#/components/schemas/PixKeyClaimDTO"
          }
        }
      },
      "PixAccountHolder": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "socialName": {
            "type": "string"
          },
          "trandingName": {
            "type": "string"
          },
          "documentNumber": {
            "type": "string"
          },
          "docNumberWithoutMask": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "PixBank": {
        "type": "object",
        "properties": {
          "ispb": {
            "type": "string"
          },
          "compe": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "PixBankAccount": {
        "type": "object",
        "properties": {
          "branch": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "CHECKING_ACCOUNT",
              "SAVINGS_ACCOUNT",
              "SALARY",
              "PAYMENT",
              "ENCRYPTED"
            ]
          },
          "holder": {
            "$ref": "#/components/schemas/PixAccountHolder"
          },
          "bank": {
            "$ref": "#/components/schemas/PixBank"
          }
        }
      },
      "PixGetResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "CPF",
              "CNPJ",
              "PHONE",
              "EMAIL",
              "EVP"
            ]
          },
          "key": {
            "type": "string"
          }
        }
      },
      "PixKeyDetailResponse": {
        "type": "object",
        "properties": {
          "idEndToEnd": {
            "type": "string"
          },
          "addressingKey": {
            "$ref": "#/components/schemas/PixGetResponse"
          },
          "account": {
            "$ref": "#/components/schemas/PixBankAccount"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "ownedAt": {
            "type": "string"
          }
        }
      },
      "PixSubscriptionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "receiverName": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "approved",
              "active",
              "failed",
              "canceled",
              "expired",
              "denied",
              "pending"
            ]
          },
          "authorizationDate": {
            "type": "string",
            "format": "date-time"
          },
          "cancellationDate": {
            "type": "string",
            "format": "date-time"
          },
          "receiverTaxId": {
            "type": "string"
          },
          "cancellationInitiator": {
            "type": "string",
            "enum": [
              "RECIPIENT",
              "PAYER"
            ]
          },
          "beginDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "amountMinLimit": {
            "type": "number"
          },
          "amountMaxLimit": {
            "type": "number"
          }
        }
      },
      "StatusResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "UpdatePixDevolutionRequest": {
        "required": [
          "valor"
        ],
        "type": "object",
        "properties": {
          "valor": {
            "type": "number",
            "description": "Novo valor da devolução em reais",
            "example": 10.5
          }
        },
        "description": "Requisição para atualização de devolução Pix"
      },
      "TimeDTO": {
        "type": "object",
        "properties": {
          "solicitacao": {
            "type": "string",
            "description": "Data/hora da solicitação",
            "format": "date-time",
            "example": "2024-01-15T10:30:00Z"
          },
          "liquidacao": {
            "type": "string",
            "description": "Data/hora da liquidação",
            "format": "date-time",
            "example": "2024-01-15T10:30:05Z"
          }
        },
        "description": "Horários de solicitação e liquidação de uma operação Pix"
      },
      "UpdatePixDevolutionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da devolução",
            "example": "dev-001"
          },
          "valor": {
            "type": "string",
            "description": "Valor da devolução em reais",
            "example": "10.5"
          },
          "horario": {
            "$ref": "#/components/schemas/TimeDTO"
          },
          "status": {
            "type": "string",
            "description": "Status da devolução (EM_PROCESSAMENTO, DEVOLVIDO, NAO_REALIZADO)",
            "example": "DEVOLVIDO"
          },
          "rtrId": {
            "type": "string",
            "description": "Identificador de retorno (Return Identification)",
            "example": "R1234567820240101abcdef"
          }
        },
        "description": "Resposta de atualização de devolução Pix"
      },
      "PixCreateDevolutionRequest": {
        "required": [
          "valor"
        ],
        "type": "object",
        "properties": {
          "valor": {
            "type": "number",
            "description": "Valor da devolução em reais",
            "example": 10.5
          }
        },
        "description": "Requisição para criação de devolução Pix"
      },
      "PixCreateDevolutionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da devolução",
            "example": "dev-001"
          },
          "valor": {
            "type": "string",
            "description": "Valor da devolução em reais",
            "example": "10.5"
          },
          "horario": {
            "$ref": "#/components/schemas/TimeDTO"
          },
          "status": {
            "type": "string",
            "description": "Status da devolução (EM_PROCESSAMENTO, DEVOLVIDO, NAO_REALIZADO)",
            "example": "EM_PROCESSAMENTO"
          },
          "rtrId": {
            "type": "string",
            "description": "Identificador de retorno (Return Identification)",
            "example": "R1234567820240101abcdef"
          }
        },
        "description": "Resposta de criação de devolução Pix"
      },
      "AdditionalInformationDTO": {
        "type": "object",
        "properties": {
          "nome": {
            "type": "string",
            "description": "Nome do campo de informação adicional",
            "example": "Pedido"
          },
          "valor": {
            "type": "string",
            "description": "Valor do campo de informação adicional",
            "example": "#12345"
          }
        },
        "description": "Informação adicional da cobrança Pix"
      },
      "AmountDTO": {
        "type": "object",
        "properties": {
          "original": {
            "type": "string",
            "description": "Valor original da cobrança em reais (formato string com 2 casas decimais)",
            "example": "100.0"
          },
          "modalidadeAlteracao": {
            "type": "integer",
            "description": "Modalidade de alteração do valor (0 = não permite alteração, 1 = permite alteração)",
            "format": "int32",
            "example": 0
          }
        },
        "description": "Valor da cobrança Pix"
      },
      "CalendarDTO": {
        "type": "object",
        "properties": {
          "criacao": {
            "type": "string",
            "description": "Data/hora de criação da cobrança",
            "format": "date-time",
            "readOnly": true,
            "example": "2024-01-15T10:30:00Z"
          },
          "expiracao": {
            "type": "integer",
            "description": "Tempo de expiração da cobrança em segundos a partir da criação",
            "format": "int32",
            "example": 3600
          },
          "dataDeVencimento": {
            "type": "string",
            "description": "Data de vencimento da cobrança (formato: yyyy-MM-dd)",
            "format": "date",
            "example": "2024-12-31"
          },
          "validadeAposVencimento": {
            "type": "integer",
            "description": "Quantidade de dias de validade após o vencimento",
            "format": "int32",
            "example": 30
          }
        },
        "description": "Configurações de calendário da cobrança Pix"
      },
      "PayerDTO": {
        "type": "object",
        "properties": {
          "nome": {
            "type": "string",
            "description": "Nome completo do devedor",
            "example": "João da Silva"
          },
          "cnpj": {
            "type": "string",
            "description": "CNPJ do devedor (apenas se pessoa jurídica)",
            "example": "12345678000199"
          },
          "cpf": {
            "type": "string",
            "description": "CPF do devedor (apenas se pessoa física)",
            "example": "12345678901"
          }
        },
        "description": "Dados do devedor (pagador da cobrança)"
      },
      "PixCreateCobRequest": {
        "required": [
          "chave",
          "valor"
        ],
        "type": "object",
        "properties": {
          "chave": {
            "type": "string",
            "description": "Chave Pix do recebedor (CPF, CNPJ, e-mail, telefone ou chave aleatória)",
            "example": "+5511999999999"
          },
          "solicitacaoPagador": {
            "type": "string",
            "description": "Mensagem de solicitação ao pagador",
            "example": "Pagamento referente ao pedido #12345"
          },
          "calendario": {
            "$ref": "#/components/schemas/CalendarDTO"
          },
          "devedor": {
            "$ref": "#/components/schemas/PayerDTO"
          },
          "valor": {
            "$ref": "#/components/schemas/AmountDTO"
          },
          "infoAdicionais": {
            "type": "array",
            "description": "Lista de informações adicionais da cobrança",
            "items": {
              "$ref": "#/components/schemas/AdditionalInformationDTO"
            }
          },
          "idExterno": {
            "type": "string",
            "description": "Identificador externo da cobrança definido pelo cliente",
            "example": "ext-order-12345"
          },
          "metadados": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Metadados adicionais em formato chave-valor",
              "example": "{\"origin\":\"app-mobile\"}"
            },
            "description": "Metadados adicionais em formato chave-valor",
            "example": {
              "origin": "app-mobile"
            }
          }
        },
        "description": "Requisição para criação de cobrança imediata Pix (Cob)"
      },
      "PixCreateCobResponse": {
        "type": "object",
        "properties": {
          "chave": {
            "type": "string",
            "description": "Chave Pix do recebedor",
            "example": "+5511999999999"
          },
          "txid": {
            "type": "string",
            "description": "Identificador da transação",
            "example": "abc123def456ghi789"
          },
          "idExterno": {
            "type": "string",
            "description": "Identificador externo definido pelo cliente",
            "example": "ext-order-12345"
          },
          "idReconciliacao": {
            "type": "string",
            "description": "Identificador de reconciliação da cobrança",
            "example": "rec-001-abc"
          },
          "location": {
            "type": "string",
            "description": "URL do payload para geração do QR Code",
            "example": "pix.example.com/qr/v2/abc123"
          },
          "status": {
            "type": "string",
            "description": "Status atual da cobrança",
            "example": "ATIVA"
          },
          "solicitacaoPagador": {
            "type": "string",
            "description": "Mensagem de solicitação ao pagador",
            "example": "Pagamento referente ao pedido #12345"
          },
          "calendario": {
            "$ref": "#/components/schemas/CalendarDTO"
          },
          "devedor": {
            "$ref": "#/components/schemas/PayerDTO"
          },
          "valor": {
            "$ref": "#/components/schemas/AmountDTO"
          },
          "pixCopiaECola": {
            "type": "string",
            "description": "String Pix Copia e Cola para pagamento",
            "example": "00020126580014br.gov.bcb.pix..."
          },
          "infoAdicionais": {
            "type": "array",
            "description": "Lista de informações adicionais da cobrança",
            "items": {
              "$ref": "#/components/schemas/AdditionalInformationDTO"
            }
          },
          "revisao": {
            "type": "integer",
            "description": "Número da revisão da cobrança",
            "format": "int32",
            "example": 0
          },
          "metadados": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Metadados adicionais em formato chave-valor"
            },
            "description": "Metadados adicionais em formato chave-valor"
          }
        },
        "description": "Resposta de criação de cobrança imediata Pix (Cob)"
      },
      "PixChargeBacenStatusEnum": {
        "type": "string",
        "description": "Status da cobrança Pix conforme padrão BACEN",
        "example": "ATIVA",
        "enum": [
          "ATIVA",
          "CONCLUIDA",
          "REMOVIDA_PELO_USUARIO_RECEBEDOR",
          "REMOVIDA_PELO_PSP"
        ]
      },
      "PixUpdateCobRequest": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PixChargeBacenStatusEnum"
          }
        },
        "description": "Requisição para atualização de cobrança imediata Pix (Cob)"
      },
      "PixCobDevolutionDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da devolução",
            "example": "dev-001"
          },
          "valor": {
            "type": "string",
            "description": "Valor da devolução em reais",
            "example": "10.5"
          },
          "horario": {
            "$ref": "#/components/schemas/TimeDTO"
          },
          "rtrId": {
            "type": "string",
            "description": "Identificador de retorno (Return Identification)",
            "example": "R1234567820240101abcdef"
          },
          "status": {
            "type": "string",
            "description": "Status da devolução (EM_PROCESSAMENTO, DEVOLVIDO, NAO_REALIZADO)",
            "example": "DEVOLVIDO"
          }
        },
        "description": "Dados de uma devolução associada a um Pix recebido"
      },
      "PixInPixCobDTO": {
        "type": "object",
        "properties": {
          "endToEndId": {
            "type": "string",
            "description": "Identificador end-to-end do Pix",
            "example": "E123456782024010112345678901234"
          },
          "txid": {
            "type": "string",
            "description": "Identificador da transação",
            "example": "abc123def456ghi789"
          },
          "valor": {
            "type": "string",
            "description": "Valor do Pix recebido em reais",
            "example": "100.0"
          },
          "infoPagador": {
            "type": "string",
            "description": "Informação do pagador",
            "example": "Pagamento referente ao pedido #12345"
          },
          "horario": {
            "type": "string",
            "description": "Data/hora do recebimento do Pix",
            "format": "date-time",
            "example": "2024-01-15T10:30:00Z"
          },
          "devolucoes": {
            "type": "array",
            "description": "Lista de devoluções associadas a este Pix",
            "items": {
              "$ref": "#/components/schemas/PixCobDevolutionDTO"
            }
          }
        },
        "description": "Dados de um Pix recebido associado a uma cobrança (Cob)"
      },
      "PixRetrievedCobResponse": {
        "type": "object",
        "properties": {
          "txid": {
            "type": "string",
            "description": "Identificador da transação",
            "example": "abc123def456ghi789"
          },
          "chave": {
            "type": "string",
            "description": "Chave Pix do recebedor",
            "example": "+5511999999999"
          },
          "idExterno": {
            "type": "string",
            "description": "Identificador externo definido pelo cliente",
            "example": "ext-order-12345"
          },
          "idReconciliacao": {
            "type": "string",
            "description": "Identificador de reconciliação da cobrança",
            "example": "rec-001-abc"
          },
          "location": {
            "type": "string",
            "description": "URL do payload para geração do QR Code",
            "example": "pix.example.com/qr/v2/abc123"
          },
          "status": {
            "$ref": "#/components/schemas/PixChargeBacenStatusEnum"
          },
          "solicitacaoPagador": {
            "type": "string",
            "description": "Mensagem de solicitação ao pagador",
            "example": "Pagamento referente ao pedido #12345"
          },
          "calendario": {
            "$ref": "#/components/schemas/CalendarDTO"
          },
          "devedor": {
            "$ref": "#/components/schemas/PayerDTO"
          },
          "valor": {
            "$ref": "#/components/schemas/AmountDTO"
          },
          "pixCopiaECola": {
            "type": "string",
            "description": "String Pix Copia e Cola para pagamento",
            "example": "00020126580014br.gov.bcb.pix..."
          },
          "infoAdicionais": {
            "type": "array",
            "description": "Lista de informações adicionais da cobrança",
            "items": {
              "$ref": "#/components/schemas/AdditionalInformationDTO"
            }
          },
          "pix": {
            "type": "array",
            "description": "Lista de Pix recebidos associados a esta cobrança",
            "items": {
              "$ref": "#/components/schemas/PixInPixCobDTO"
            }
          },
          "revisao": {
            "type": "integer",
            "description": "Número da revisão da cobrança",
            "format": "int32",
            "example": 1
          },
          "metadados": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Metadados adicionais em formato chave-valor"
            },
            "description": "Metadados adicionais em formato chave-valor"
          }
        },
        "description": "Resposta de consulta de cobrança imediata Pix (Cob)"
      },
      "PagebleDTO": {
        "type": "object",
        "properties": {
          "paginaAtual": {
            "type": "integer",
            "description": "Número da página atual (inicia em 0)",
            "format": "int32",
            "example": 0
          },
          "itensPorPagina": {
            "type": "integer",
            "description": "Quantidade de itens por página",
            "format": "int32",
            "example": 100
          },
          "quantidadeDePaginas": {
            "type": "integer",
            "description": "Quantidade total de páginas disponíveis",
            "format": "int32",
            "example": 5
          },
          "quantidadeTotalDeItens": {
            "type": "integer",
            "description": "Quantidade total de itens encontrados",
            "format": "int64",
            "example": 450
          }
        },
        "description": "Informações de paginação da resposta"
      },
      "PixDTO1": {
        "type": "object",
        "properties": {
          "endToEndId": {
            "type": "string",
            "description": "Identificador end-to-end do Pix",
            "example": "E123456782024010112345678901234"
          },
          "txid": {
            "type": "string",
            "description": "Identificador da transação associada",
            "example": "abc123def456ghi789"
          },
          "valor": {
            "type": "string",
            "description": "Valor do Pix recebido em reais",
            "example": "100.0"
          },
          "horario": {
            "type": "string",
            "description": "Data/hora do recebimento do Pix",
            "format": "date-time",
            "example": "2024-01-15T10:30:00Z"
          },
          "infoPagador": {
            "type": "string",
            "description": "Informação do pagador",
            "example": "Pagamento referente ao pedido #12345"
          },
          "devolucoes": {
            "type": "array",
            "description": "Lista de devoluções associadas a este Pix",
            "items": {
              "$ref": "#/components/schemas/PixCobDevolutionDTO"
            }
          }
        },
        "description": "Dados de um Pix recebido"
      },
      "PixPageableParameterDTO": {
        "type": "object",
        "properties": {
          "inicio": {
            "type": "string",
            "description": "Data/hora de início do período consultado",
            "format": "date-time",
            "example": "2024-01-01T00:00:00Z"
          },
          "fim": {
            "type": "string",
            "description": "Data/hora de fim do período consultado",
            "format": "date-time",
            "example": "2024-12-31T23:59:59Z"
          },
          "paginacao": {
            "$ref": "#/components/schemas/PagebleDTO"
          }
        },
        "description": "Parâmetros de consulta e paginação utilizados na listagem"
      },
      "PixPagebleResponse": {
        "type": "object",
        "properties": {
          "parametros": {
            "$ref": "#/components/schemas/PixPageableParameterDTO"
          },
          "pix": {
            "type": "array",
            "description": "Lista de Pix recebidos",
            "items": {
              "$ref": "#/components/schemas/PixDTO1"
            }
          }
        },
        "description": "Resposta paginada de listagem de Pix recebidos"
      },
      "PixRetrieveDevolutionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da devolução",
            "example": "dev-001"
          },
          "valor": {
            "type": "string",
            "description": "Valor da devolução em reais",
            "example": "10.5"
          },
          "horario": {
            "$ref": "#/components/schemas/TimeDTO"
          },
          "status": {
            "type": "string",
            "description": "Status da devolução (EM_PROCESSAMENTO, DEVOLVIDO, NAO_REALIZADO)",
            "example": "DEVOLVIDO"
          },
          "rtrId": {
            "type": "string",
            "description": "Identificador de retorno (Return Identification)",
            "example": "R1234567820240101abcdef"
          }
        },
        "description": "Resposta de consulta de devolução Pix"
      },
      "PixCobPageableResponse": {
        "type": "object",
        "properties": {
          "parametros": {
            "$ref": "#/components/schemas/PixPageableParameterDTO"
          },
          "cobs": {
            "type": "array",
            "description": "Lista de cobranças imediatas retornadas",
            "items": {
              "$ref": "#/components/schemas/PixRetrievedCobResponse"
            }
          }
        },
        "description": "Resposta paginada de listagem de cobranças imediatas Pix (Cob)"
      },
      "PixInfractionRequestDTO": {
        "required": [
          "flow",
          "method",
          "reference_id",
          "type"
        ],
        "type": "object",
        "properties": {
          "reference_id": {
            "type": "string",
            "description": "ID de referência da transação PIX",
            "example": "E12345678901234567890123456789012"
          },
          "type": {
            "type": "string",
            "description": "Tipo da infração PIX",
            "enum": [
              "REVERSAL",
              "REVERSAL_CHARGE_BACK"
            ]
          },
          "method": {
            "type": "string",
            "description": "Método utilizado na infração",
            "enum": [
              "SCAM",
              "UNAUTHORIZED",
              "COERCION",
              "INVASION",
              "OTHER"
            ]
          },
          "description": {
            "type": "string",
            "description": "Descrição detalhada da infração"
          },
          "operator_email": {
            "type": "string",
            "description": "E-mail do operador responsável",
            "example": "operador@empresa.com"
          },
          "operator_phone": {
            "type": "string",
            "description": "Telefone do operador responsável",
            "example": "+5511999999999"
          },
          "fraud_type": {
            "type": "string",
            "description": "Tipo de fraude identificada",
            "enum": [
              "IDENTITY",
              "MULE",
              "SCAM",
              "OTHER"
            ]
          },
          "external_id": {
            "type": "string",
            "description": "ID externo da infração no provedor"
          },
          "flow": {
            "type": "string",
            "description": "Direção do fluxo da transação (IN/OUT)",
            "enum": [
              "IN",
              "OUT"
            ]
          }
        },
        "description": "Dados para criação de uma infração PIX"
      },
      "PixInfractionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da infração"
          },
          "account_id": {
            "type": "string",
            "description": "ID da conta associada"
          },
          "reference_id": {
            "type": "string",
            "description": "ID de referência da transação PIX"
          },
          "type": {
            "type": "string",
            "description": "Tipo da infração PIX",
            "enum": [
              "REVERSAL",
              "REVERSAL_CHARGE_BACK"
            ]
          },
          "method": {
            "type": "string",
            "description": "Método utilizado na infração",
            "enum": [
              "SCAM",
              "UNAUTHORIZED",
              "COERCION",
              "INVASION",
              "OTHER"
            ]
          },
          "description": {
            "type": "string",
            "description": "Descrição detalhada da infração"
          },
          "operator_email": {
            "type": "string",
            "description": "E-mail do operador responsável"
          },
          "operator_phone": {
            "type": "string",
            "description": "Telefone do operador responsável"
          },
          "status": {
            "type": "string",
            "description": "Status atual da infração",
            "enum": [
              "CREATED",
              "FAILED",
              "DELIVERED",
              "CLOSED",
              "CANCELED"
            ]
          },
          "external_id": {
            "type": "string",
            "description": "ID externo da infração no provedor"
          },
          "fraud_type": {
            "type": "string",
            "description": "Tipo de fraude identificada",
            "enum": [
              "IDENTITY",
              "MULE",
              "SCAM",
              "OTHER"
            ]
          },
          "result": {
            "type": "string",
            "description": "Resultado da análise da infração",
            "enum": [
              "AGREED",
              "DISAGREED"
            ]
          },
          "flow": {
            "type": "string",
            "description": "Direção do fluxo da transação",
            "enum": [
              "IN",
              "OUT"
            ]
          },
          "created_at": {
            "type": "string",
            "description": "Data de criação da infração",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "description": "Data da última atualização",
            "format": "date-time"
          },
          "account_holder_answer": {
            "type": "string",
            "description": "Resposta do titular da conta"
          },
          "account_holder_answer_status": {
            "type": "string",
            "description": "Status da resposta do titular",
            "enum": [
              "WAITING_ANSWER",
              "ANSWERED"
            ]
          },
          "account_holder_answer_date_time_limit": {
            "type": "string",
            "description": "Data limite para resposta do titular",
            "format": "date-time"
          }
        },
        "description": "Dados de resposta de uma infração PIX"
      },
      "PixInfractionAccountHolderDefenseRequestDTO": {
        "required": [
          "accountHolderAnswer"
        ],
        "type": "object",
        "properties": {
          "accountHolderAnswer": {
            "type": "string",
            "description": "Resposta de defesa do titular da conta",
            "example": "Não reconheço esta transação"
          }
        },
        "description": "Dados de defesa do titular da conta"
      },
      "PixFraudRequestDTO": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Tipo de fraude PIX",
            "enum": [
              "IDENTITY",
              "MULE",
              "SCAM",
              "OTHER"
            ]
          },
          "key": {
            "type": "string",
            "description": "Chave PIX associada à fraude",
            "example": "email@exemplo.com"
          }
        },
        "description": "Dados para registro de fraude PIX"
      },
      "PixFraudResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da fraude"
          },
          "account_id": {
            "type": "string",
            "description": "ID da conta associada"
          },
          "document": {
            "type": "string",
            "description": "Documento do titular"
          },
          "type": {
            "type": "string",
            "description": "Tipo de fraude PIX",
            "enum": [
              "IDENTITY",
              "MULE",
              "SCAM",
              "OTHER"
            ]
          },
          "external_id": {
            "type": "string",
            "description": "ID externo da fraude no provedor"
          },
          "key": {
            "type": "string",
            "description": "Chave PIX associada à fraude"
          },
          "status": {
            "type": "string",
            "description": "Status atual da fraude",
            "enum": [
              "CREATED",
              "FAILED",
              "REGISTERED",
              "CANCELED"
            ]
          },
          "created_at": {
            "type": "string",
            "description": "Data de criação",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "description": "Data da última atualização",
            "format": "date-time"
          }
        },
        "description": "Dados de resposta de uma fraude PIX"
      },
      "PixDisputeRequestDTO": {
        "required": [
          "contestAmount",
          "contestRecipientName",
          "description",
          "method",
          "referenceId"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "ID da conta associada"
          },
          "description": {
            "type": "string",
            "description": "Descrição da disputa"
          },
          "referenceId": {
            "type": "string",
            "description": "ID de referência da transação PIX"
          },
          "method": {
            "type": "string",
            "description": "Método de disputa PIX",
            "enum": [
              "SCAM",
              "UNAUTHORIZED",
              "COERCION",
              "INVASION",
              "OTHER"
            ]
          },
          "minTransactionAmount": {
            "type": "integer",
            "description": "Valor mínimo da transação",
            "format": "int32"
          },
          "maxTransactionCount": {
            "type": "integer",
            "description": "Quantidade máxima de transações",
            "format": "int32"
          },
          "maxHopInterval": {
            "type": "integer",
            "description": "Intervalo máximo entre hops",
            "format": "int32"
          },
          "maxHopCount": {
            "type": "integer",
            "description": "Quantidade máxima de hops",
            "format": "int32"
          },
          "contestAmount": {
            "type": "number",
            "description": "Valor contestado",
            "example": 500
          },
          "contestRefund": {
            "type": "number",
            "description": "Valor de reembolso da contestação"
          },
          "contestRecipientName": {
            "type": "string",
            "description": "Nome do destinatário da contestação"
          },
          "tags": {
            "type": "array",
            "description": "Tags associadas à disputa",
            "items": {
              "type": "string",
              "description": "Tags associadas à disputa"
            }
          }
        },
        "description": "Dados para criação de uma disputa PIX"
      },
      "PixDisputeResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da disputa"
          },
          "accountId": {
            "type": "string",
            "description": "ID da conta associada"
          },
          "flow": {
            "type": "string",
            "description": "Direção do fluxo da transação",
            "enum": [
              "IN",
              "OUT"
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Data de criação",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "description": "Data da última atualização",
            "format": "date-time"
          },
          "externalId": {
            "type": "string",
            "description": "ID externo da disputa no provedor"
          },
          "description": {
            "type": "string",
            "description": "Descrição da disputa"
          },
          "operatorEmail": {
            "type": "string",
            "description": "E-mail do operador"
          },
          "operatorPhone": {
            "type": "string",
            "description": "Telefone do operador"
          },
          "bacenId": {
            "type": "string",
            "description": "ID do Banco Central"
          },
          "referenceId": {
            "type": "string",
            "description": "ID de referência da transação PIX"
          },
          "status": {
            "type": "string",
            "description": "Status atual da disputa"
          },
          "method": {
            "type": "string",
            "description": "Método de disputa"
          },
          "minTransactionAmount": {
            "type": "integer",
            "description": "Valor mínimo da transação",
            "format": "int32"
          },
          "maxTransactionCount": {
            "type": "integer",
            "description": "Quantidade máxima de transações",
            "format": "int32"
          },
          "maxHopInterval": {
            "type": "integer",
            "description": "Intervalo máximo entre hops",
            "format": "int32"
          },
          "maxHopCount": {
            "type": "integer",
            "description": "Quantidade máxima de hops",
            "format": "int32"
          },
          "canCancel": {
            "type": "boolean",
            "description": "Indica se a disputa pode ser cancelada"
          },
          "contestValue": {
            "type": "number",
            "description": "Valor contestado"
          },
          "tags": {
            "type": "array",
            "description": "Tags associadas à disputa",
            "items": {
              "type": "string",
              "description": "Tags associadas à disputa"
            }
          },
          "contestRecipientName": {
            "type": "string",
            "description": "Nome do destinatário da contestação"
          },
          "contestRefund": {
            "type": "number",
            "description": "Valor de reembolso da contestação"
          }
        },
        "description": "Dados de resposta de uma disputa PIX"
      },
      "PixChargebackRequestDTO": {
        "required": [
          "amount",
          "flow",
          "referenceId"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Valor do chargeback",
            "example": 150
          },
          "referenceId": {
            "type": "string",
            "description": "ID de referência da transação PIX original"
          },
          "description": {
            "type": "string",
            "description": "Descrição do motivo do chargeback"
          },
          "reason": {
            "type": "string",
            "description": "Motivo do chargeback",
            "enum": [
              "FLAW",
              "FRAUD",
              "REVERSAL_CHARGEBACK"
            ]
          },
          "externalId": {
            "type": "string",
            "description": "ID externo do chargeback no provedor"
          },
          "reversalReferenceId": {
            "type": "string",
            "description": "ID de referência da transação de reversão"
          },
          "analysis": {
            "type": "string",
            "description": "Análise do chargeback"
          },
          "flow": {
            "type": "string",
            "description": "Direção do fluxo da transação (IN/OUT)",
            "enum": [
              "IN",
              "OUT"
            ]
          }
        },
        "description": "Dados para criação de um chargeback PIX"
      },
      "PixChargebackResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único do chargeback"
          },
          "accountId": {
            "type": "string",
            "description": "ID da conta associada"
          },
          "amount": {
            "type": "number",
            "description": "Valor do chargeback"
          },
          "referenceId": {
            "type": "string",
            "description": "ID de referência da transação PIX original"
          },
          "description": {
            "type": "string",
            "description": "Descrição do chargeback"
          },
          "reason": {
            "type": "string",
            "description": "Motivo do chargeback",
            "enum": [
              "FLAW",
              "FRAUD",
              "REVERSAL_CHARGEBACK"
            ]
          },
          "status": {
            "type": "string",
            "description": "Status atual do chargeback",
            "enum": [
              "CREATED",
              "FAILED",
              "DELIVERED",
              "CLOSED",
              "CANCELED"
            ]
          },
          "externalId": {
            "type": "string",
            "description": "ID externo do chargeback no provedor"
          },
          "result": {
            "type": "string",
            "description": "Resultado da análise do chargeback",
            "enum": [
              "REJECTED",
              "ACCEPTED",
              "PARTIAL_ACCEPTED"
            ]
          },
          "rejectReason": {
            "type": "string",
            "description": "Motivo da rejeição do chargeback",
            "enum": [
              "NO_BALANCE",
              "ACCOUNT_CLOSED",
              "INVALID_REQUEST",
              "OTHER"
            ]
          },
          "reversalReferenceId": {
            "type": "string",
            "description": "ID de referência da transação de reversão"
          },
          "analysis": {
            "type": "string",
            "description": "Análise do chargeback"
          },
          "flow": {
            "type": "string",
            "description": "Direção do fluxo da transação",
            "enum": [
              "IN",
              "OUT"
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "Data de criação do chargeback",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "description": "Data da última atualização",
            "format": "date-time"
          }
        },
        "description": "Dados de resposta de um chargeback PIX"
      },
      "PixInfractionUpdateRequestDTO": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Novo status da infração",
            "enum": [
              "CREATED",
              "FAILED",
              "DELIVERED",
              "CLOSED",
              "CANCELED"
            ]
          },
          "fraudType": {
            "type": "string",
            "description": "Tipo de fraude identificada",
            "enum": [
              "IDENTITY",
              "MULE",
              "SCAM",
              "OTHER"
            ]
          },
          "analysis": {
            "type": "string",
            "description": "Descrição da análise realizada"
          },
          "result": {
            "type": "string",
            "description": "Resultado da análise da infração",
            "enum": [
              "AGREED",
              "DISAGREED"
            ]
          }
        },
        "description": "Dados para atualização de uma infração PIX"
      },
      "PixChargebackUpdateRequestDTO": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "description": "Motivo do chargeback"
          },
          "status": {
            "type": "string",
            "description": "Novo status do chargeback",
            "enum": [
              "CREATED",
              "FAILED",
              "DELIVERED",
              "CLOSED",
              "CANCELED"
            ]
          },
          "result": {
            "type": "string",
            "description": "Resultado da análise",
            "enum": [
              "REJECTED",
              "ACCEPTED",
              "PARTIAL_ACCEPTED"
            ]
          },
          "reject_reason": {
            "type": "string",
            "description": "Motivo da rejeição",
            "enum": [
              "NO_BALANCE",
              "ACCOUNT_CLOSED",
              "INVALID_REQUEST",
              "OTHER"
            ]
          },
          "analysis": {
            "type": "string",
            "description": "Descrição da análise"
          },
          "reversal_reference_id": {
            "type": "string",
            "description": "ID de referência da transação de reversão"
          }
        },
        "description": "Dados para atualização de um chargeback PIX"
      },
      "DateFilter": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "Número da página (inicia em 1)",
            "format": "int32",
            "example": 1
          },
          "size": {
            "type": "integer",
            "description": "Quantidade de registros por página",
            "format": "int32",
            "example": 10
          },
          "startDate": {
            "type": "string",
            "description": "Data inicial do filtro (formato yyyy-MM-dd)",
            "example": "2024-01-01"
          },
          "endDate": {
            "type": "string",
            "description": "Data final do filtro (formato yyyy-MM-dd)",
            "example": "2024-12-31"
          },
          "pageValue": {
            "type": "integer",
            "format": "int32"
          },
          "sizeValue": {
            "type": "integer",
            "format": "int32"
          }
        },
        "description": "Filtros de data com paginação"
      },
      "PaginatedResultPixInfractionResponseDTO": {
        "type": "object",
        "properties": {
          "paging": {
            "$ref": "#/components/schemas/PagingDTO"
          },
          "content": {
            "type": "array",
            "description": "Lista de resultados",
            "items": {
              "$ref": "#/components/schemas/PixInfractionResponseDTO"
            }
          }
        },
        "description": "Resultado paginado"
      },
      "PagingDTO": {
        "type": "object",
        "properties": {
          "size": {
            "type": "integer",
            "description": "Tamanho da página",
            "format": "int32",
            "example": 10
          },
          "page": {
            "type": "integer",
            "description": "Número da página atual",
            "format": "int32",
            "example": 0
          },
          "total_elements": {
            "type": "integer",
            "description": "Total de elementos",
            "format": "int64",
            "example": 100
          },
          "total_pages": {
            "type": "integer",
            "description": "Total de páginas",
            "format": "int32",
            "example": 10
          },
          "has_content": {
            "type": "boolean",
            "description": "Indica se há conteúdo na página"
          },
          "has_next": {
            "type": "boolean",
            "description": "Indica se há próxima página"
          },
          "has_previous": {
            "type": "boolean",
            "description": "Indica se há página anterior"
          }
        },
        "description": "Metadados de paginação"
      },
      "PaginatedResultPixInfractionDefenseResponseDTO": {
        "type": "object",
        "properties": {
          "paging": {
            "$ref": "#/components/schemas/PagingDTO"
          },
          "content": {
            "type": "array",
            "description": "Lista de resultados",
            "items": {
              "$ref": "#/components/schemas/PixInfractionDefenseResponseDTO"
            }
          }
        },
        "description": "Resultado paginado"
      },
      "PixInfractionDefenseResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identificador único da infração"
          },
          "reference_id": {
            "type": "string",
            "description": "ID de referência da transação PIX"
          },
          "type": {
            "type": "string",
            "description": "Tipo da infração PIX",
            "enum": [
              "REVERSAL",
              "REVERSAL_CHARGE_BACK"
            ]
          },
          "description": {
            "type": "string",
            "description": "Descrição da infração"
          },
          "created_at": {
            "type": "string",
            "description": "Data de criação",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "description": "Data da última atualização",
            "format": "date-time"
          },
          "account_holder_answer": {
            "type": "string",
            "description": "Resposta do titular da conta"
          },
          "account_holder_answer_status": {
            "type": "string",
            "description": "Status da resposta do titular",
            "enum": [
              "WAITING_ANSWER",
              "ANSWERED"
            ]
          },
          "account_holder_answer_date_time_limit": {
            "type": "string",
            "description": "Data limite para resposta do titular",
            "format": "date-time"
          }
        },
        "description": "Dados de resposta de defesa de infração PIX"
      },
      "PaginatedResultPixFraudResponseDTO": {
        "type": "object",
        "properties": {
          "paging": {
            "$ref": "#/components/schemas/PagingDTO"
          },
          "content": {
            "type": "array",
            "description": "Lista de resultados",
            "items": {
              "$ref": "#/components/schemas/PixFraudResponseDTO"
            }
          }
        },
        "description": "Resultado paginado"
      },
      "PaginatedResultPixDisputeResponseDTO": {
        "type": "object",
        "properties": {
          "paging": {
            "$ref": "#/components/schemas/PagingDTO"
          },
          "content": {
            "type": "array",
            "description": "Lista de resultados",
            "items": {
              "$ref": "#/components/schemas/PixDisputeResponseDTO"
            }
          }
        },
        "description": "Resultado paginado"
      },
      "PaginatedResultPixChargebackResponseDTO": {
        "type": "object",
        "properties": {
          "paging": {
            "$ref": "#/components/schemas/PagingDTO"
          },
          "content": {
            "type": "array",
            "description": "Lista de resultados",
            "items": {
              "$ref": "#/components/schemas/PixChargebackResponseDTO"
            }
          }
        },
        "description": "Resultado paginado"
      },
      "UpdateWebhookRequest": {
        "required": [
          "webhookUrl"
        ],
        "type": "object",
        "properties": {
          "webhookUrl": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "CustomerEventSetupRequestDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "POST",
              "DELETE"
            ]
          },
          "event": {
            "type": "string",
            "enum": [
              "PRODUCT_CREATED",
              "PRODUCT_UPDATED",
              "INDIVIDUAL_CREATED",
              "INDIVIDUAL_UPDATED",
              "COMPANY_CREATED",
              "COMPANY_UPDATED",
              "ACCOUNT_CREATED",
              "ACCOUNT_ACTIVATED",
              "ACCOUNT_INFO_UPDATED",
              "ACCOUNT_CREATE_ERROR",
              "TRANSACTION_EVENT_CREATED",
              "TRANSACTION_PROCESS_ERROR",
              "BULK_FINISH_OK",
              "BULK_FINISH_WITH_ERROS",
              "PIX_CHARGE_UPDATED",
              "ACCOUNT_HOLDER_CREATED",
              "PIX_CHARGE_BACEN_UPDATED",
              "RECHARGE_SCHEDULING_CREATED",
              "APP_CREDENTIALS_CREATED",
              "APP_CREDENTIALS_DELETED",
              "ACCOUNT_BALANCE_UPDATED",
              "PIX_SCHEDULE_UPDATED",
              "PIX_CREATED",
              "PIX_UPDATED",
              "PIX_KEY_CREATED",
              "PIX_KEY_UPDATED",
              "PIX_KEY_CLAIM_CREATED",
              "PIX_KEY_CLAIM_UPDATED",
              "PIX_INFRACTION_CREATED",
              "PIX_INFRACTION_UPDATED",
              "PIX_CHARGEBACK_CREATED",
              "PIX_CHARGEBACK_UPDATED",
              "PIX_LIMIT_CREATED",
              "PIX_LIMIT_UPDATED",
              "PIX_LIMIT_REQUEST_CREATED",
              "PIX_LIMIT_REQUEST_UPDATED",
              "PIX_REVERSAL_CREATED",
              "PIX_REVERSAL_UPDATED",
              "INTERNAL_PIX_CHARGE_CREATED",
              "INTERNAL_PIX_CHARGE_UPDATED",
              "FINWAY_ACCOUNT_CREATED"
            ]
          },
          "callback_url": {
            "type": "string"
          },
          "query_params": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "additional_information": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "CustomerEventSetupResponseDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "POST",
              "DELETE"
            ]
          },
          "id": {
            "type": "string"
          },
          "event": {
            "type": "string",
            "enum": [
              "PRODUCT_CREATED",
              "PRODUCT_UPDATED",
              "INDIVIDUAL_CREATED",
              "INDIVIDUAL_UPDATED",
              "COMPANY_CREATED",
              "COMPANY_UPDATED",
              "ACCOUNT_CREATED",
              "ACCOUNT_ACTIVATED",
              "ACCOUNT_INFO_UPDATED",
              "ACCOUNT_CREATE_ERROR",
              "TRANSACTION_EVENT_CREATED",
              "TRANSACTION_PROCESS_ERROR",
              "BULK_FINISH_OK",
              "BULK_FINISH_WITH_ERROS",
              "PIX_CHARGE_UPDATED",
              "ACCOUNT_HOLDER_CREATED",
              "PIX_CHARGE_BACEN_UPDATED",
              "RECHARGE_SCHEDULING_CREATED",
              "APP_CREDENTIALS_CREATED",
              "APP_CREDENTIALS_DELETED",
              "ACCOUNT_BALANCE_UPDATED",
              "PIX_SCHEDULE_UPDATED",
              "PIX_CREATED",
              "PIX_UPDATED",
              "PIX_KEY_CREATED",
              "PIX_KEY_UPDATED",
              "PIX_KEY_CLAIM_CREATED",
              "PIX_KEY_CLAIM_UPDATED",
              "PIX_INFRACTION_CREATED",
              "PIX_INFRACTION_UPDATED",
              "PIX_CHARGEBACK_CREATED",
              "PIX_CHARGEBACK_UPDATED",
              "PIX_LIMIT_CREATED",
              "PIX_LIMIT_UPDATED",
              "PIX_LIMIT_REQUEST_CREATED",
              "PIX_LIMIT_REQUEST_UPDATED",
              "PIX_REVERSAL_CREATED",
              "PIX_REVERSAL_UPDATED",
              "INTERNAL_PIX_CHARGE_CREATED",
              "INTERNAL_PIX_CHARGE_UPDATED",
              "FINWAY_ACCOUNT_CREATED"
            ]
          },
          "callback_url": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "additional_information": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "BulkResendRequest": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "start_date": {
            "type": "string",
            "format": "date-time"
          },
          "end_date": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "BulkResendResponse": {
        "type": "object",
        "properties": {
          "total_queued": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CustomerEventSetupPatchDTO": {
        "type": "object",
        "properties": {
          "callback_url": {
            "type": "string"
          },
          "query_params": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "active": {
            "type": "boolean"
          },
          "additional_information": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "PagebleDTO1": {
        "type": "object",
        "properties": {
          "paginaAtual": {
            "type": "integer",
            "format": "int32"
          },
          "itensPorPagina": {
            "type": "integer",
            "format": "int32"
          },
          "quantidadeDePaginas": {
            "type": "integer",
            "format": "int32"
          },
          "quantidadeTotalDeItens": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "WebhookPageableParamiterDTO": {
        "type": "object",
        "properties": {
          "inicio": {
            "type": "string",
            "format": "date-time"
          },
          "fim": {
            "type": "string",
            "format": "date-time"
          },
          "paginacao": {
            "$ref": "#/components/schemas/PagebleDTO1"
          }
        }
      },
      "WebhookPageableResponse": {
        "type": "object",
        "properties": {
          "parametros": {
            "$ref": "#/components/schemas/WebhookPageableParamiterDTO"
          },
          "webhooks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebhookResponse"
            }
          }
        }
      },
      "WebhookResponse": {
        "type": "object",
        "properties": {
          "webhookUrl": {
            "type": "string"
          },
          "chave": {
            "type": "string"
          },
          "criacao": {
            "type": "string",
            "format": "date-time"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "WebhookResponseDTO": {
        "type": "object",
        "properties": {
          "webhookUrl": {
            "type": "string"
          },
          "chave": {
            "type": "string"
          },
          "criacao": {
            "type": "string",
            "format": "date-time"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "DeliveryAttemptResponse": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "attempt_number": {
            "type": "integer",
            "format": "int32"
          },
          "http_status": {
            "type": "integer",
            "format": "int32"
          },
          "error_message": {
            "type": "string"
          }
        }
      },
      "WebhookEventLogPageResponse": {
        "type": "object",
        "properties": {
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebhookEventLogResponse"
            }
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "total_elements": {
            "type": "integer",
            "format": "int64"
          },
          "total_pages": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "WebhookEventLogResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "attempts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryAttemptResponse"
            }
          },
          "event_id": {
            "type": "string"
          },
          "tenant_id": {
            "type": "string"
          },
          "event_type": {
            "type": "string"
          },
          "object_id": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "securitySchemes": {
      "x-buildersbank-authorization": {
        "type": "apiKey",
        "description": "Token JWT de autorização do usuário. Exemplo: eyJraWQiOiI0....",
        "name": "x-buildersbank-authorization",
        "in": "header"
      },
      "client_id": {
        "type": "apiKey",
        "description": "Identificador único do cliente (aplicação). Exemplo: f115c385-5a17-4e91-ae0d-b2726834d837",
        "name": "client_id",
        "in": "header"
      }
    }
  }
}