openapi: 3.0.0 info: title: API OpenData Loans do Open Finance Brasil description: A API descrita neste documento é referente as API Loans da fase OpenData do Open Finance Brasil. version: 1.0.1 contact: url: 'https://servicedesk.openbankingbrasil.org.br/Login.jsp?navLanguage=pt-BR' servers: - url: 'http://api.banco.com.br/open-banking/opendata-loans/v1' tags: - name: Loans description: Operações para listagem empréstimos paths: /personal-loans: get: tags: - Loans summary: Obtém dados sobre empréstimos pessoa natural description: Obtém dados sobre empréstimos pessoa natural operationId: getPersonalLoans parameters: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" responses: '200': description: Dados sobre empréstimos pessoa natural obtidos com sucesso. content: application/json: schema: $ref: '#/components/schemas/ResponsePersonalLoans' '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-loans: get: tags: - Loans summary: Obtém dados sobre empréstimos pessoa jurídica description: Obtém dados sobre empréstimos pessoa jurídica operationId: getBusinessLoans parameters: - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/pageSize" responses: '200': description: Dados sobre empréstimos pessoa jurídica obtidos com sucesso. content: application/json: schema: $ref: '#/components/schemas/ResponseBusinessLoans' '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: ResponsePersonalLoans: type: object required: - data - links - meta properties: data: type: array description: Conjunto de informações referente ao produto Empréstimos. minItems: 1 items: $ref: '#/components/schemas/ResponsePersonalLoansData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' ResponsePersonalLoansData: type: object required: - type - interestRates - requiredWarranties - termsConditions x-regulatory-required: - type - requiredWarranties - termsConditions properties: participant: $ref: '#/components/schemas/Participant' type: type: string enum: - EMPRESTIMO_CREDITO_PESSOAL_CONSIGNADO - EMPRESTIMO_CREDITO_PESSOAL_SEM_CONSIGNACAO - EMPRESTIMO_HOME_EQUITY - EMPRESTIMO_MICROCREDITO_PRODUTIVO_ORIENTADO - EMPRESTIMO_CHEQUE_ESPECIAL - EMPRESTIMO_CONTA_GARANTIDA description: | Modalidades de empréstimos ofertados para pessoa Natural, conforme Circular 4015-Bacen. Segundo cartilha do Bacen: Empréstimo é um contrato entre o cliente e uma instituição financeira (banco, cooperativa de crédito, caixa econômica) pelo qual o cliente recebe uma quantia em dinheiro que deverá ser devolvida em prazo determinado, acrescida dos juros acertados. Os recursos obtidos no empréstimo não tem destinação específica. * `EMPRESTIMO_CREDITO_PESSOAL_CONSIGNADO` - operações de crédito com retenção de parcela do salário ou benefício do tomador, para o pagamento das prestações do empréstimo – desconto em folha de pagamento – nos termos da legislação em vigor * `EMPRESTIMO_CREDITO_PESSOAL_SEM_CONSIGNACAO` - operações de empréstimos às pessoa natural, sem vinculação com aquisição de bem ou serviço e sem retenção de parcela do salário ou benefício do tomador para o pagamento das prestações do empréstimo * `EMPRESTIMO_HOME_EQUITY` - empréstimos pessoa natural, garantidos por hipoteca ou por alienação fiduciária de bens imóveis residenciais, sem vinculação a aquisição de bens * `EMPRESTIMO_MICROCREDITO_PRODUTIVO_ORIENTADO` - segundo PNMPO é o crédito concedido para financiamento das atividades produtivas, cuja metodologia será estabelecida em regulamento, observada a preferência do relacionamento direto com os empreendedores, admitido o uso de tecnologias digitais e eletrônicas que possam substituir o contato presencial * `EMPRESTIMO_CHEQUE_ESPECIAL` - operações de crédito vinculadas à conta corrente, nas quais determinado limite de crédito é disponibilizado aos clientes para utilização de acordo com suas conveniências, sem necessidade de comunicação prévia à instituição financeira * `EMPRESTIMO_CONTA_GARANTIDA` - operações de crédito rotativo, nas quais determinado limite de crédito é disponibilizado para utilização pelo cliente, através da simples movimentação da conta corrente e/ou solicitação formal à instituição financeira. As operações classificadas nessa modalidade não devem ter data definida para a amortização do saldo devedor, exceto a estabelecida para vigência do contrato example: EMPRESTIMO_CREDITO_PESSOAL_CONSIGNADO fees: $ref: '#/components/schemas/LoanFees' interestRates: type: array items: $ref: '#/components/schemas/LoanInterestRate' minItems: 1 maxItems: 20 description: Lista que traz o conjunto de informações necessárias para demonstrar a distribuição de frequências das taxas de juros remuneratórios da Modalidade de crédito requiredWarranties: type: array items: $ref: '#/components/schemas/RequiredWarranty' minItems: 1 maxItems: 14 description: Lista das garantias exigidas termsConditions: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 2000 description: Campo aberto para informar as condições contratuais relativas à Modalidade de Financiamentos para pessoa jurídica informada. Pode ser informada a URL referente ao endereço onde constam as condições informadas. Endereço eletrônico de acesso ao canal. example: 'https://empresaa1.com/personal_loans' 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 pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 80 description: Nome da Marca. example: Organização A name: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 80 description: 'Nome da Instituição, pertencente à marca, responsável pela comercialização dos produtos e serviços' example: Empresa da Marca A cnpjNumber: type: string minLength: 14 maxLength: 14 pattern: '^\d{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. example: 'https://example.com/mobile-banking' ResponseBusinessLoans: type: object required: - data - links - meta properties: data: type: array description: Conjunto de informações referente ao produto Empréstimos. minItems: 1 items: $ref: '#/components/schemas/ResponseBusinessLoansData' links: $ref: '#/components/schemas/Links' meta: $ref: '#/components/schemas/Meta' ResponseBusinessLoansData: type: object required: - type - interestRates - requiredWarranties - termsConditions x-regulatory-required: - type - requiredWarranties - termsConditions properties: participant: $ref: '#/components/schemas/Participant' type: type: string enum: - EMPRESTIMO_MICROCREDITO_PRODUTIVO_ORIENTADO - EMPRESTIMO_CHEQUE_ESPECIAL - EMPRESTIMO_CONTA_GARANTIDA - EMPRESTIMO_CAPITAL_GIRO_PRAZO_VENCIMENTO_ATE_365_DIAS - EMPRESTIMO_CAPITAL_GIRO_PRAZO_VENCIMENTO_SUPERIOR_365_DIAS - EMPRESTIMO_CAPITAL_GIRO_ROTATIVO description: | Modalidades de empréstimos ofertados para pessoas Jurídicas, conforme Circular 4015-Bacen. Segundo cartilha do Bacen: Empréstimo é um contrato entre o cliente e uma instituição financeira (banco, cooperativa de crédito, caixa econômica) pelo qual o cliente recebe uma quantia em dinheiro que deverá ser devolvida em prazo determinado, acrescida dos juros acertados. Os recursos obtidos no empréstimo não tem destinação específica. * Empréstimo-Microcrédito Produtivo Orientado - segundo PNMPO é o crédito concedido para financiamento das atividades produtivas, cuja metodologia será estabelecida em regulamento, observada a preferência do relacionamento direto com os empreendedores, admitido o uso de tecnologias digitais e eletrônicas que possam substituir o contato presencial * Empréstimo-Cheque especial - operações de crédito vinculadas à conta corrente, nas quais determinado limite de crédito é disponibilizado aos clientes para utilização de acordo com suas conveniências, sem necessidade de comunicação prévia à instituição financeira * Empréstimo-Conta garantida - operações de crédito rotativo, nas quais determinado limite de crédito é disponibilizado para utilização pelo cliente, através da simples movimentação da conta corrente e/ou solicitação formal à instituição financeira. As operações classificadas nessa modalidade não devem ter data definida para a amortização do saldo devedor, exceto a estabelecida para vigência do contrato * Empréstimo-Capital de giro com prazo de vencimento até 365 dias: operações de crédito voltadas para o financiamento de curto prazo (igual ou inferior a 365 dias) das pessoas jurídicas, vinculadas às necessidades de capital de giro e a um contrato específico que estabeleça prazos, taxas e garantias * Empréstimo-Capital de giro com prazo vencimento superior a 365 dias: operações de crédito voltadas para o financiamento de médio e longo prazo (superior a 365 dias) das pessoas jurídicas, vinculadas às necessidades de capital de giro e a um contrato específico que estabeleça prazos, taxas e garantias * Empréstimo-Capital de giro rotativo: operações de crédito voltadas para o financiamento de capital de giro, vinculadas a um contrato que estabeleça linha de crédito rotativo, de forma que, à medida que a empresa devedora amortize os empréstimos já tomados, o limite disponível para utilização seja restituído, e amortizações com datas predeterminadas, podendo ser facultado ao devedor repactuar o fluxo de pagamentos ao longo da vigência do contrato example: EMPRESTIMO_MICROCREDITO_PRODUTIVO_ORIENTADO fees: $ref: '#/components/schemas/LoanFees' interestRates: type: array items: $ref: '#/components/schemas/LoanInterestRate' minItems: 1 maxItems: 20 description: Lista que traz o conjunto de informações necessárias para demonstrar a distribuição de frequências das taxas de juros remuneratórios da Modalidade de crédito requiredWarranties: type: array items: $ref: '#/components/schemas/RequiredWarranty' minItems: 1 maxItems: 14 description: Lista das garantias exigidas termsConditions: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 2000 description: Campo aberto para informar as condições contratuais relativas à Modalidade de Empréstimo para pessoa jurídica informada. Pode ser informada a URL referente ao endereço onde constam as condições informadas. Endereço eletrônico de acesso ao canal. example: 'https://empresaa1.com/personal_loans' LoanFees: type: object description: Objeto que reúne informações de tarifas de serviços. properties: services: type: array items: $ref: '#/components/schemas/LoanService' minItems: 1 maxItems: 20 description: | Lista das Tarifas cobradas sobre Serviços. Para melhor entendimento da regra de envio, verificar área do desenvolvedor na página de Dados Abertos a seção: tabela verdade com instruções de envio de dados por Instituições. LoanService: type: object required: - name - code - chargingTriggerInfo - prices - minimum - maximum x-regulatory-required: - name - code - chargingTriggerInfo properties: name: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 250 description: Nomes das Tarifas cobradas sobre Serviços relacionados à Modalidade informada do Empréstimo para pessoa natural/jurídica. example: Taxa de Abertura code: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 100 description: Sigla de identificação do serviço relacionado à Modalidade informada de Empréstimo para pessoa natural/jurídica. example: NA chargingTriggerInfo: type: string pattern: '^(?!\s)[\w\W\s]*[^\s]$' maxLength: 2000 description: Fatores geradores de cobrança que incidem sobre as Modalidades informada de Empréstimos para pessoa natural/jurídica. example: 3% do valor do contrato prices: type: array items: $ref: '#/components/schemas/Price' minItems: 4 maxItems: 4 minimum: $ref: '#/components/schemas/MinimumPrice' maximum: $ref: '#/components/schemas/MaximumPrice' LoanInterestRate: required: - referentialRateIndexer - rate - applications - minimumRate - maximumRate x-regulatory-required: - referentialRateIndexer - rate - minimumRate - maximumRate type: object properties: referentialRateIndexer: type: string enum: - SEM_INDEXADOR_TAXA - PRE_FIXADO - POS_FIXADO_TR_TBF - POS_FIXADO_TJLP - POS_FIXADO_LIBOR - POS_FIXADO_TLP - OUTRAS_TAXAS_POS_FIXADAS - FLUTUANTES_CDI - FLUTUANTES_SELIC - OUTRAS_TAXAS_FLUTUANTES - INDICES_PRECOS_IGPM - INDICES_PRECOS_IPCA - INDICES_PRECOS_IPCC - OUTROS_INDICES_PRECO - CREDITO_RURAL_TCR_PRE - CREDITO_RURAL_TCR_POS - CREDITO_RURAL_TRFC_PRE - CREDITO_RURAL_TRFC_POS - OUTROS_INDEXADORES description: 'Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040' example: PRE_FIXADO rate: type: string pattern: '^\d{1}\.\d{6}$' description: | Percentual que representa o indexador Pós selecionado. Ex: 100% da TR = 1.000000 da TR, 90% da TR = 0.9000000. Em casos em que não haja indexador, deve ser selecionado Sem Indexador no campo /referentialRateIndexe e representado o rate de 0.000000 (zero). Em caso em que a taxa é somente Pré fixada, o rate também deverá ser colocado como 0.000000 (zero). A apuração pode acontecer com até 6 casas decimais. O preenchimento deve respeitar as 6 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem - Ex: 0.150000 = 15%. O valor 1.000000 representa 100%). example: '0.150000' minLength: 8 maxLength: 8 applications: type: array items: $ref: '#/components/schemas/ApplicationRate' minItems: 4 maxItems: 4 description: Lista das faixas de cobrança da taxa efetiva aplicada pela contratação de crédito minimumRate: type: string pattern: '^\d{1}\.\d{6}$' minLength: 8 maxLength: 8 description: 'Percentual mínimo cobrado (taxa efetiva) no mês de referência, para o Empréstimo contratado A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)' example: '0.045600' maximumRate: type: string pattern: '^\d{1}\.\d{6}$' minLength: 8 maxLength: 8 description: 'Percentual máximo cobrado (taxa efetiva) no mês de referência, para o Empréstimo contratado A apuração pode acontecer com até 4 casas decimais. O preenchimento deve respeitar as 4 casas decimais, mesmo que venham preenchidas com zeros (representação de porcentagem p.ex: 0.1500. Este valor representa 15%. O valor 1 representa 100%)' example: '0.686500' ApplicationRate: type: object required: - interval - indexer - customers x-regulatory-required: - interval - indexer - customers properties: interval: $ref: '#/components/schemas/ApplicationIntervals' indexer: $ref: '#/components/schemas/Indexer' customers: $ref: '#/components/schemas/Customer' Indexer: type: object x-regulatory-required: - rate properties: rate: type: string pattern: '^\d{1}\.\d{6}$' minLength: 8 maxLength: 8 description: | Percentual que corresponde a mediana da taxa pré fixada cobrada do cliente pela contratação do crédito, no intervalo informado. Ex: 0.087000 = 8,7%. Nos casos de produtos puramente pós fixados, as faixas 1,2, 3 e 4 deverão receber o valor 0.000000 (zero). Nesse caso, o customers/rate deverá ser representado com 1.000000, ou seja, 100%. A apuração pode acontecer com até 6 casas decimais. 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.000000 representa 100%). example: '0.087000' 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 ApplicationIntervals: type: string description: | Faixas para cobrança da taxa efetiva aplicada pela contratação do crédito, no intervalo informado: 1ª faixa, 2ª faixa, 3ª faixa e 4ª faixa. Segundo Normativa nº32 de 2020: 'Distribuição de frequência relativa dos valores de tarifas e taxas de juros cobrados 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 e o percentual de clientes em cada uma dessas faixas. enum: - 1_FAIXA - 2_FAIXA - 3_FAIXA - 4_FAIXA example: 4_FAIXA RequiredWarranty: type: string enum: - CESSAO_DIREITOS_CREDITORIOS - CAUCAO - PENHOR - ALIENACAO_FIDUCIARIA - HIPOTECA - OPERACOES_GARANTIDAS_PELO_GOVERNO - OUTRAS_GARANTIAS_NAO_FIDEJUSSORIAS - SEGUROS_ASSEMELHADOS - GARANTIA_FIDEJUSSORIA - BENS_ARRENDADOS - GARANTIAS_INTERNACIONAIS - OPERACOES_GARANTIDAS_OUTRAS_ENTIDADES - ACORDOS_COMPENSACAO - NAO_EXIGE_GARANTIA description: | Relação de garantias exigidas, segundo documento 3040 do Bacen: * `CESSAO_DIREITOS_CREDITORIOS`: o cedente transfere ao credor/cessionário a titularidade de direitos creditórios, até a liquidação da dívida. O credor/cessionário passa a recebê-los diretamente dos devedores e credita o produto da operação para o cedente na operação que originou a cessão, até a sua liquidação * `CAUCAO`: garantia instituída sobre créditos do garantidor * `PENHOR`: direito real que consiste na tradição de uma coisa móvel ou mobilizável, suscetível de alienação, realizada pelo devedor ou por terceiro ao credor, a fim de garantir o pagamento do débito * `ALIENACAO_FIDUCIARIA`: transferência ao credor, ou fiduciário, da propriedade do bem * `HIPOTECA`: direito real de garantia que afeta um bem imóvel para o cumprimento da obrigação * `OPERACOES_GARANTIDAS_PELO_GOVERNO`: nas instâncias federal, estadual ou municipal * `OUTRAS_GARANTIAS_NAO_FIDEJUSSORIAS`: as garantias reais não descritas como: cessão de direitos creditórios, caução, penhor, alienação fiduciária, hipoteca ou operação garantida pelo governo * `SEGUROS_ASSEMELHADOS`: os seguros (e assemelhados) contratados para garantir o pagamento da operação em circunstâncias adversas * `GARANTIA_FIDEJUSSORIA`: baseada na fidelidade do garantidor em cumprir as obrigações, caso o devedor não o faça * `BENS_ARRENDADOS`: bem objeto do arrendamento financeiro * `GARANTIAS_INTERNACIONAIS`: declarar se a garantia é mitigadora ou não, observados os critérios definidos pela Circular 3.644, de 4 de março de 2013 * `OPERACOES_GARANTIDAS_OUTRAS_ENTIDADES`: declarar as garantias prestadas pelas entidades descritas no item 3. Informações de Garantias (i) do documento 3040 - Bacen * `ACORDOS_COMPENSACAO`: operações que sejam abrangidas por acordos para a compensação e liquidação de obrigações no âmbito do SFN, nos termos da Resolução 3.263, de 24 de fevereiro de 2005 * `NAO_EXIGE_GARANTIA` example: CESSAO_DIREITOS_CREDITORIOS 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' 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" 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" 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 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 format: url minLength: 5 maxLength: 2000 description: URL da página atualmente requisitada example: 'https://api.banco.com.br/open-banking/opendata-loans/v1/resource' first: type: string format: url minLength: 5 maxLength: 2000 description: URL da primeira página de registros example: 'https://api.banco.com.br/open-banking/opendata-loans/v1/resource' prev: type: string format: url minLength: 5 maxLength: 2000 description: URL da página anterior de registros example: 'https://api.banco.com.br/open-banking/opendata-loans/v1/resource' next: type: string format: url minLength: 5 maxLength: 2000 description: URL da próxima página de registros example: 'https://api.banco.com.br/open-banking/opendata-loans/v1/resource' last: type: string format: url minLength: 5 maxLength: 2000 description: URL da última página de registros example: 'https://api.banco.com.br/open-banking/opendata-loans/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'