{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/itau-unibanco/main/json-schema/itau-unibanco-response-personal-loans-schema.json",
  "title": "ResponsePersonalLoans",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/itau-unibanco-open-finance-opendata-loans-openapi.yml#/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": "#/$defs/ResponsePersonalLoansData"
      }
    },
    "links": {
      "$ref": "#/$defs/Links"
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    }
  },
  "$defs": {
    "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.\n",
      "enum": [
        "1_FAIXA",
        "2_FAIXA",
        "3_FAIXA",
        "4_FAIXA"
      ]
    },
    "ApplicationRate": {
      "type": "object",
      "required": [
        "interval",
        "indexer",
        "customers"
      ],
      "x-regulatory-required": [
        "interval",
        "indexer",
        "customers"
      ],
      "properties": {
        "interval": {
          "$ref": "#/$defs/ApplicationIntervals"
        },
        "indexer": {
          "$ref": "#/$defs/Indexer"
        },
        "customers": {
          "$ref": "#/$defs/Customer"
        }
      }
    },
    "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"
    },
    "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.\n",
          "pattern": "^\\d{1}\\.\\d{6}$",
          "minLength": 8,
          "maxLength": 8
        }
      }
    },
    "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. \nEx: 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). \nNesse caso, o customers/rate deverá ser representado com 1.000000, ou seja, 100%. \nA 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%). \n"
        }
      }
    },
    "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"
        },
        "first": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da primeira página de registros"
        },
        "prev": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da página anterior de registros"
        },
        "next": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da próxima página de registros"
        },
        "last": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da última página de registros"
        }
      }
    },
    "LoanFees": {
      "type": "object",
      "description": "Objeto que reúne informações de tarifas de serviços.",
      "properties": {
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LoanService"
          },
          "minItems": 1,
          "maxItems": 20,
          "description": "Lista das Tarifas cobradas sobre Serviços.\n\nPara 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.\n"
        }
      }
    },
    "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"
        },
        "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.\nEm casos em que não haja indexador, deve ser selecionado Sem Indexador no campo /referentialRateIndexe e representado o rate de 0.000000 (zero). \nEm caso em que a taxa é somente Pré fixada, o rate também deverá ser colocado como 0.000000 (zero).\nA 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%).\n",
          "minLength": 8,
          "maxLength": 8
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/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%)"
        },
        "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%)"
        }
      }
    },
    "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."
        },
        "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."
        },
        "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."
        },
        "prices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Price"
          },
          "minItems": 4,
          "maxItems": 4
        },
        "minimum": {
          "$ref": "#/$defs/MinimumPrice"
        },
        "maximum": {
          "$ref": "#/$defs/MaximumPrice"
        }
      }
    },
    "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\n\nObservaçã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.\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        }
      }
    },
    "Meta": {
      "type": "object",
      "description": "Meta informações referente à API requisitada.",
      "properties": {
        "totalRecords": {
          "type": "integer",
          "description": "Total de registros encontrados"
        },
        "totalPages": {
          "type": "integer",
          "description": "Total de páginas para os registros encontrados"
        }
      },
      "required": [
        "totalRecords",
        "totalPages"
      ]
    },
    "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\n\nObservaçã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.\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        }
      }
    },
    "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."
        },
        "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"
        },
        "cnpjNumber": {
          "type": "string",
          "minLength": 14,
          "maxLength": 14,
          "pattern": "^\\d{14}$",
          "description": "CNPJ"
        },
        "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."
        }
      }
    },
    "Price": {
      "type": "object",
      "required": [
        "interval",
        "value",
        "currency",
        "customers"
      ],
      "x-regulatory-required": [
        "interval",
        "value",
        "currency",
        "customers"
      ],
      "properties": {
        "interval": {
          "$ref": "#/$defs/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).\n\nObservaçã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.\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        },
        "customers": {
          "$ref": "#/$defs/Customer"
        }
      }
    },
    "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\n"
    },
    "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:\n* `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\n* `CAUCAO`: garantia instituída sobre créditos do garantidor\n* `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\n* `ALIENACAO_FIDUCIARIA`: transferência ao credor, ou fiduciário, da propriedade do bem\n* `HIPOTECA`: direito real de garantia que afeta um bem imóvel para o cumprimento da obrigação\n* `OPERACOES_GARANTIDAS_PELO_GOVERNO`: nas instâncias federal, estadual ou municipal\n* `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\n* `SEGUROS_ASSEMELHADOS`: os seguros (e assemelhados) contratados para garantir o pagamento da operação em circunstâncias adversas\n* `GARANTIA_FIDEJUSSORIA`: baseada na fidelidade do garantidor em cumprir as obrigações, caso o devedor não o faça\n* `BENS_ARRENDADOS`: bem objeto do arrendamento financeiro\n* `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\n* `OPERACOES_GARANTIDAS_OUTRAS_ENTIDADES`: declarar as garantias prestadas pelas entidades descritas no item 3. Informações de Garantias (i) do documento 3040 - Bacen\n* `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\n* `NAO_EXIGE_GARANTIA`\n"
    },
    "ResponsePersonalLoansData": {
      "type": "object",
      "required": [
        "type",
        "interestRates",
        "requiredWarranties",
        "termsConditions"
      ],
      "x-regulatory-required": [
        "type",
        "requiredWarranties",
        "termsConditions"
      ],
      "properties": {
        "participant": {
          "$ref": "#/$defs/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.\n  * `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\n  * `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\n  * `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\n  * `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\n  * `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\n  * `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\n"
        },
        "fees": {
          "$ref": "#/$defs/LoanFees"
        },
        "interestRates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/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": "#/$defs/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."
        }
      }
    }
  }
}