openapi: 3.0.0
info:
  title: API Accounts - Open Finance Brasil
  description: |
    API de contas de depósito à vista, contas de poupança e contas pré-pagas do Open Finance Brasil – Fase 2.
    API que retorna informações de contas de depósito à vista, contas de poupança e contas de pagamento pré-pagas mantidas nas instituições transmissoras por seus clientes,
    incluindo dados de identificação da conta, saldos, limites e transações.\
    Não possui segregação entre pessoa natural e pessoa jurídica.\
    Requer consentimento do cliente para todos os `endpoints`.

    # Orientações
    A `Role`  do diretório de participantes relacionada à presente API é a `DADOS`.\
    Para todos os `endpoints` desta API é previsto o envio de um `token` através do header `Authorization`.\
    Este token deverá estar relacionado ao consentimento (`consentId`) mantido na instituição transmissora dos dados, o qual permitirá a pesquisa e retorno, na API em questão, dos 
    dados relacionados ao `consentId` específico relacionado.\
    Os dados serão devolvidos na consulta desde que o `consentId` relacionado corresponda a um consentimento válido e com o status `AUTHORISED`.\
    É também necessário que o recurso em questão (conta, contrato, etc) esteja disponível na instituição transmissora (ou seja, sem boqueios de qualquer natureza e com todas as autorizações/consentimentos já autorizados).\
    Além disso as `permissions` necessárias deverão ter sido solicitadas quando da criação do consentimento relacionado (`consentId`).\
    Relacionamos a seguir as `permissions` necessárias para a consulta de dados em cada `endpoint` da presente API.

    ## Permissions necessárias para a API Accounts

    Para cada um dos paths desta API, além dos escopos (`scopes`) indicados existem `permissions` que deverão ser observadas:

    ### `/accounts`
      - permissions:
        - GET: **ACCOUNTS_READ**
    ### `/accounts/{accountId}`
      - permissions:
        - GET: **ACCOUNTS_READ**
    ### `/accounts/{accountId}/balances`
      - permissions:
        - GET: **ACCOUNTS_BALANCES_READ**
    ### `/accounts/{accountId}/transactions`
      - permissions:
        - GET: **ACCOUNTS_TRANSACTIONS_READ**
    ### `/accounts/{accountId}/transactions-current`
      - permissions:
        - GET: **ACCOUNTS_TRANSACTIONS_READ**
    ### `/accounts/{accountId}/overdraft-limits`
      - permissions:
        - GET: **ACCOUNTS_OVERDRAFT_LIMITS_READ**

    ## Tabela: Data de imutabilidade por tipo de transação
    ```
    |---------------------------------------|-------------------------|-----------------------|
    | Tipo de Transação                     | Data da Obrigatoriedade | Data da Imutabilidade |
    |---------------------------------------|-------------------------|-----------------------|
    | TED                                   | DO                      | DO                    |
    |---------------------------------------|-------------------------|-----------------------|
    | PIX                                   | DO                      | DO                    |
    |---------------------------------------|-------------------------|-----------------------|
    | TRANSFERENCIA MESMA INSTITUIÇÃO (TEF) | DO                      | DO                    |
    |---------------------------------------|-------------------------|-----------------------|
    | TARIFA SERVIÇOS AVULSOS               | DO                      | DO                    |
    |---------------------------------------|-------------------------|-----------------------|
    | FOLHA DE PAGAMENTO                    | DO                      | DO                    |
    |---------------------------------------|-------------------------|-----------------------|
    | DOC                                   | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | BOLETO                                | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | CONVÊNIO ARRECADAÇÃO                  | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | PACOTE TARIFA SERVIÇOS                | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | DEPÓSITO                              | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | SAQUE                                 | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | CARTÃO                                | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | ENCARGOS JUROS CHEQUE ESPECIAL        | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | RENDIMENTO APLICAÇÃO FINANCEIRA       | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | PORTABILIDADE SALÁRIO                 | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | RESGATE APLICAÇÃO FINANCEIRA          | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | OPERAÇÃO DE CRÉDITO                   | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    | OUTROS                                | DO                      | D+1                   |
    |---------------------------------------|-------------------------|-----------------------|
    ```
  version: 2.1.0-rc.2
  license:
    name: Apache 2.0
    url: 'https://www.apache.org/licenses/LICENSE-2.0'
  contact:
    name: Governança do Open Finance Brasil – Especificações
    email: gt-interfaces@openbankingbr.org
    url: 'https://openbanking-brasil.github.io/areadesenvolvedor/'
