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** ### `/accounts/{accountId}/reserved_balances` - permissions: - GET: **ACCOUNTS_BALANCES_READ** ## Data de imutabilidade por tipo de transação​ O identificador de transações de contas é de envio obrigatório no Open Finance Brasil. De acordo com o tipo da transação deve haver o envio de um identificador único, estável e imutável em D0 ou D+1, conforme tabela abaixo ``` |---------------------------------------|-------------------------|-----------------------| | 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 | |---------------------------------------|-------------------------|-----------------------| ``` Para consultar as regras aplicáveis ao comportamento do transacionID de acordo com o status da transação, consultar a página [Orientações - Contas](https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/193658890) version: 2.5.0-beta.1 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/BadRequestMetaSingle' '401': $ref: '#/components/responses/UnauthorizedMetaSingle' '403': $ref: '#/components/responses/ForbiddenMetaSingle' '404': $ref: '#/components/responses/NotFoundMetaSingle' '405': $ref: '#/components/responses/MethodNotAllowedMetaSingle' '406': $ref: '#/components/responses/NotAcceptableMetaSingle' '422': $ref: '#/components/responses/UnprocessableEntityMetaSingle' '423': $ref: '#/components/responses/LockedMetaSingle' '429': $ref: '#/components/responses/TooManyRequestsMetaSingle' '500': $ref: '#/components/responses/InternalServerErrorMetaSingle' '504': $ref: '#/components/responses/GatewayTimeoutMetaSingle' '529': $ref: '#/components/responses/SiteIsOverloadedMetaSingle' default: $ref: '#/components/responses/DefaultMetaSingle' 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/BadRequestMetaSingle' '401': $ref: '#/components/responses/UnauthorizedMetaSingle' '403': $ref: '#/components/responses/ForbiddenMetaSingle' '404': $ref: '#/components/responses/NotFoundMetaSingle' '405': $ref: '#/components/responses/MethodNotAllowedMetaSingle' '406': $ref: '#/components/responses/NotAcceptableMetaSingle' '422': $ref: '#/components/responses/UnprocessableEntityMetaSingle' '423': $ref: '#/components/responses/LockedMetaSingle' '429': $ref: '#/components/responses/TooManyRequestsMetaSingle' '500': $ref: '#/components/responses/InternalServerErrorMetaSingle' '504': $ref: '#/components/responses/GatewayTimeoutMetaSingle' '529': $ref: '#/components/responses/SiteIsOverloadedMetaSingle' default: $ref: '#/components/responses/DefaultMetaSingle' 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/BadRequestMetaSingle' '401': $ref: '#/components/responses/UnauthorizedMetaSingle' '403': $ref: '#/components/responses/ForbiddenMetaSingle' '404': $ref: '#/components/responses/NotFoundMetaSingle' '405': $ref: '#/components/responses/MethodNotAllowedMetaSingle' '406': $ref: '#/components/responses/NotAcceptableMetaSingle' '422': $ref: '#/components/responses/UnprocessableEntityMetaSingle' '423': $ref: '#/components/responses/LockedMetaSingle' '429': $ref: '#/components/responses/TooManyRequestsMetaSingle' '500': $ref: '#/components/responses/InternalServerErrorMetaSingle' '504': $ref: '#/components/responses/GatewayTimeoutMetaSingle' '529': $ref: '#/components/responses/SiteIsOverloadedMetaSingle' default: $ref: '#/components/responses/DefaultMetaSingle' 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. É permitida uma consulta máxima que se estenda em 12 meses no passado mais 12 meses no futuro. A lista deve ser ordenada da transação mais recente para a mais antiga. 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/BadRequestMetaSingle' '401': $ref: '#/components/responses/UnauthorizedMetaSingle' '403': $ref: '#/components/responses/ForbiddenMetaSingle' '404': $ref: '#/components/responses/NotFoundMetaSingle' '405': $ref: '#/components/responses/MethodNotAllowedMetaSingle' '406': $ref: '#/components/responses/NotAcceptableMetaSingle' '422': $ref: '#/components/responses/UnprocessableEntityMetaSingle' '423': $ref: '#/components/responses/LockedMetaSingle' '429': $ref: '#/components/responses/TooManyRequestsMetaSingle' '500': $ref: '#/components/responses/InternalServerErrorMetaSingle' '504': $ref: '#/components/responses/GatewayTimeoutMetaSingle' '529': $ref: '#/components/responses/SiteIsOverloadedMetaSingle' default: $ref: '#/components/responses/DefaultMetaSingle' 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 da conta de depósito à vista, poupança ou pagamento pré-paga, identificada por accountId mantida pelo cliente na instituição transmissora. É permitida uma consulta máxima que se estenda em 7 dias no passado mais 12 meses no futuro. A lista deve ser ordenada da transação mais recente para a mais antiga. 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/BadRequestMetaSingle' '401': $ref: '#/components/responses/UnauthorizedMetaSingle' '403': $ref: '#/components/responses/ForbiddenMetaSingle' '404': $ref: '#/components/responses/NotFoundMetaSingle' '405': $ref: '#/components/responses/MethodNotAllowedMetaSingle' '406': $ref: '#/components/responses/NotAcceptableMetaSingle' '422': $ref: '#/components/responses/UnprocessableEntityMetaSingle' '423': $ref: '#/components/responses/LockedMetaSingle' '429': $ref: '#/components/responses/TooManyRequestsMetaSingle' '500': $ref: '#/components/responses/InternalServerErrorMetaSingle' '504': $ref: '#/components/responses/GatewayTimeoutMetaSingle' '529': $ref: '#/components/responses/SiteIsOverloadedMetaSingle' default: $ref: '#/components/responses/DefaultMetaSingle' 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. Para as instituições financeiras transmissoras que possuam contas sem limites associados devem retornar HTTP Status 200 com o objeto “data” vazio, sem nenhum atributo interno. 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/BadRequestMetaSingle' '401': $ref: '#/components/responses/UnauthorizedMetaSingle' '403': $ref: '#/components/responses/ForbiddenMetaSingle' '404': $ref: '#/components/responses/NotFoundMetaSingle' '405': $ref: '#/components/responses/MethodNotAllowedMetaSingle' '406': $ref: '#/components/responses/NotAcceptableMetaSingle' '422': $ref: '#/components/responses/UnprocessableEntityMetaSingle' '423': $ref: '#/components/responses/LockedMetaSingle' '429': $ref: '#/components/responses/TooManyRequestsMetaSingle' '500': $ref: '#/components/responses/InternalServerErrorMetaSingle' '504': $ref: '#/components/responses/GatewayTimeoutMetaSingle' '529': $ref: '#/components/responses/SiteIsOverloadedMetaSingle' default: $ref: '#/components/responses/DefaultMetaSingle' security: - OpenId: - openid OAuth2Security: - 'consent:consentId' - accounts '/accounts/{accountId}/reserved_balances': get: tags: - Accounts summary: Obtém os saldos reservados em produtos caixinhas/reserva. operationId: accountsGetAccountsAccountIdReservedBalances description: Método para obter os saldos reservados em produtos caixinhas/reserva. 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' responses: '200': $ref: '#/components/responses/OKResponseAccountReservedBalances' '400': $ref: '#/components/responses/BadRequestMetaSingle' '401': $ref: '#/components/responses/UnauthorizedMetaSingle' '403': $ref: '#/components/responses/ForbiddenMetaSingle' '404': $ref: '#/components/responses/NotFoundMetaSingle' '405': $ref: '#/components/responses/MethodNotAllowedMetaSingle' '406': $ref: '#/components/responses/NotAcceptableMetaSingle' '422': $ref: '#/components/responses/UnprocessableEntityMetaSingle' '423': $ref: '#/components/responses/LockedMetaSingle' '429': $ref: '#/components/responses/TooManyRequestsMetaSingle' '500': $ref: '#/components/responses/InternalServerErrorMetaSingle' '504': $ref: '#/components/responses/GatewayTimeoutMetaSingle' '529': $ref: '#/components/responses/SiteIsOverloadedMetaSingle' default: $ref: '#/components/responses/DefaultMetaSingle' security: - OpenId: - openid OAuth2Security: - 'consent:consentId' - accounts components: headers: X-V: description: | Cabeçalho que indica a versão implementada da API pela instituição. Deve ser preenchido de forma completa, por exemplo: x-v: 1.0.2 required: true schema: $ref: '#/components/schemas/X-V' 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: 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 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. Não considera cheque especial, investimentos automáticos atrelados a conta e nem reserva de saldo. 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 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. hasReservedBalance: type: boolean description: | Informa se o cliente possui um saldo reservado. Caso o cliente possua reservas de saldo ativas, inclusive nos casos de saldo zerado, o valor enviado deve ser `TRUE`. Caso o cliente não possua o produto, deve ser `FALSE`. Se o campo retornar `TRUE`, os dados do saldo reservado se encontram no endpoint `GET /accounts/{accountId}/reserved_balances` [Restrição] Campo de envio obrigatório pela transmissora que oferta produtos de reservas de saldo atrelados à conta. Este campo refere-se exclusivamente a saldos de reserva que não estão associados a investimentos. Produtos de investimentos devem ser reportados nas APIs de Investimentos. example: true AccountReservedBalancesData: type: array description: Lista de caixinhas/reservas minItems: 0 items: type: object required: - reservedIndentification - availableAmount properties: reservedName: type: string description: Nome dado pelo usuário para a reserva pattern: '^[^\s][\w\W\s]*[^\s]$' maxLength: 248 minLength: 5 example: Caixinha Paras Férias reservedIndentification: type: string description: Identificador único da reserva format: uuid pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' maxLength: 36 minLength: 1 example: d78fc4e5-37ca-4da3-adf2-9b082bf92280 availableAmount: type: array description: Saldo que se encontra disponível na reserva minLength: 1 items: type: object required: - amount - currency properties: amount: type: string description: Valor relacionado ao objeto. format: double pattern: '^\d{1,15}\.\d{2,4}$' maxLength: 20 minLength: 4 example: '1000.0400' currency: type: string description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.' pattern: '^[A-Z]{3}$' maxLength: 3 example: BRL remuneration: type: object description: Remuneração aplicada a reserva required: - rateType - indexer - calculation - ratePeriodicity properties: preFixedRate: type: string description: | Taxa de remuneração pré fixada para a reserva de saldo. p.ex. 0.014500. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). [Restrição] Campo de preenchimento obrigatório pelas participantes quando campo `postFixedIndexerPercentage` não for preenchido format: double pattern: '^\d{1}\.\d{6}$' minLength: 8 maxLength: 8 example: '0.300000' postFixedIndexerPercentage: type: string description: | Percentual do indexador pós fixado para a reserva de saldo. p.ex. 0.014500. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros(representação de porcentagem p.ex: 0.150000. Este valor representa 15%. O valor 1 representa 100%). [Restrição] Campo de preenchimento obrigatório pelas participantes quando campo `preFixedRate` não for preenchido format: double pattern: '^\d{1}\.\d{6}$' minLength: 8 maxLength: 8 example: '0.300000' rateType: type: string description: Tipo da taxa de remuneração (linear ou exponencial) enum: - LINEAR - EXPONENCIAL example: LINEAR indexer: type: string description: Índice utilizado como referência para remuneração da reserva enum: - CDI - DI - TR - IPCA - IGP_M - IGP_DI - INPC - BCP - TLC - SELIC - PRE_FIXADO - OUTROS example: CDI calculation: type: string description: Base de cálculo (dias úteis ou dias corridos) enum: - DIAS_UTEIS - DIAS_CORRIDOS example: DIAS_UTEIS ratePeriodicity: type: string description: Periodicidade da taxa de remuneração (mensal, anual, diário, semestral) enum: - MENSAL - ANUAL - DIARIO - SEMESTRAL example: MENSAL indexerAdditionalInfo: type: string description: | Informações adicionais do indexador [Restrição] Campo de preenchimento obrigatório pelas participantes quando houver `Outros` no campo `indexer` pattern: '[\w\W\s]*' maxLength: 50 example: Dólar AccountData: type: object required: - brandName - companyCnpj - type - compeCode - number - 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: '^[0-9A-Z]{12}[0-9]{2}$' description: 'Registro completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde a representação alfanumérica da inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os caracteres 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 [Restrição] Obrigatoriamente deve ser preenchido quando o campo `type` for diferente de conta pré-paga. Nos casos em que a conta pré-paga possua dígito, o envio é obrigatório. 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 - 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).' 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. [Restrição] Obrigatoriamente deve ser preenchido quando o campo "type" for diferente de conta pré-paga. Nos casos em que a conta pré-paga possua dígito, o envio é obrigatório 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 - 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 digitais da instituição (assim como o histórico de transações apresentado na tela do aplicativo ou do navegador). Caso a instituição possua mais de um canal digital, a informação compartilhada deve ser a do canal que apresenta a descrição mais completa possível da transação. Em casos onde a descrição da transação é apresentada com múltiplas linhas, todas as linhas devem ser enviadas (concatenadas) neste atributo, não sendo obrigatória a concatenação das informações já enviadas em outros atributos (ex: valor, data) do mesmo endpoint. Adicionalmente, o Banco Central pode determinar o formato de compartilhamento a ser adotado por uma instituição participante específica. example: Transferencia Enviada Lima Santos type: $ref: '#/components/schemas/EnumTransactionTypes' typeAdditionalInfo: type: string pattern: '[\w\W\s]*' description: | Informações complementares para tipo de transação. [Restrição] Este campo é de envio obrigatório caso o campo `type` seja definido como `OUTROS`. example: 'APLIC_FINANCEIRA' transactionAmount: $ref: '#/components/schemas/AccountTransactionsDataAmount' 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 que é informada nos canais digitais. Para lançamentos Futuros a data informada deve ser a data prevista de efetivação informada nos canais digitais. Caso a instituição não saiba o horário certo da efetivação, os valores hora, minuto, segundo e milissegundo, podem ser preenchidos com zero. Após a efetivação da transação, o campo deve ser preenchido com a data e a hora da efetivação da transação. example: '2016-01-29T12:29:03.374Z' partieCnpjCpf: type: string maxLength: 14 pattern: '^([0-9]{11}|[0-9A-Z]{12}[0-9]{2})$' description: | Identificação da pessoa envolvida na transação: pagador ou recebedor (Preencher com o CPF ou CNPJ, sem formatação). Com a IN BCB nº 371, a partir de 02/05/23, o envio das informações de identificação de contraparte tornou-se obrigatória para transações de pagamento. Para maiores detalhes, favor consultar a página `Orientações - Contas`. [Restrição] Quando o "type“ for preenchido com valor FOLHA_PAGAMENTO e a transmissora for a responsável pelo pagamento de salário (banco-folha), o partieCnpjCpf informado deve ser do empregador relacionado. 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).' 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' codeISPB: type: string pattern: '^\d{8}$' description: | Código único atribuído pelo Banco Central do Brasil a cada instituição participante do Sistema de Pagamentos. Este campo identifica o ISPB da instituição contraparte da transação e deve ser preenchido de acordo com o atributo que indica o sentido financeiro da transação, de acordo com o campo `creditDebitType`: - Para transações de `CREDITO` (entrada de recursos na conta): informar o ISPB da instituição de origem dos recursos. - Para transações de `DEBITO` (saída de recursos na conta): informar o ISPB da instituição de destino dos recursos. example: '00300300' 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 “partieCnpjCpf”. Pessoa Jurídica - Informar CNPJ no campo “partieCnpjCpf”. 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. Por exemplo no caso de recebimento de pensão alimentícia. 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 - TRANSFERENCIA_SALDO_RESERVADO - OUTROS example: PIX Links: type: object description: Referências para outros recusos da API requisitada. required: - self properties: self: type: string format: url maxLength: 4048 description: URI completo que gerou a resposta atual. example: 'https://api.banco.com.br/open-banking/api/v2/resource' first: type: string format: url maxLength: 4048 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/v2/resource' prev: type: string format: url maxLength: 4048 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/v2/resource' next: type: string format: url maxLength: 4048 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/v2/resource' last: type: string format: url maxLength: 4048 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/v2/resource' LinksAccountId: type: object description: Referências para outros recusos da API requisitada. required: - self properties: self: type: string format: url maxLength: 4048 description: URI completo que gerou a resposta atual. example: 'https://api.banco.com.br/open-banking/api/v2/resource' first: type: string format: url maxLength: 4048 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/v2/resource' prev: type: string format: url maxLength: 4048 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/v2/resource' next: type: string format: url maxLength: 4048 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/v2/resource' last: type: string format: url maxLength: 4048 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/v2/resource' TransactionsLinks: type: object description: Referências para outros recusos da API requisitada. required: - self properties: self: type: string format: url maxLength: 4048 description: URI completo que gerou a resposta atual. example: 'https://api.banco.com.br/open-banking/api/v2/resource' first: type: string format: url maxLength: 4048 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/v2/resource' prev: type: string format: url maxLength: 4048 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/v2/resource' next: type: string format: url maxLength: 4048 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/v2/resource' 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' ResponseReservedBalances: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/AccountReservedBalancesData' 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/LinksAccountId' 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' XFapiInteractionId: type: string format: uuid maxLength: 36 pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' example: d78fc4e5-37ca-4da3-adf2-9b082bf92280 description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' X-V: type: string pattern: '^\d+\.\d+\.\d+$' example: 1.0.0 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 UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' required: true schema: type: string format: uuid minLength: 1 maxLength: 36 pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' example: d78fc4e5-37ca-4da3-adf2-9b082bf92280 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: required: true description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' 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: required: true description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' 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: required: true description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/json: schema: $ref: '#/components/schemas/ResponseAccountBalances' OKResponseAccountReservedBalances: description: Dados relativos aos saldos da conta identificada por accountId obtidos com sucesso. headers: x-fapi-interaction-id: required: true description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/json: schema: $ref: '#/components/schemas/ResponseReservedBalances' OKResponseAccountTransactions: description: Dados da lista de transações da conta identificada por accountId obtidos com sucesso. headers: x-fapi-interaction-id: required: true description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' 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: required: true description: 'Um UUID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação entre request e response. Campo de geração e envio obrigatório pela receptora (client) e o seu valor deve ser “espelhado” pela transmissora (server) no cabeçalho de resposta. Caso não seja recebido ou se for recebido um valor inválido, a transmissora deve gerar um x-fapi-interaction-id e retorná-lo na resposta com o HTTP Status Code 400. A receptora deve acatar o valor recebido da transmissora.' schema: $ref: '#/components/schemas/XFapiInteractionId' x-v: $ref: '#/components/headers/X-V' content: application/json: schema: $ref: '#/components/schemas/ResponseAccountOverdraftLimits' BadRequestMetaSingle: 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' ForbiddenMetaSingle: 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' GatewayTimeoutMetaSingle: 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' InternalServerErrorMetaSingle: description: Ocorreu um erro no gateway da API ou no microsserviço content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorMetaSingle' LockedMetaSingle: description: Locked content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorMetaSingle' MethodNotAllowedMetaSingle: 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' NotAcceptableMetaSingle: 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' NotFoundMetaSingle: description: O recurso solicitado não existe ou não foi implementado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorMetaSingle' TooManyRequestsMetaSingle: 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' UnauthorizedMetaSingle: description: Cabeçalho de autenticação ausente/inválido ou token inválido content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorMetaSingle' UnprocessableEntityMetaSingle: 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' DefaultMetaSingle: description: Erro inesperado. content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorMetaSingle' SiteIsOverloadedMetaSingle: 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'