openapi: 3.2.0 info: title: Open Banking Brasil Accounts API description: API de contas de depósito à vista, contas de poupança e contas pré-pagas do Open Banking Brasil – Fase 2. version: 1.0.3 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 contact: name: Governança do Open Banking 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/v1 description: Servidor de Produção - url: https://apih.banco.com.br/open-banking/accounts/v1 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' responses: '200': $ref: '#/components/responses/OKResponseAccountList' '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' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/OKResponseAccountList' 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/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' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/OKResponseAccountIdentification' 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/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' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/OKResponseAccountBalances' 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' 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' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/OKResponseAccountTransactions' 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/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' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/OKResponseAccountOverdraftLimits' security: - OpenId: - openid OAuth2Security: - consent:consentId - accounts components: responses: 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' 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' 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/ResponseError' 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/ResponseError' NotFound: description: O recurso solicitado não existe ou não foi implementado content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' Unauthorized: description: Cabeçalho de autenticação ausente/inválido ou token inválido content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' 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' 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/ResponseError' 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' 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/ResponseError' InternalServerError: description: Ocorreu um erro no gateway da API ou no microsserviço content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' 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' 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/ResponseError' parameters: 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' creditDebitIndicator: name: creditDebitIndicator description: Indicador do tipo de lançamento required: false in: query schema: $ref: '#/components/schemas/EnumCreditDebitIndicator' 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 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' 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 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 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 format: int32 maximum: 1000 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 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 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 schemas: ResponseAccountBalances: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/AccountBalancesData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' additionalProperties: false ResponseAccountList: type: object required: - data - links - meta properties: data: type: array items: $ref: '#/components/schemas/AccountData' minItems: 0 maxItems: 1000 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 links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' additionalProperties: false EnumTransactionTypes: type: string description: 'Tipo de Transação ' 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 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 additionalProperties: false meta: $ref: '#/components/schemas/Meta' additionalProperties: false EnumAccountSubType: type: string enum: - INDIVIDUAL - CONJUNTA_SIMPLES - CONJUNTA_SOLIDARIA description: "Subtipo de conta (vide Enum): \nConta individual - possui um único titular\nConta conjunta simples - onde as movimentações financeiras só podem serem realizadas mediante autorização de TODOS os correntistas da conta.\nConta 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\n" example: INDIVIDUAL 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” ' EnumCompletedAuthorisedPaymentIndicator: type: string description: "Indicador da transação: \n- Transação efetivada\n- Lançamento futuro\n" enum: - TRANSACAO_EFETIVADA - LANCAMENTO_FUTURO example: TRANSACAO_EFETIVADA ResponseAccountIdentification: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/AccountIdentificationData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' additionalProperties: false Meta: type: object description: Meta informações referente à API requisitada. required: - totalRecords - totalPages - requestDateTime properties: totalRecords: type: integer format: int32 maximum: 1000 minimum: 0 description: Número total de registros no resultado example: 1 totalPages: type: integer format: int32 maximum: 1000 minimum: 0 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' additionalProperties: false AccountData: type: object required: - brandName - companyCnpj - type - compeCode - branchCode - number - checkDigit - accountId properties: brandName: type: string description: Nome da Marca reportada pelo participante do Open Banking. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes. maxLength: 80 pattern: '[\w\W\s]*' example: Organização A companyCnpj: type: string maxLength: 14 pattern: \d{14}|^NA$ 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}|^NA$ 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) pattern: \d{4}|^NA$ maxLength: 4 example: '6272' number: type: string description: Número da conta pattern: ^\d{8,20}$|^NA$ 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 example: '92792126019929279212650822221989319252576' additionalProperties: false ResponseAccountTransactions: type: object required: - data - links - meta properties: data: type: array items: $ref: '#/components/schemas/AccountTransactionsData' minItems: 0 maxItems: 1000 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 ' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' additionalProperties: false AccountTransactionsData: type: object required: - completedAuthorisedPaymentType - creditDebitType - transactionName - type - amount - transactionCurrency - transactionDate - partieCnpjCpf - partiePersonType - partieCompeCode - partieBranchCode - partieNumber - partieCheckDigit 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. maxLength: 100 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: 60 pattern: '[\w\W\s]*' description: Campo livre que corresponde ao identificador da transação na instituição financeira example: TRANSFCWAR5TXHCX5I9IDBHML8082N8NEO30M6LNNG7ANAYIJYRM00ZBZPU8 type: $ref: '#/components/schemas/EnumTransactionTypes' amount: type: number format: double pattern: ^-?\d{1,15}\.\d{2,4}$ description: Valor da transação. Expressa em valor monetário com 4 casas decimais. minimum: 0 maximum: 100000000000000000000 example: 500.54 transactionCurrency: type: string pattern: ^(\w{3}){1}$ maxLength: 3 description: Moeda referente ao valor da transação, segundo modelo ISO-4217. p.ex. 'BRL'. example: BRL 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' partieCnpjCpf: type: string maxLength: 14 pattern: ^\d{11}$|^\d{14}$|^NA$ description: 'Identificação da pessoa envolvida na transação: pagador ou recebedor (Preencher com o CPF ou CNPJ, sem formatação) ' example: '43908445778' partiePersonType: $ref: '#/components/schemas/EnumPartiePersonType' partieCompeCode: type: string maxLength: 3 pattern: \d{3}|^NA$ 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}|^NA$ 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}$|^NA$ 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' additionalProperties: false AccountIdentificationData: type: object description: 'Conjunto dos atributos que caracterizam as Contas de: depósito à vista, poupança e de pagamento pré-paga ' required: - compeCode - branchCode - number - checkDigit - type - subtype - currency properties: compeCode: type: string maxLength: 3 pattern: \d{3}|^NA$ 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}|^NA$ 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) ' example: '6272' number: type: string maxLength: 20 pattern: ^\d{8,20}$|^NA$ 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' \nTodos os saldos informados estão representados com a moeda vigente do Brasil\n" example: BRL additionalProperties: false 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. 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 ResponseAccountOverdraftLimits: type: object required: - data - links - meta properties: data: $ref: '#/components/schemas/AccountOverdraftLimitsData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' additionalProperties: false EnumCreditDebitIndicator: type: string description: "Indicador do tipo de lançamento: \nDé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.\nCré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.\n" enum: - CREDITO - DEBITO example: DEBITO AccountBalancesData: type: object description: 'Conjunto de informações das Contas de: depósito à vista, poupança e de pagamento pré-paga ' required: - availableAmount - availableAmountCurrency - blockedAmount - blockedAmountCurrency - automaticallyInvestedAmount - automaticallyInvestedAmountCurrency properties: availableAmount: type: - number - 'null' format: double pattern: ^-?\d{1,15}\.\d{2,4}$ 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. Admite saldo negativo. Expresso em valor monetário com 4 casas decimais. minimum: 0 maximum: 100000000000000000000 example: 100000.04 availableAmountCurrency: type: string pattern: ^(\w{3}){1}$ maxLength: 3 description: Moeda referente ao valor do saldo disponível, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação. example: BRL blockedAmount: type: - number - 'null' format: double pattern: ^-?\d{1,15}\.\d{2,4}$ 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 4 casas decimais. maxLength: 20 minLength: 0 minimum: 0 maximum: 100000000000000000000 example: 99.9999 blockedAmountCurrency: type: string pattern: ^(\w{3}){1}$ maxLength: 3 description: Moeda referente ao valor do saldo bloqueado, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação. example: BRL automaticallyInvestedAmount: type: - number - 'null' format: double pattern: ^-?\d{1,15}\.\d{2,4}$ 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 4 casas decimais. maxLength: 20 minLength: 0 minimum: 0 maximum: 100000000000000000000 example: 100000.04 automaticallyInvestedAmountCurrency: type: string pattern: ^(\w{3}){1}$ maxLength: 3 description: Moeda referente ao valor do saldo disponível com aplicação automática, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação. example: BRL additionalProperties: false 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@:%_\+.~#?&\/\/=]*)$ additionalProperties: false AccountOverdraftLimitsData: type: object description: 'Conjunto de informações da Conta de: depósito à vista ' required: - overdraftContractedLimit - overdraftContractedLimitCurrency - overdraftUsedLimit - overdraftUsedLimitCurrency - unarrangedOverdraftAmount - unarrangedOverdraftAmountCurrency properties: overdraftContractedLimit: type: - number - 'null' format: double pattern: ^-?\d{1,15}\.\d{2,4}$ description: Valor do limite contratado do cheque especial. minimum: 0 maximum: 100000000000000000000 example: 99.9999 overdraftContractedLimitCurrency: type: string pattern: ^(\w{3}){1}$ maxLength: 3 description: Moeda referente ao valor do limite contratado do cheque especial, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação. example: BRL overdraftUsedLimit: type: - number - 'null' format: double pattern: ^-?\d{1,15}\.\d{2,4}$ description: Valor utilizado total do limite do cheque especial e o adiantamento a depositante. minimum: 0 maximum: 100000000000000000000 example: 10000.9999 overdraftUsedLimitCurrency: type: string pattern: ^(\w{3}){1}$ maxLength: 3 description: Moeda referente ao valor utilizado total do limite do cheque especial e o adiantamento a depositante, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação. example: BRL unarrangedOverdraftAmount: type: - number - 'null' format: double pattern: ^-?\d{1,15}\.\d{2,4}$ 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. minimum: 0 maximum: 100000000000000000000 example: 99.9999 unarrangedOverdraftAmountCurrency: type: string pattern: ^(\w{3}){1}$ maxLength: 3 description: Moeda referente ao 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, segundo modelo ISO-4217. p.ex. 'BRL'. Pode ser preenchido com “NA” caso a instituição não possua a informação. example: BRL additionalProperties: false 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.