servers:
  - url: 'https://api.banco.com.br/open-banking/accounts/v2'
    description: Servidor de Produção
  - url: 'https://apih.banco.com.br/open-banking/accounts/v2'
    description: Servidor de Homologação
tags:
  - name: Accounts
    description: Operações para listagem das informações da Conta do Cliente
paths:
  /accounts:
    get:
      tags:
        - Accounts
      summary: Obtém a lista de contas consentidas pelo cliente.
      operationId: accountsGetAccounts
      description: 'Método para obter a lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento.'
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/accountType'
        - $ref: '#/components/parameters/pagination-key'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseAccountList'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - accounts
  '/accounts/{accountId}':
    get:
      tags:
        - Accounts
      summary: Obtém os dados de identificação da conta identificada por accountId.
      description: 'Método para obter os dados de identificação da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.'
      operationId: accountsGetAccountsAccountId
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/accountId'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseAccountIdentification'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - accounts
  '/accounts/{accountId}/balances':
    get:
      tags:
        - Accounts
      summary: Obtém os saldos da conta identificada por accountId.
      operationId: accountsGetAccountsAccountIdBalances
      description: 'Método para obter os saldos da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.'
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/accountId'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseAccountBalances'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - accounts
  '/accounts/{accountId}/transactions':
    get:
      tags:
        - Accounts
      summary: Obtém a lista de transações da conta identificada por accountId.
      operationId: accountsGetAccountsAccountIdTransactions
      description: 'Método para obter a lista de transações da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.'
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/fromBookingDate'
        - $ref: '#/components/parameters/toBookingDate'
        - $ref: '#/components/parameters/creditDebitIndicator'
        - $ref: '#/components/parameters/pagination-key'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseAccountTransactions'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '423':
          $ref: '#/components/responses/Locked'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
        '529':
          $ref: '#/components/responses/SiteIsOverloaded'
        default:
          $ref: '#/components/responses/Default'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - accounts
  '/accounts/{accountId}/transactions-current':
    get:
      tags:
        - Accounts
      summary: Obtém a lista de transações recentes (últimos 7 dias) da conta identificada por accountId.
      operationId: accountsGetAccountsAccountIdTransactionsCurrent
      description: 'Método para obter a lista de transações recentes (últimos 7 dias) da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.'
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/fromBookingDateMaxLimited'
        - $ref: '#/components/parameters/toBookingDateMaxLimited'
        - $ref: '#/components/parameters/creditDebitIndicator'
        - $ref: '#/components/parameters/pagination-key'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseAccountTransactions'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '423':
          $ref: '#/components/responses/Locked'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
        '529':
          $ref: '#/components/responses/SiteIsOverloaded'
        default:
          $ref: '#/components/responses/Default'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - accounts
  '/accounts/{accountId}/overdraft-limits':
    get:
      tags:
        - Accounts
      summary: Obtém os limites da conta identificada por accountId.
      operationId: accountsGetAccountsAccountIdOverdraftLimits
      description: 'Método para obter os limites da conta de depósito à vista, poupança ou pagamento pré-paga identificada por accountId mantida pelo cliente na instituição transmissora.'
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/accountId'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseAccountOverdraftLimits'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - accounts
components:
  schemas:
    AccountBalancesDataAutomaticallyInvestedAmount:
      type: object
      description: Saldo disponível com aplicação automática - corresponde a soma do saldo disponível acrescido do valor obtido a partir da aplicação automática. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    AccountOverdraftLimitsDataOverdraftContractedLimit:
      type: object
      description: Valor do limite contratado do cheque especial.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    AccountOverdraftLimitsDataOverdraftUsedLimit:
      type: object
      description: Valor utilizado total do limite do cheque especial e o adiantamento a depositante.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    AccountOverdraftLimitsDataUnarrangedOverdraftAmount:
      type: object
      description: Valor de operação contratada em caráter emergencial para cobertura de saldo devedor em conta de depósitos à vista e de excesso sobre o limite pactuado de cheque especial.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    AccountBalancesDataBlockedAmount:
      type: object
      description: 'Saldo bloqueado, não disponível para utilização imediata, por motivo de bloqueio apresentado para o cliente nos canais eletrônicos. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.'
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    AccountBalancesDataAvailableAmount:
      type: object
      description: 'Saldo disponível para utilização imediata. No caso de conta de depósito a vista, sem considerar cheque especial e investimentos atrelados a conta. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.'
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^-?\d{1,15}\.\d{2,4}$'
          maxLength: 21
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    AccountBalancesData:
      type: object
      description: |
        Conjunto de informações das Contas de: depósito à vista, poupança e de pagamento pré-paga
      required:
        - availableAmount
        - blockedAmount
        - automaticallyInvestedAmount
        - updateDateTime
      properties:
        availableAmount:
          $ref: '#/components/schemas/AccountBalancesDataAvailableAmount'
        blockedAmount:
          $ref: '#/components/schemas/AccountBalancesDataBlockedAmount'
        automaticallyInvestedAmount:
          $ref: '#/components/schemas/AccountBalancesDataAutomaticallyInvestedAmount'
        updateDateTime:
          type: string
          format: date-time
          maxLength: 20
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$'
          example: '2021-05-21T08:30:00Z'
          description: |
            Data e hora da última atualização do saldo. É esperado que a instituição informe a última vez que capturou o saldo para compartilhamento no Open Finance. Dessa forma, é possível que:
            - Caso a instituição capture dados de forma síncrona essa informação seja de poucos momentos;
            - Caso a instituição capture dados de forma assíncrona essa informação seja de horas ou dias no passado;
            - Quando não existente uma data vinculada especificamente ao bloco, se assume a data e hora de atualização do cadastro como um todo.

            De toda forma, é preciso continuar respeitando o prazo máximo de tempestividade da API de Contas.
    AccountData:
      type: object
      required:
        - brandName
        - companyCnpj
        - type
        - compeCode
        - number
        - checkDigit
        - accountId
      properties:
        brandName:
          type: string
          description: 'Nome da Marca reportada pelo participante no Open Finance. Recomenda-se utilizar, sempre que possível, o mesmo nome de marca atribuído no campo do diretório Customer Friendly Server Name (Authorisation Server).'
          maxLength: 80
          pattern: '[\w\W\s]*'
          example: Organização A
        companyCnpj:
          type: string
          maxLength: 14
          pattern: '^\d{14}$'
          description: 'Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara'
          example: '21128159000166'
        type:
          $ref: '#/components/schemas/EnumAccountType'
        compeCode:
          type: string
          description: 'Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas).O Compe (Sistema de Compensação de Cheques e Outros Papéis) é um sistema que identifica e processa as compensações bancárias. Ele é representado por um código de três dígitos que serve como identificador de bancos, sendo assim, cada instituição bancária possui um número exclusivo'
          pattern: '^\d{3}$'
          maxLength: 3
          example: '001'
        branchCode:
          type: string
          description: |
            Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)

            [Restrição] Obrigatoriamente deve ser preenchido quando o campo "type" for diferente de CONTA_PAGAMENTO_PRE_PAGA.
          pattern: '^\d{4}$'
          maxLength: 4
          example: '6272'
        number:
          type: string
          description: Número da conta
          pattern: '^\d{8,20}$'
          maxLength: 20
          example: '94088392'
        checkDigit:
          type: string
          description: Dígito da conta
          pattern: '[\w\W\s]*'
          maxLength: 1
          example: '4'
        accountId:
          type: string
          description: 'Identifica de forma única  a conta do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.'
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          maxLength: 100
          minLength: 1
          example: '92792126019929279212650822221989319252576'
    AccountIdentificationData:
      type: object
      description: |
        Conjunto dos atributos que caracterizam as Contas de: depósito à vista, poupança e de pagamento pré-paga
      required:
        - compeCode
        - number
        - checkDigit
        - type
        - subtype
        - currency
      properties:
        compeCode:
          type: string
          maxLength: 3
          pattern: '^\d{3}$'
          description: 'Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas). O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código'
          example: '001'
        branchCode:
          type: string
          maxLength: 4
          pattern: '^\d{4}$'
          description: |
            Código da Agência detentora da conta. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)

            [Restrição] Obrigatoriamente deve ser preenchido quando o campo "type" for diferente de conta pré-paga.
          example: '6272'
        number:
          type: string
          maxLength: 20
          pattern: '^\d{8,20}$'
          description: |
            Número da conta
          example: '24550245'
        checkDigit:
          type: string
          maxLength: 1
          pattern: '[\w\W\s]*'
          description: |
            Dígito da conta
          example: '4'
        type:
          $ref: '#/components/schemas/EnumAccountType'
        subtype:
          $ref: '#/components/schemas/EnumAccountSubType'
        currency:
          type: string
          pattern: '^(\w{3}){1}$'
          maxLength: 3
          description: |
            Moeda referente ao valor da transação, segundo modelo ISO-4217. p.ex. 'BRL' 
            Todos os saldos informados estão representados com a moeda vigente do Brasil
          example: BRL
    AccountOverdraftLimitsData:
      type: object
      description: |
        Conjunto de informações da Conta de: depósito à vista
      properties:
        overdraftContractedLimit:
          $ref: '#/components/schemas/AccountOverdraftLimitsDataOverdraftContractedLimit'
        overdraftUsedLimit:
          $ref: '#/components/schemas/AccountOverdraftLimitsDataOverdraftUsedLimit'
        unarrangedOverdraftAmount:
          $ref: '#/components/schemas/AccountOverdraftLimitsDataUnarrangedOverdraftAmount'
    AccountTransactionsData:
      type: object
      required:
        - transactionId
        - completedAuthorisedPaymentType
        - creditDebitType
        - transactionName
        - type
        - transactionAmount
        - transactionDate
        - transactionDateTime
      properties:
        transactionId:
          type: string
          description: |
            Código ou identificador único prestado pela instituição que mantém a conta para representar a transação individual. 
            O ideal é que o `transactionId` seja imutável. 
            No entanto, o `transactionId` deve obedecer, no mínimo, as regras de imutabilidade propostas conforme tabela “Data de imutabilidade por tipo de transação” presente nas orientações desta API.
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl
        completedAuthorisedPaymentType:
          $ref: '#/components/schemas/EnumCompletedAuthorisedPaymentIndicator'
        creditDebitType:
          $ref: '#/components/schemas/EnumCreditDebitIndicator'
        transactionName:
          type: string
          maxLength: 200
          pattern: '[\w\W\s]*'
          description: Literal usada na instituição financeira para identificar a transação. A informação apresentada precisa ser a mesma utilizada nos canais eletrônicos da instituição (extrato).
          example: TRANSFCWAR5TXHCX5I9IDBHML8082N8NEO30M6LNNG7ANAYIJYRM00ZBZPU8
        type:
          $ref: '#/components/schemas/EnumTransactionTypes'
        transactionAmount:
          $ref: '#/components/schemas/AccountTransactionsDataAmount'
        transactionDate:
          type: string
          maxLength: 10
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$'
          description: |
            Se indicador de transação: TRANSACAO_EFETIVADA - corresponde a data de lançamento da transação LANCAMENTO_FUTURO - corresponde a data prevista de efetivação da transação.
          example: '2021-01-07'
        transactionDateTime:
          type: string
          maxLength: 24
          pattern: '(^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)\.(?:[0-9]){3}Z$)'
          description: |
            Data e hora original da transação. No primeiro momento, as instituições poderão complementar informações faltantes com 0 (Por exemplo: 2016-01-29T00:00:00.000Z). A partir de 31/01/2024 é esperado que o campo seja preenchido com informações reais.
          example: '2016-01-29T12:29:03.374Z'
        partieCnpjCpf:
          type: string
          maxLength: 14
          pattern: '^\d{11}$|^\d{14}$'
          description: |
            Identificação da pessoa envolvida na transação: pagador ou recebedor (Preencher com o CPF ou CNPJ, sem formatação). Exceção a obrigatoriedade de envio: Tipo de transação TED quando se tratar de Transferência entre Reservas (STR0004) e Recebimento de recursos judiciais (STR0051R2).
          example: '43908445778'
        partiePersonType:
          $ref: '#/components/schemas/EnumPartiePersonType'
        partieCompeCode:
          type: string
          maxLength: 3
          pattern: '^\d{3}$'
          description: 'Código identificador atribuído pelo Banco Central do Brasil às instituições participantes do STR (Sistema de Transferência de reservas) referente à pessoa envolvida na transação. O número-código substituiu o antigo código COMPE. Todos os participantes do STR, exceto as Infraestruturas do Mercado Financeiro (IMF) e a Secretaria do Tesouro Nacional, possuem um número-código independentemente de participarem da Centralizadora da Compensação de Cheques (Compe). O campo tem a anotação “n/a” (“não se aplica”) para os participantes do STR aos quais não é atribuído um número-código'
          example: '001'
        partieBranchCode:
          type: string
          maxLength: 4
          pattern: '^\d{4}$'
          description: 'Código da Agência detentora da conta da pessoa envolvida na transação. (Agência é a dependência destinada ao atendimento aos clientes, ao público em geral e aos associados de cooperativas de crédito, no exercício de atividades da instituição, não podendo ser móvel ou transitória)'
          example: '6272'
        partieNumber:
          type: string
          maxLength: 20
          pattern: '^\d{8,20}$'
          description: Número da conta da pessoa envolvida na transação
          example: '67890854360'
        partieCheckDigit:
          type: string
          maxLength: 1
          pattern: '[\w\W\s]*'
          description: Dígito da conta da pessoa envolvida na transação
          example: '4'
    AccountTransactionsDataAmount:
      type: object
      description: Valor da transação. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    EnumAccountSubType:
      type: string
      enum:
        - INDIVIDUAL
        - CONJUNTA_SIMPLES
        - CONJUNTA_SOLIDARIA
      description: |
        Subtipo de conta (vide Enum): 
        Conta individual - possui um único titular
        Conta conjunta simples - onde as movimentações financeiras só podem serem realizadas mediante autorização de TODOS os correntistas da conta.
        Conta conjunta solidária - é a modalidade cujos titulares podem realizar movimentações de forma isolada, isto é, sem que seja necessária a autorização dos demais titulares
      example: INDIVIDUAL
    EnumAccountType:
      type: string
      enum:
        - CONTA_DEPOSITO_A_VISTA
        - CONTA_POUPANCA
        - CONTA_PAGAMENTO_PRE_PAGA
      description: |
        Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum
        Conta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante
        Conta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado
        Conta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de  2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'
      example: CONTA_DEPOSITO_A_VISTA
    EnumCompletedAuthorisedPaymentIndicator:
      type: string
      description: |
        Indicador da transação: 
          - Transação efetivada: a transação atinge esse status quando o `transactionId` torna-se imutável;
          - Lançamento futuro: a transação será efetivada em momento futuro, ou seja, o `transactionId` pode mudar;
          - Transação processando: a transação está em processamento, ou seja, o `transactionId` pode mudar.
      enum:
        - TRANSACAO_EFETIVADA
        - LANCAMENTO_FUTURO
        - TRANSACAO_PROCESSANDO
      example: TRANSACAO_EFETIVADA
    EnumCreditDebitIndicator:
      type: string
      description: |
        Indicador do tipo de lançamento: 
        Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente.
        Crédito (no extrato) Em um extrato bancário, os créditos, marcados com a letra “C” ao lado do valor registrado, informam as entradas de dinheiro na conta-corrente.
      enum:
        - CREDITO
        - DEBITO
      example: DEBITO
    EnumPartiePersonType:
      type: string
      enum:
        - PESSOA_NATURAL
        - PESSOA_JURIDICA
      example: PESSOA_NATURAL
      description: |
        Identificação do Tipo de Pessoa da pessoa envolvida na transação.   
        Pessoa Natural - Informar CPF no campo “payerCnpjCpf”.   
        Pessoa Jurídica - Informar CNPJ no campo “payerCnpjCpf”.
    EnumTransactionTypes:
      type: string
      description: |
        O campo deve classificar a transação em um dos tipos descritos. O transmissor deve classificar as transações disponíveis associando-a a um dos itens do Enum listado neste campo. 
        A opção OUTROS só deve ser utilizada para os casos em que de fato a transação compartilhada não possa ser classificada como um dos itens deste Enum.
      enum:
        - TED
        - DOC
        - PIX
        - TRANSFERENCIA_MESMA_INSTITUICAO
        - BOLETO
        - CONVENIO_ARRECADACAO
        - PACOTE_TARIFA_SERVICOS
        - TARIFA_SERVICOS_AVULSOS
        - FOLHA_PAGAMENTO
        - DEPOSITO
        - SAQUE
        - CARTAO
        - ENCARGOS_JUROS_CHEQUE_ESPECIAL
        - RENDIMENTO_APLIC_FINANCEIRA
        - PORTABILIDADE_SALARIO
        - RESGATE_APLIC_FINANCEIRA
        - OPERACAO_CREDITO
        - OUTROS
      example: PIX
    Links:
      type: object
      description: Referências para outros recusos da API requisitada.
      required:
        - self
      properties:
        self:
          type: string
          format: uri
          maxLength: 2000
          description: URI completo que gerou a resposta atual.
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
        first:
          type: string
          format: uri
          maxLength: 2000
          description: URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
        prev:
          type: string
          format: uri
          maxLength: 2000
          description: "URI da página anterior dessa lista de resultados. Restrição - \tObrigatório quando não for a primeira página da resposta"
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
        next:
          type: string
          format: uri
          maxLength: 2000
          description: URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
        last:
          type: string
          format: uri
          maxLength: 2000
          description: URI da última página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
    TransactionsLinks:
      type: object
      description: Referências para outros recusos da API requisitada.
      required:
        - self
      properties:
        self:
          type: string
          format: uri
          maxLength: 2000
          description: URI completo que gerou a resposta atual.
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
        first:
          type: string
          format: uri
          maxLength: 2000
          description: URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
        prev:
          type: string
          format: uri
          maxLength: 2000
          description: "URI da página anterior dessa lista de resultados. Restrição - \tObrigatório quando não for a primeira página da resposta"
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
        next:
          type: string
          format: uri
          maxLength: 2000
          description: URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta
          example: 'https://api.banco.com.br/open-banking/api/v1/resource'
          pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
    Meta:
      type: object
      description: Meta informações referente à API requisitada.
      required:
        - totalRecords
        - totalPages
        - requestDateTime
      properties:
        totalRecords:
          type: integer
          format: int32
          description: Número total de registros no resultado
          example: 1
        totalPages:
          type: integer
          format: int32
          description: Número total de páginas no resultado
          example: 1
        requestDateTime:
          description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.'
          type: string
          maxLength: 20
          format: date-time
          example: '2021-05-21T08:30:00Z'
    MetaOnlyRequestDateTime:
      type: object
      description: Meta informações referente à API requisitada.
      required:
        - requestDateTime
      properties:
        requestDateTime:
          description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.'
          type: string
          maxLength: 20
          format: date-time
          example: '2021-05-21T08:30:00Z'
    ResponseAccountList:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          description: 'Lista de contas depósito à vista, poupança e pagamento pré-pagas mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento'
          minItems: 0
          items:
            $ref: '#/components/schemas/AccountData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseAccountBalances:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          $ref: '#/components/schemas/AccountBalancesData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseAccountIdentification:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          $ref: '#/components/schemas/AccountIdentificationData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseAccountOverdraftLimits:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          $ref: '#/components/schemas/AccountOverdraftLimitsData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseAccountTransactions:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          description: |
            Lista dos lançamentos referentes às transações realizadas e de lançamentos futuros para as contas de: depósito à vista, poupança e de pagamento pré-paga
          minItems: 0
          items:
            $ref: '#/components/schemas/AccountTransactionsData'
        links:
          $ref: '#/components/schemas/TransactionsLinks'
        meta:
          $ref: '#/components/schemas/MetaOnlyRequestDateTime'
    ResponseErrorMetaSingle:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          minItems: 1
          maxItems: 13
          items:
            type: object
            required:
              - code
              - title
              - detail
            properties:
              code:
                description: Código de erro específico do endpoint
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              title:
                description: Título legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              detail:
                description: Descrição legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 2048
        meta:
          $ref: '#/components/schemas/MetaOnlyRequestDateTime'
    ResponseError:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          minItems: 1
          maxItems: 13
          items:
            type: object
            required:
              - code
              - title
              - detail
            properties:
              code:
                description: Código de erro específico do endpoint
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              title:
                description: Título legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              detail:
                description: Descrição legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 2048
        meta:
          $ref: '#/components/schemas/Meta'
    XFapiInteractionId:
      type: string
      pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$'
      maxLength: 100
      description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.'
  parameters:
    accountId:
      name: accountId
      in: path
      description: 'Identificador da conta de depósito à vista, de poupança ou de pagamento pré-paga.'
      required: true
      schema:
        type: string
        pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$'
        maxLength: 100
    accountType:
      name: accountType
      description: 'Tipos de contas. Modalidades tradicionais previstas pela Resolução 4.753, não contemplando contas vinculadas, conta de domiciliados no exterior, contas em moedas estrangeiras e conta correspondente moeda eletrônica. Vide Enum.'
      required: false
      in: query
      schema:
        $ref: '#/components/schemas/EnumAccountType'
    Authorization:
      name: Authorization
      in: header
      description: Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
      required: true
      schema:
        type: string
        pattern: '[\w\W\s]*'
        maxLength: 2048
    creditDebitIndicator:
      name: creditDebitIndicator
      description: Indicador do tipo de lançamento
      required: false
      in: query
      schema:
        $ref: '#/components/schemas/EnumCreditDebitIndicator'
    fromBookingDate:
      name: fromBookingDate
      description: 'Data inicial de filtragem. [Restrição] Deve obrigatoriamente ser enviado caso o campo toBookingDate seja informado. Caso não seja informado, deve ser assumido o dia atual.'
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    fromBookingDateMaxLimited:
      in: query
      name: fromBookingDate
      description: |
        Data inicial de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6).   
        [Restrição] Deve obrigatoriamente ser enviado caso o campo toBookingDate seja informado. 
        Caso não seja informado, deve ser assumido o dia atual.
      required: false
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    toBookingDateMaxLimited:
      in: query
      name: toBookingDate
      description: |
        Data final de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6).   
        [Restrição] Deve obrigatoriamente ser enviado caso o campo fromBookingDate seja informado. 
        Caso não seja informado, deve ser assumido o dia atual.
      required: false
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    pagination-key:
      name: pagination-key
      in: query
      description: 'Identificador de rechamada, utilizado para evitar a contagem de chamadas ao endpoint durante a paginação.'
      schema:
        type: string
        maxLength: 2048
        pattern: '[\w\W\s]*'
    page:
      name: page
      in: query
      description: Número da página que está sendo requisitada (o valor da primeira página é 1).
      schema:
        type: integer
        default: 1
        minimum: 1
        maximum: 2147483647
        format: int32
    pageSize:
      name: page-size
      in: query
      description: Quantidade total de registros por páginas.
      schema:
        type: integer
        default: 25
        minimum: 1
        format: int32
        maximum: 1000
    toBookingDate:
      name: toBookingDate
      description: 'Data final de filtragem. [Restrição] Deve obrigatoriamente ser enviado caso o campo fromBookingDate seja informado. Caso não seja informado, deve ser assumido o dia atual.'
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    xCustomerUserAgent:
      name: x-customer-user-agent
      in: header
      description: Indica o user-agent que o usuário utiliza.
      required: false
      schema:
        type: string
        pattern: '[\w\W\s]*'
        minLength: 1
        maxLength: 100
    xFapiAuthDate:
      name: x-fapi-auth-date
      in: header
      description: 'Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a [RFC7231](https://tools.ietf.org/html/rfc7231).Exemplo: Sun, 10 Sep 2017 19:43:31 UTC'
      required: false
      schema:
        type: string
        pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$'
        minLength: 29
        maxLength: 29
    xFapiCustomerIpAddress:
      name: x-fapi-customer-ip-address
      in: header
      description: O endereço IP do usuário se estiver atualmente logado com o receptor.
      required: false
      schema:
        type: string
        pattern: '[\w\W\s]*'
        minLength: 1
        maxLength: 100
    xFapiInteractionId:
      name: x-fapi-interaction-id
      in: header
      description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.'
      required: false
      schema:
        type: string
        pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$'
        minLength: 1
        maxLength: 100
  securitySchemes:
    OpenId:
      type: openIdConnect
      openIdConnectUrl: 'https://auth.mockbank.poc.raidiam.io/.well-known/openid-configuration'
    OAuth2Security:
      type: oauth2
      description: Fluxo OAuth necessário para que a receptora tenha acesso aos dados na instituição transmissora. Requer o processo de redirecionamento e autenticação do usuário a que se referem os dados.
      flows:
        authorizationCode:
          authorizationUrl: 'https://authserver.example/authorization'
          tokenUrl: 'https://authserver.example/token'
          scopes:
            accounts: Escopo necessário para acesso à API Accounts. O controle dos endpoints específicos é feito via permissions.
  responses:
    OKResponseAccountList:
      description: Dados de identificação das contas obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseAccountList'
    OKResponseAccountIdentification:
      description: Dados de identificação da conta identificada por accountId obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseAccountIdentification'
    OKResponseAccountBalances:
      description: Dados relativos aos saldos da conta identificada por accountId obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseAccountBalances'
    OKResponseAccountTransactions:
      description: Dados da lista de transações da conta identificada por accountId obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseAccountTransactions'
    OKResponseAccountOverdraftLimits:
      description: Dados de limites da conta identificada por accountId obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseAccountOverdraftLimits'
    BadRequest:
      description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    Forbidden:
      description: O token tem escopo incorreto ou uma política de segurança foi violada
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    GatewayTimeout:
      description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    InternalServerError:
      description: Ocorreu um erro no gateway da API ou no microsserviço
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    Locked:
      description: Locked
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    MethodNotAllowed:
      description: O consumidor tentou acessar o recurso com um método não suportado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    NotAcceptable:
      description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    NotFound:
      description: O recurso solicitado não existe ou não foi implementado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    TooManyRequests:
      description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    Unauthorized:
      description: Cabeçalho de autenticação ausente/inválido ou token inválido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    UnprocessableEntity:
      description: 'A sintaxe da requisição esta correta, mas não foi possível processar as instruções presentes.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    SiteIsOverloaded:
      description: 'O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    Default:
      description: Erro inesperado.
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    BadRequestWithAdditionalProperties:
      description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    ForbiddenWithAdditionalProperties:
      description: O token tem escopo incorreto ou uma política de segurança foi violada
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    GatewayTimeoutWithAdditionalProperties:
      description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    InternalServerErrorWithAdditionalProperties:
      description: Ocorreu um erro no gateway da API ou no microsserviço
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    LockedWithAdditionalProperties:
      description: Locked
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    MethodNotAllowedWithAdditionalProperties:
      description: O consumidor tentou acessar o recurso com um método não suportado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    NotAcceptableWithAdditionalProperties:
      description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    NotFoundWithAdditionalProperties:
      description: O recurso solicitado não existe ou não foi implementado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    TooManyRequestsWithAdditionalProperties:
      description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    UnauthorizedWithAdditionalProperties:
      description: Cabeçalho de autenticação ausente/inválido ou token inválido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    UnprocessableEntityWithAdditionalProperties:
      description: 'A sintaxe da requisição esta correta, mas não foi possível processar as instruções presentes.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    DefaultWithAdditionalProperties:
      description: Erro inesperado.
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    SiteIsOverloadedWithAdditionalProperties:
      description: 'O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
