openapi: 3.0.0 info: title: API OpenData Accounts do Open Finance Brasil description: A API descrita neste documento é referente as API Accounts da fase OpenData do Open Finance Brasil. version: 1.0.0 contact: url: 'https://servicedesk.openbankingbrasil.org.br/Login.jsp?navLanguage=pt-BR' servers: - url: 'http://api.banco.com.br/open-banking/opendata-accounts/v1' tags: - name: Accounts description: Operações para listagem de contas. paths: /personal-accounts: get: tags: - Accounts summary: Obtém dados das contas pessoa natural description: Obtém dados das contas operationId: getPersonalAccounts parameters: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" responses: '200': description: Dados sobre contas pessoa natural obtidos com sucesso. content: application/json: schema: $ref: '#/components/schemas/ResponsePersonalAccounts' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' /business-accounts: get: tags: - Accounts summary: Obtém dados das contas pessoa jurídica description: Obtém dados das contas pessoa jurídica operationId: getBusinessAccounts parameters: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" responses: '200': description: Dados sobre contas pessoa jurídica obtidos com sucesso. content: application/json: schema: $ref: '#/components/schemas/ResponseBusinessAccounts' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '405': $ref: '#/components/responses/MethodNotAllowed' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' '504': $ref: '#/components/responses/GatewayTimeout' '529': $ref: '#/components/responses/SiteIsOverloaded' default: $ref: '#/components/responses/Default' components: schemas: AccountsTermsConditions: type: object description: Objeto que reúne informações relativas a Termos e Condições para as modalidades tratadas required: - minimumBalance - elegibilityCriteriaInfo - closingProcessInfo x-regulatory-required: - minimumBalance - elegibilityCriteriaInfo - closingProcessInfo properties: minimumBalance: $ref: '#/components/schemas/MinimumBalance' elegibilityCriteriaInfo: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Critérios de qualificação do cliente com a finalidade de definir sua elegibilidade para a aquisição do tipo de conta. Campo Aberto' example: 'https://example.com/mobile-banking' closingProcessInfo: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Procedimentos de encerramento para o tipo de conta tratado. Possibilidade de inscrição da URL. Endereço eletrônico de acesso ao canal. p.ex. ''https://example.com/mobile-banking'' ' example: 'https://example.com/mobile-banking' ResponsePersonalAccounts: type: object required: - data - links - meta properties: data: type: array minItems: 1 description: Conjunto de informações referente ao produto Contas. items: $ref: '#/components/schemas/PersonalData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' PersonalData: type: object required: - participant - type - openingClosingChannels - transactionMethods - termsConditions x-regulatory-required: - type - fees - openingClosingChannels - openingClosingChannelsAdditionalInfo - transactionMethods properties: participant: type: object description: Conjunto de informações relativas ao participante do Open Finance que oferta este produto. required: - brand - name - cnpjNumber x-regulatory-required: - brand - name - cnpjNumber - urlComplementaryList properties: brand: type: string maxLength: 80 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Nome da Marca reportada pelo participante do Open Finance. 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' example: Organização A name: type: string description: Nome da Instituição, pertencente à marca, responsável pela modalidade de Empréstimos. p.ex.'Empresa da Organização A' maxLength: 80 pattern: '^(?!\s)[\w\W\s]*[^\s]$' example: 'Empresa A1' cnpjNumber: type: string pattern: '^\d{14}$' minLength: 14 maxLength: 14 description: CNPJ example: "50685362000135" urlComplementaryList: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 1024 description: | URL do link que conterá a lista complementar com os nomes e CNPJs agrupados sob o mesmo cnpjNumber. Os contidos nessa lista possuem as mesmas características para produtos e serviços. Endereço eletrônico de acesso ao canal. Será obrigatoriamente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada. Restrição: Será obrigatorimente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada example: 'https://empresadaorganizacaoa.com/complementarylist' type: $ref: '#/components/schemas/AccountType' fees: $ref: '#/components/schemas/AccountFee' serviceBundles: type: array items: $ref: '#/components/schemas/ServiceBundle' minItems: 1 maxItems: 200 description: | Lista dos pacotes de serviços de contas com serviços essenciais padronizados e regulados pela Resolução BC 3919, de 25/11/2010 [Restrição] - Obrigatório quando "type" for igual "CONTA_DEPOSITO_A_VISTA" (conta corrente) ou "CONTA_POUPANCA", porque existem hoje pacotes passíveis de cobrança diferentes dos serviços essenciais (que não são cobrados); - Opcional quando "type" for igual "CONTA_PAGAMENTO_PRE_PAGA" ficando condicionado caso a instituição tenha pacote de serviço atrelado a este tipo de conta. openingClosingChannels: type: array items: $ref: '#/components/schemas/OpeningClosingChannels' minItems: 1 maxItems: 7 description: Lista dos canais para aberturas e encerramento openingClosingChannelsAdditionalInfo: type: string maxLength: 140 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: | Campo livre para preenchimento das informações adicionais referente ao "openingClosingChannels". [Restrição] Obrigatório quando "openingClosingChannels" for igual 'OUTROS'. example: Informações adicionais transactionMethods: type: array items: $ref: '#/components/schemas/TransactionMethods' minItems: 1 maxItems: 4 description: Lista de formas de movimentação termsConditions: $ref: '#/components/schemas/AccountsTermsConditions' incomeRate: $ref: '#/components/schemas/AccountsIncomeRate' AccountFee: type: object description: Objeto que reúne informações de tarifas de serviços. x-regulatory-required: - priorityServices properties: priorityServices: type: array items: $ref: '#/components/schemas/AccountPriorityService' minItems: 1 maxItems: 40 description: | Lista das tarifas cobradas sobre serviços prioritários. [Restrição] Obrigatório quando "type" for igual "CONTA_DEPOSITO_A_VISTA" ou "CONTA_POUPANCA" otherServices: type: array items: $ref: '#/components/schemas/AccountOtherService' minItems: 1 maxItems: 100 description: Lista das Tarifas cobradas sobre outros Serviços, que não prioritários AccountPriorityService: type: object required: - name - code - chargingTriggerInfo - prices - minimum - maximum x-regulatory-required: - name - code - chargingTriggerInfo - prices - minimum - maximum properties: name: $ref: '#/components/schemas/PriorityServiceName' code: $ref: '#/components/schemas/AccountPriorityServiceCode' chargingTriggerInfo: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Fatos geradores de cobrança que incidem sobre os serviços prioritários, segundo Resolução 3.919 do Bacen, para pessoa natural.' example: 'Fornecimento de extrato com a movimentação de um período em guichê de caixa ou por outras formas de atendimento pessoal, tal como atendimento telefônico realizado por atendente.' prices: type: array items: $ref: '#/components/schemas/PersonalAccountPriorityServicePrice' minItems: 4 maxItems: 4 description: Lista distribuição preços tarifas de serviços minimum: $ref: '#/components/schemas/PriorityServiceMinimumPrice' maximum: $ref: "#/components/schemas/PriorityServiceMaximumPrice" AccountType: type: string enum: - CONTA_DEPOSITO_A_VISTA - CONTA_POUPANCA - CONTA_PAGAMENTO_PRE_PAGA description: | Tipos de contas ofertadas para pessoa natural ou jurídica, p.ex. 'CONTA_DEPOSITO_A_VISTA'. 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 OpeningClosingChannels: type: string enum: - DEPENDENCIAS_PROPRIAS - CORRESPONDENTES_BANCARIOS - INTERNET_BANKING - MOBILE_BANKING - CENTRAL_TELEFONICA - CHAT - OUTROS description: Canais disponíveis para abertura e encerramento de contas, p.ex. 'DEPENDENCIAS_PROPRIAS' example: DEPENDENCIAS_PROPRIAS TransactionMethods: type: string enum: - MOVIMENTACAO_ELETRONICA - MOVIMENTACAO_CHEQUE - MOVIMENTACAO_CARTAO - MOVIMENTACAO_PRESENCIAL description: Lista de formas de movimentação possíveis para a conta example: MOVIMENTACAO_CARTAO PriorityServiceName: type: string enum: - CONFECCAO_CADASTRO_INICIO_RELACIONAMENTO - FORNECIMENTO_2_VIA_CARTAO_FUNCAO_DEBITO - FORNECIMENTO_2_VIA_CARTAO_FUNCAO_MOVIMENTACAO_CONTA_POUPANCA - EXCLUSAO_CADASTRO_EMITENTES_CHEQUES_SEM_FUNDO_CCF - CONTRA_ORDEM_REVOGACAO_E_OPOSICAO_OU_SUSTACAO_PAGAMENTO_CHEQUE - FORNECIMENTO_FOLHAS_CHEQUE - CHEQUE_ADMINISTRATIVO - CHEQUE_VISADO - SAQUE_CONTA_DEPOSITO_A_VISTA_POUPANCA_PRESENCIAL_OU_PESSOAL - SAQUE_CONTA_DEPOSITO_A_VISTA_POUPANCA_TERMINAL_AUTOATENDIMENTO - SAQUE_CONTA_DEPOSITO_A_VISTA_POUPANCA_CORRESPONDENTES_PAIS - DEPOSITO_IDENTIFICADO - FORNECIMENTO_EXTRATO_MENSAL_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_PRESENCIAL_OU_PESSOAL - FORNECIMENTO_EXTRATO_MENSAL_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_TERMINAL_AUTOATENDIMENTO - FORNECIMENTO_EXTRATO_MENSAL_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_CORRESPONDENTES_PAIS - FORNECIMENTO_EXTRATO_DE_UM_PERIODO_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_PRESENCIAL_OU_PESSOAL - FORNECIMENTO_EXTRATO_DE_UM_PERIODO_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_TERMINAL_AUTOATENDIMENTO - FORNECIMENTO_EXTRATO_DE_UM_PERIODO_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_CORRESPONDENTES_PAIS - FORNECIMENTO_COPIA_MICROFILME_MICROFICHA_ASSEMELHADO - TRANSFERENCIA_DOC_PESSOAL_OU_PRESENCIAL - TRANSFERENCIA_DOC_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS - TRANSFERENCIA_DOC_INTERNET - TRANSFERENCIA_TED_PESSOAL_OU_PRESENCIAL - TRANSFERENCIA_TED_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS - TRANSFERENCIA_TED_INTERNET - TRANSFERENCIA_DOC_TED_PESSOAL_OU_PRESENCIAL - TRANSFERENCIA_DOC_TED_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS - TRANSFERENCIA_DOC_TED_INTERNET - TRANSFERENCIA_ENTRE_CONTAS_PROPRIA_INSTITUICAO_PESSOAL_OU_PRESENCIAL - TRANSFERENCIA_ENTRE_CONTAS_PROPRIA_INSTITUICAO_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS_INCLUSIVE_INTERNET - ORDEM_PAGAMENTO - ANUIDADE_CARTAO_BASICO_NACIONAL - ANUIDADE_CARTAO_BASICO_INTERNACIONAL - ANUIDADE_DIFERENCIADA - UTILIZACAO_CANAIS_ATENDIMENTO_RETIRADA_ESPECIE_BRASIL - UTILIZACAO_CANAIS_ATENDIMENTO_RETIRADA_ESPECIE_EXTERIOR - AVALIACAO_EMERGENCIAL_CREDITO - FORNECIMENTO_SEGUNDA_VIA_FUNCAO_CREDITO - PAGAMENTO_CONTAS_UTILIZANDO_FUNCAO_CREDITO - SMS description: 'Nome dos Serviços prioritários, segundo Resolução 3.919 do Bacen, para pessoa natural.' example: TRANSFERENCIA_TED_PESSOAL_OU_PRESENCIAL AccountOtherService: type: object required: - name - code - chargingTriggerInfo - prices - minimum - maximum x-regulatory-required: - name - code - chargingTriggerInfo - prices - minimum - maximum properties: name: type: string maxLength: 250 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Nome do Serviço que incide sobre tipo de conta (Campo Livre)' example: Evento personalizado code: type: string maxLength: 100 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Siglas de identificação do Serviço (Campo Livre)' example: TALAO_DOMICILIO chargingTriggerInfo: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: Fatos geradores de cobrança que incidem sobre outros serviços para pessoa natural. (Campo Livre) example: Cobrança devido a evento personalizado prices: type: array items: $ref: "#/components/schemas/Price" minItems: 4 maxItems: 4 description: Lista distribuição preços tarifas de serviços minimum: $ref: "#/components/schemas/MinimumPrice" maximum: $ref: "#/components/schemas/MaximumPrice" AccountPriorityServiceCode: type: string description: 'Lista das Siglas de identificação do Serviço Prioritário, segundo Resolução 3.919 do Bacen.' example: TARIFA_PAGAMENTO_CONTAS enum: - CADASTRO - 2_VIA_CARTAO_DEBITO - 2_VIA_CARTAO_POUPANCA - EXCLUSAO_CCF - SUSTACAO_REVOGACAO - FOLHA_CHEQUE - CHEQUE_ADMINISTRATIVO - CHEQUE_VISADO - SAQUE_PESSOAL - SAQUE_TERMINAL - SAQUE_CORRESPONDENTE - DEPOSITO_IDENTIFICADO - EXTRATO_MES_P - EXTRATO_MES_E - EXTRATO_MES_C - EXTRATO_MOVIMENTO_P - EXTRATO_MOVIMENTO_E - EXTRATO_MOVIMENTO_C - MICROFILME - DOC_PESSOAL - DOC_ELETRONICO - DOC_INTERNET - TED_PESSOAL - TED_ELETRONICO - TED_INTERNET - DOC_TED_AGENDADO_P - DOC_TED_AGENDADO_E - DOC_TED_AGENDADO_I - TRANSF_RECURSO_P - TRANSF_RECURSO_E - ORDEM_PAGAMENTO - ANUIDADE_NACIONAL - ANUIDADE_INTERNACIONAL - ANUIDADE_DIFERENCIADA - SAQUE_CARTAO_BRASIL - SAQUE_CARTAO_EXTERIOR - AVALIACAO_EMERGENCIAL_CREDITO - EMISSAO_SEGUNDA_VIA - TARIFA_PAGAMENTO_CONTAS - SMS ServiceBundle: type: object required: - name - services - prices - minimum - maximum x-regulatory-required: - name properties: name: type: string maxLength: 250 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: Nome do Pacote de Serviços dado pela instituição. example: Conta de depósitos à vista Movimentação com cartão (sem cheque) services: type: array minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/ServiceBundleServiceDetail' description: Lista dos serviços que compõe o pacote de serviços prices: type: array items: $ref: "#/components/schemas/MonthlyPrice" minItems: 4 maxItems: 4 description: Lista distribuição preços tarifas de serviços minimum: $ref: "#/components/schemas/MinimumPrice" maximum: $ref: "#/components/schemas/MaximumPrice" ServiceBundleServiceDetail: type: object required: - code - chargingTriggerInfo - eventLimitQuantity - freeEventQuantity x-regulatory-required: - code - chargingTriggerInfo - eventLimitQuantity - freeEventQuantity properties: code: type: string maxLength: 100 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: | Código que identifica o Serviço que compõe o Pacote de Serviços, podendo ser da lista de Serviços Prioritários ou Outros Serviços. p.ex. segundo Resolução 3.919 do Bacen: 'SAQUE_TERMINAL'. example: SAQUE_TERMINAL chargingTriggerInfo: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: | Fatos geradores de cobrança que incidem sobre serviço que compõe o Pacote de Serviços. example: Realização de pesquisa em serviços de proteção ao crédito, base de dados e informações cadastrais, e tratamento de dados e informações necessários ao início relacionamento decorrente da abertura de conta de depósitos à vista ou de poupança ou contratação de operação de crédito ou de arrendamento mercantil, não podendo ser cobrada cumulativamente eventLimitQuantity: type: string pattern: ^(\d{1,6}){1}$ minLength: 1 maxLength: 6 description: | Segundo Resolução 4196, BCB, de 2013: Quantidade de eventos previstos no Pacote de Serviços (Número de eventos incluídos no mês) p.ex.'2'. No caso de quantidade ilimitada, reportar 999999 example: '2' freeEventQuantity: type: string pattern: ^(\d{1,6}){1}$ minLength: 1 maxLength: 6 description: | Segundo Resolução 4196, BCB, de 2013: Quantidade de eventos previstos no Pacote de Serviços com isenção de Tarifa.p.ex.'1' No caso de quantidade ilimitada, reportar 999999 example: '1' AccountsIncomeRate: type: object x-regulatory-required: - savingAccount - prepaidPaymentAccount properties: savingAccount: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' example: Remuneração trimestral de x% + TR conforme determinação legal vigente​ description: | Descrição da Remuneração especificamente para Conta de Poupança. Deve ser preenchido com a determinação legal vigente. [Restrição] Obrigatório quando "type" for igual "CONTA_POUPANCA". prepaidPaymentAccount: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: Campo Livre. Deve explicitar o Percentual em favor do titular da conta de pagamento pré-paga. example: '40% Rendimento a.m.' ResponseBusinessAccounts: type: object required: - data - links - meta properties: data: type: array minItems: 1 description: Conjunto de informações referente ao produto Contas. items: $ref: '#/components/schemas/BusinessData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' BusinessData: type: object required: - participant - type - fees - openingClosingChannels - transactionMethods - termsConditions x-regulatory-required: - type - openingClosingChannels - openingClosingChannelsAdditionalInfo - transactionMethods properties: participant: type: object description: Conjunto de informações relativas ao participante do Open Finance que oferta este produto. required: - brand - name - cnpjNumber x-regulatory-required: - brand - name - cnpjNumber - urlComplementaryList properties: brand: type: string maxLength: 80 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Nome da Marca reportada pelo participante do Open Finance. 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' example: Organização A name: type: string description: Nome da Instituição, pertencente à marca, responsável pela modalidade de Empréstimos. p.ex.'Empresa da Organização A' maxLength: 80 pattern: '^(?!\s)[\w\W\s]*[^\s]$' example: 'Empresa A1' cnpjNumber: type: string pattern: '^\d{14}$' minLength: 14 maxLength: 14 description: CNPJ example: "50685362000135" urlComplementaryList: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 1024 description: | URL do link que conterá a lista complementar com os nomes e CNPJs agrupados sob o mesmo cnpjNumber. Os contidos nessa lista possuem as mesmas características para produtos e serviços. Endereço eletrônico de acesso ao canal. Será obrigatoriamente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada. Restrição: Será obrigatorimente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada example: 'https://empresadaorganizacaoa.com/complementarylist' type: $ref: "#/components/schemas/AccountType" fees: type: object description: Objeto que reúne informações de tarifas de serviços. required: - services properties: services: type: array maxItems: 200 items: $ref: '#/components/schemas/BusinessAccountsService' minItems: 1 description: Lista das Tarifas cobradas sobre Serviços serviceBundles: type: array maxItems: 100 items: $ref: "#/components/schemas/ServiceBundle" minItems: 1 description: | Lista dos pacotes de serviços de contas com serviços essenciais padronizados e regulados pela Resolução BC 3919, de 25/11/2010 [Restrição] - Obrigatório quando "type" for igual "CONTA_DEPOSITO_A_VISTA" (conta corrente) ou "CONTA_POUPANCA", porque existem hoje pacotes passíveis de cobrança diferentes dos serviços essenciais (que não são cobrados); - Opcional quando "type" for igual "CONTA_PAGAMENTO_PRE_PAGA" ficando condicionado caso a instituição tenha pacote de serviço atrelado a este tipo de conta. openingClosingChannels: type: array items: $ref: '#/components/schemas/OpeningClosingChannels' minItems: 1 maxItems: 7 description: Lista dos canais para aberturas e encerramento openingClosingChannelsAdditionalInfo: type: string maxLength: 140 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: | Campo livre para preenchimento das informações adicionais referente ao "openingClosingChannels". [Restrição] Obrigatório quando "openingClosingChannels" for igual 'OUTROS'. example: Informações adicionais transactionMethods: type: array items: $ref: '#/components/schemas/TransactionMethods' minItems: 1 maxItems: 4 description: Lista de formas de movimentação termsConditions: $ref: '#/components/schemas/AccountsTermsConditions' incomeRate: $ref: '#/components/schemas/AccountsIncomeRate' BusinessAccountsService: type: object required: - name - code - chargingTriggerInfo - prices - minimum - maximum x-regulatory-required: - name - code - chargingTriggerInfo - prices - minimum - maximum properties: name: type: string maxLength: 250 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: 'Nome do Serviço que incide sobre tipo de conta selecionado para pessoa jurídica(Campo Livre)' example: Evento personalizado code: type: string maxLength: 100 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: Sigla de identificação de Outros Serviços que incidem sobre os tipos de contas informados. example: EVENTO_PERSONALIZADO chargingTriggerInfo: type: string maxLength: 2000 pattern: '^(?!\s)[\w\W\s]*[^\s]$' description: Fatos geradores de cobrança que incidem sobre serviço que compõe o Pacote de Serviços. example: Cobrança devido a evento personalizado prices: type: array items: $ref: '#/components/schemas/Price' minItems: 4 maxItems: 4 description: Lista distribuição preços tarifas de serviços minimum: $ref: '#/components/schemas/MinimumPrice' maximum: $ref: '#/components/schemas/MaximumPrice' PriceIntervals: type: string enum: - 1_FAIXA - 2_FAIXA - 3_FAIXA - 4_FAIXA description: | Segundo Normativa nº 32, BCB, de 2020: Distribuição de frequência relativa dos valores de tarifas cobradas dos clientes, de que trata o § 2º do art. 3º da Circular nº 4.015, de 2020, deve dar-se com base em quatro faixas de igual tamanho, com explicitação dos valores sobre a mediana em cada uma dessas faixas. Informando: 1ª faixa, 2ª faixa, 3ª faixa e 4ª faixa example: 1_FAIXA Price: type: object required: - interval - value - currency - customers x-regulatory-required: - interval - value - currency - customers properties: interval: $ref: '#/components/schemas/PriceIntervals' value: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 x-cds-type: AmountString description: | Valor da mediana de cada faixa relativa ao serviço ofertado, informado no período, conforme Res nº 32 BCB, 2020. p.ex. '45.00' (representa um valor monetário. p.ex: 1547368.92. Este valor, considerando que a moeda seja BRL, significa R$ 1.547.368,92. O único separador presente deve ser o '.' (ponto) para indicar a casa decimal. Não deve haver separador de milhar). Observação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, devem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço. example: '2000.00' currency: $ref: '#/components/schemas/Currency' customers: $ref: '#/components/schemas/Customer' PersonalAccountPriorityServicePrice: type: object required: - interval - value - currency - customers x-regulatory-required: - interval - value - currency - customers properties: interval: $ref: '#/components/schemas/PriceIntervals' value: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 x-cds-type: AmountString description: | Valor da mediana de cada faixa relativa ao serviço ofertado, informado no período, conforme Res nº 32 BCB, 2020. p.ex. '45.00' (representa um valor monetário. p.ex: 1547368.92. Este valor, considerando que a moeda seja BRL, significa R$ 1.547.368,92. O único separador presente deve ser o '.' (ponto) para indicar a casa decimal. Não deve haver separador de milhar) example: '2000.00' currency: $ref: '#/components/schemas/Currency' customers: $ref: '#/components/schemas/Customer' MonthlyPrice: type: object required: - interval - monthlyFee - currency - customers x-regulatory-required: - interval - monthlyFee - currency - customers properties: interval: $ref: '#/components/schemas/PriceIntervals' monthlyFee: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 x-cds-type: AmountString description: | Valor da mediana de cada faixa relativa ao serviço ofertado, informado no período, conforme Res nº 32 BCB, 2020. p.ex. ''45.00'' (representa um valor monetário. p.ex: 1547368.92. Este valor, considerando que a moeda seja BRL, significa R$ 1.547.368,92. O único separador presente deve ser o ''.'' (ponto) para indicar a casa decimal. Não deve haver separador de milhar). Observação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, devem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço. example: '2000.00' currency: $ref: "#/components/schemas/Currency" customers: $ref: '#/components/schemas/Customer' MinimumPrice: type: object required: - value - currency x-regulatory-required: - value - currency properties: value: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 x-cds-type: AmountString description: | Valor mínimo apurado para a tarifa de serviços sobre a base de clientes no mês de referência. Observação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, devem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço. example: '1350.00' currency: $ref: "#/components/schemas/Currency" PriorityServiceMinimumPrice: type: object required: - value - currency x-regulatory-required: - value - currency properties: value: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 x-cds-type: AmountString description: Valor mínimo apurado para a tarifa de serviços sobre a base de clientes no mês de referência example: '1350.00' currency: $ref: "#/components/schemas/Currency" MaximumPrice: type: object required: - value - currency x-regulatory-required: - value - currency properties: value: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 x-cds-type: AmountString description: | Valor máximo apurado para a tarifa de serviços sobre a base de clientes no mês de referência. Observação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, devem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço. example: '8800.00' currency: $ref: "#/components/schemas/Currency" PriorityServiceMaximumPrice: type: object required: - value - currency x-regulatory-required: - value - currency properties: value: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 x-cds-type: AmountString description: Valor máximo apurado para a tarifa de serviços sobre a base de clientes no mês de referência example: '8800.00' currency: $ref: "#/components/schemas/Currency" Customer: type: object description: Informações relevantes para o cliente. required: - rate x-regulatory-required: - rate properties: rate: type: string description: | Percentual de clientes em cada faixa. pattern: '^\d{1}\.\d{6}$' example: '0.150000' minLength: 8 maxLength: 8 MinimumBalance: type: object required: - value - currency x-regulatory-required: - value - currency properties: value: type: string pattern: '^(\d{1,9}\.\d{2}){1}$' minLength: 4 maxLength: 12 description: 'Saldo mínimo exigido nos Termos e condições contratuais, que regem as contas comercializadas.' example: '200.00' currency: $ref: "#/components/schemas/Currency" Currency: type: string pattern: '^(\w{3}){1}$' minLength: 3 maxLength: 3 x-cds-type: CurrencyString description: 'Moeda referente ao valor mínimo da Tarifa, segundo modelo ISO-4217' example: BRL Links: type: object description: Referências para outros recursos da API requisitada properties: self: type: string minLength: 5 maxLength: 2000 description: URL da página atualmente requisitada pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' example: 'https://api.banco.com.br/open-banking/opendata-accounts/v1/resource' first: type: string minLength: 5 maxLength: 2000 description: URL da primeira página de registros pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' example: 'https://api.banco.com.br/open-banking/opendata-accounts/v1/resource' prev: type: string minLength: 5 maxLength: 2000 description: URL da página anterior de registros pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' example: 'https://api.banco.com.br/open-banking/opendata-accounts/v1/resource' next: type: string minLength: 5 maxLength: 2000 description: URL da próxima página de registros pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' example: 'https://api.banco.com.br/open-banking/opendata-accounts/v1/resource' last: type: string minLength: 5 maxLength: 2000 description: URL da última página de registros pattern: '^(https:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$' example: 'https://api.banco.com.br/open-banking/opendata-accounts/v1/resource' Meta: type: object description: Meta informações referente à API requisitada properties: totalRecords: type: integer description: Total de registros encontrados example: 1 totalPages: type: integer description: Total de páginas para os registros encontrados example: 1 required: - totalRecords - totalPages 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: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 255 title: description: Título legível por humanos deste erro específico type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 2048 meta: 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' 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: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 255 title: description: Título legível por humanos deste erro específico type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 255 detail: description: Descrição legível por humanos deste erro específico type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 2048 meta: 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 format: date-time minLength: 20 maxLength: 20 pattern: '^[2-9]\d{3}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$' example: '2023-10-09T14:10:00Z' securitySchemes: APIKey1: name: API Key type: apiKey in: query APIKey2: name: API Key type: apiKey in: query parameters: 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 format: int32 default: 1 minimum: 1 maximum: 2147483647 pageSize: name: page-size in: query description: Quantidade total de registros por páginas. schema: type: integer format: int32 default: 25 minimum: 1 maximum: 1000 responses: 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' NotFound: description: O recurso solicitado não existe ou não foi implementado. 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' 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' GatewayTimeout: description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido. content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError' SiteIsOverloaded: description: O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento. content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseErrorMetaSingle' Default: description: '\-' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ResponseError'