{
  "$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-financings-schema.json",
  "title": "ResponsePersonalFinancings",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/itau-unibanco-open-finance-opendata-financings-openapi.yml#/components/schemas/ResponsePersonalFinancings",
  "type": "object",
  "required": [
    "data",
    "links",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "description": "Conjunto de informações referente ao produto Financiamentos.",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/ResponsePersonalFinancingsData"
      }
    },
    "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
        }
      }
    },
    "Fee": {
      "type": "object",
      "description": "Objeto que reúne informações de tarifas de serviços.",
      "properties": {
        "services": {
          "type": "array",
          "description": "Lista das Tarifas cobradas sobre Serviço.\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",
          "items": {
            "$ref": "#/$defs/FinancingService"
          },
          "minItems": 1,
          "maxItems": 20
        }
      }
    },
    "FinancingInterestRate": {
      "type": "object",
      "required": [
        "referentialRateIndexer",
        "rate",
        "applications",
        "minimumRate",
        "maximumRate"
      ],
      "x-regulatory-required": [
        "referentialRateIndexer",
        "minimumRate",
        "maximumRate"
      ],
      "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
        },
        "minimumRate": {
          "type": "string",
          "pattern": "^\\d{1}\\.\\d{6}$",
          "description": "Percentual mínimo cobrado (taxa efetiva) no mês de referência, para o Financiamento 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%)",
          "minLength": 8,
          "maxLength": 8
        },
        "maximumRate": {
          "type": "string",
          "pattern": "^\\d{1}\\.\\d{6}$",
          "description": "Percentual máximo cobrado (taxa efetiva) no mês de referência, para o Financiamento 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%)",
          "minLength": 8,
          "maxLength": 8
        }
      }
    },
    "FinancingService": {
      "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]$",
          "description": "Nomes das Tarifas cobradas sobre Serviços ofertados à Modalidade de Financiamento, para pessoa natural",
          "maxLength": 250
        },
        "code": {
          "type": "string",
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Sigla de identificação do serviço relacionado à Modalidade de Financiamento informada, para pessoa natural. Campo aberto",
          "maxLength": 100
        },
        "chargingTriggerInfo": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Fatores geradores de cobrança que incidem sobre as Modalidades de Financiamentos, para pessoa natural. Campo Livre"
        },
        "prices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Price"
          },
          "minItems": 4,
          "maxItems": 4
        },
        "minimum": {
          "$ref": "#/$defs/MinimumPrice"
        },
        "maximum": {
          "$ref": "#/$defs/MaximumPrice"
        }
      }
    },
    "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%. \nNos 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"
        }
      }
    },
    "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",
          "maxLength": 80,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Nome da Marca selecionada pelas Organizações"
        },
        "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]$"
        },
        "cnpjNumber": {
          "type": "string",
          "pattern": "^\\d{14}$",
          "minLength": 14,
          "maxLength": 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. Será obrigatoriamente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada.\nRestrição: Será obrigatorimente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada\n"
        }
      }
    },
    "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"
    },
    "ResponsePersonalFinancingsData": {
      "type": "object",
      "required": [
        "type",
        "fees",
        "interestRates",
        "requiredWarranties",
        "termsConditions"
      ],
      "x-regulatory-required": [
        "type",
        "requiredWarranties",
        "termsConditions"
      ],
      "properties": {
        "participant": {
          "$ref": "#/$defs/Participant"
        },
        "type": {
          "type": "string",
          "enum": [
            "FINANCIAMENTO_AQUISICAO_BENS_VEICULOS_AUTOMOTORES",
            "FINANCIAMENTO_AQUISICAO_BENS_OUTROS_BENS",
            "FINANCIAMENTO_MICROCREDITO",
            "FINANCIAMENTO_RURAL_CUSTEIO",
            "FINANCIAMENTO_RURAL_INVESTIMENTO",
            "FINANCIAMENTO_RURAL_COMERCIALIZACAO",
            "FINANCIAMENTO_RURAL_INDUSTRIALIZACAO",
            "FINANCIAMENTO_IMOBILIARIO_SISTEMA_FINANCEIRO_HABITACAO_SFH",
            "FINANCIAMENTO_IMOBILIARIO_SISTEMA_FINANCEIRO_HABITACAO_SFI"
          ],
          "description": "Modalidades de financiamentos ofertados para pessoas naturais, conforme Circular 4015-Bacen. Segundo cartilha do Bacen: Financiamento é um contrato entre o cliente e uma instituição financeira, mas com, destinação específica como para a aquisição de veículo ou de bem imóvel, que funcionam como garantia para o crédito concedido"
        },
        "fees": {
          "$ref": "#/$defs/Fee"
        },
        "interestRates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/FinancingInterestRate"
          },
          "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
        },
        "termsConditions": {
          "type": "string",
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "maxLength": 2000,
          "description": "Campo aberto para informar as condições contratuais relativas ao produto ou serviço informado. Pode ser informada a URL referente ao endereço onde constam as condições informadas."
        }
      }
    }
  }
}