{
  "$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-unarranged-account-overdraft-schema.json",
  "title": "ResponsePersonalUnarrangedAccountOverdraft",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/itau-unibanco-open-finance-opendata-unarranged-openapi.yml#/components/schemas/ResponsePersonalUnarrangedAccountOverdraft",
  "type": "object",
  "required": [
    "data",
    "links",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "description": "Conjunto de informações referente ao produto Adiantamento a Depositantes.",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/PersonalUnarrangedAccountOverdraftData"
      }
    },
    "links": {
      "$ref": "#/$defs/Links"
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    }
  },
  "$defs": {
    "ApplicationIntervals": {
      "type": "string",
      "enum": [
        "1_FAIXA",
        "2_FAIXA",
        "3_FAIXA",
        "4_FAIXA"
      ],
      "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"
    },
    "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. 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",
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "maxLength": 80,
          "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."
        },
        "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"
        }
      }
    },
    "PersonalUnarrangedAccountOverdraftData": {
      "type": "object",
      "required": [
        "fees",
        "termsConditions"
      ],
      "x-regulatory-required": [
        "termsConditions"
      ],
      "properties": {
        "participant": {
          "$ref": "#/$defs/Participant"
        },
        "fees": {
          "$ref": "#/$defs/PersonalUnarrangedAccountOverdraftFee"
        },
        "interestRates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/UnarrangedAccountOverdraftRate"
          },
          "minItems": 1,
          "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"
        },
        "termsConditions": {
          "type": "string",
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "maxLength": 2000,
          "description": "Campo aberto para informar as condições contratuais relativas à Modalidade de Adiantamento a depositante para pessoa natural. Pode ser informada a URL referente ao endereço onde constam as condições informadas. Endereço eletrônico de acesso ao canal."
        }
      }
    },
    "PersonalUnarrangedAccountOverdraftFee": {
      "type": "object",
      "description": "Objeto que reúne informações de tarifas de serviços.",
      "properties": {
        "priorityServices": {
          "type": "array",
          "description": "Lista das Tarifas cobradas sobre Serviços Prioritários",
          "items": {
            "$ref": "#/$defs/UnarrangedAccountOverdraftService"
          },
          "maxItems": 20,
          "minItems": 1
        }
      }
    },
    "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"
    },
    "ReferentialRateIndexer": {
      "type": "string",
      "description": "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040\n",
      "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"
      ]
    },
    "UnarrangedAccountOverdraftRate": {
      "description": "Tarifas cobradas sobre Serviços ofertados",
      "type": "object",
      "required": [
        "referentialRateIndexer",
        "rate",
        "applications",
        "minimumRate",
        "maximumRate"
      ],
      "x-regulatory-required": [
        "referentialRateIndexer",
        "rate",
        "minimumRate",
        "maximumRate"
      ],
      "properties": {
        "referentialRateIndexer": {
          "$ref": "#/$defs/ReferentialRateIndexer"
        },
        "rate": {
          "type": "string",
          "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",
          "pattern": "^\\d{1}\\.\\d{6}$",
          "minLength": 8,
          "maxLength": 8
        },
        "applications": {
          "description": "Lista  das faixas de cobrança da taxa efetiva de remuneração.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ApplicationRate"
          },
          "minItems": 4,
          "maxItems": 4
        },
        "minimumRate": {
          "type": "string",
          "description": "Percentual mínimo cobrado (taxa efetiva) no mês de referência, para o crédito 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%)\n",
          "pattern": "^\\d{1}\\.\\d{6}$",
          "minLength": 8,
          "maxLength": 8
        },
        "maximumRate": {
          "type": "string",
          "description": "Percentual máximo cobrado (taxa efetiva) no mês de referência, para o crédito 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%)\n",
          "pattern": "^\\d{1}\\.\\d{6}$",
          "minLength": 8,
          "maxLength": 8
        }
      }
    },
    "UnarrangedAccountOverdraftService": {
      "type": "object",
      "required": [
        "name",
        "code",
        "chargingTriggerInfo",
        "prices",
        "minimum",
        "maximum"
      ],
      "x-regulatory-required": [
        "name",
        "code",
        "chargingTriggerInfo"
      ],
      "properties": {
        "name": {
          "type": "string",
          "enum": [
            "CONCESSAO_ADIANTAMENTO_DEPOSITANTE"
          ],
          "default": "CONCESSAO_ADIANTAMENTO_DEPOSITANTE",
          "description": "Nome da Tarifa cobrada sobre Serviço que incide sobre Adiantamento a depositante, para pessoa jurídica."
        },
        "code": {
          "type": "string",
          "enum": [
            "ADIANT_DEPOSITANTE"
          ],
          "default": "ADIANT_DEPOSITANTE",
          "description": "Sigla de identificação do serviço relacionado à Modalidade de Adiantamento a depositante, para pessoa jurídica."
        },
        "chargingTriggerInfo": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Fato gerador de cobrança que incide sobre a Modalidade de Adiantamento a depositante informada, para pessoa jurídica."
        },
        "prices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Price"
          },
          "minItems": 4,
          "maxItems": 4,
          "description": "lista das faixas dos  valores de tarfas cobradas"
        },
        "minimum": {
          "$ref": "#/$defs/MinimumPrice"
        },
        "maximum": {
          "$ref": "#/$defs/MaximumPrice"
        }
      }
    }
  }
}