﻿openapi: 3.0.0
info:
  title: API Unarranged-accounts-overdraft - Open Banking Brasil
  description: |
    API de informações de operações de adiantamento a depositantes do Open Banking Brasil – Fase 2.
    API que retorna informações de operações de crédito do tipo adiantamento a depositantes mantidas nas instituições transmissoras por seus clientes, incluindo dados como denominação, modalidade, número do contrato, tarifas, prazo, prestações, pagamentos, amortizações, garantias, encargos e taxas de juros remuneratórios.\
    Não possui segregação entre pessoa natural e pessoa jurídica.\
    Requer consentimento do cliente para todos os `endpoints`.

    # Permissions necessárias para a API Unarranged-accounts-overdraft

    Para cada um dos paths desta API, além dos escopos (`scopes`) indicados existem `permissions` que deverão ser observadas:

    ### `/contracts`
      - permissions:
        - GET: **UNARRANGED_ACCOUNTS_OVERDRAFT_READ**
    ### `/contracts/{contractId}`
      - permissions: **UNARRANGED_ACCOUNTS_OVERDRAFT_READ**
    ### `/contracts/{contractId}/warranties`
      - permissions:
        - GET: **UNARRANGED_ACCOUNTS_OVERDRAFT_WARRANTIES_READ**
    ### `/contracts/{contractId}/scheduled-instalments`
      - permissions:
        - GET: **UNARRANGED_ACCOUNTS_OVERDRAFT_SCHEDULED_INSTALMENTS_READ**
    ### `/contracts/{contractId}/payments`
      - permissions:
        - GET: **UNARRANGED_ACCOUNTS_OVERDRAFT_PAYMENTS_READ**
  version: 1.0.0
  license:
    name: Apache 2.0
    url: "https://www.apache.org/licenses/LICENSE-2.0"
  contact:
    name: Governança do Open Banking Brasil – Interfaces
    email: gt-interfaces@openbankingbr.org
    url: "https://openbanking-brasil.github.io/areadesenvolvedor/"
servers:
  - url: "https://api.banco.com.br/open-banking/unarranged-accounts-overdraft/v1"
    description: Servidor de Produção
  - url: "https://apih.banco.com.br/open-banking/unarranged-accounts-overdraft/v1"
    description: Servidor de Homologação
tags:
  - name: Unarranged Accounts Overdraft
paths:
  /contracts:
    get:
      tags:
        - Unarranged Accounts Overdraft
      summary: Obtém a lista de contratos de adiantamento a depositantes consentidos pelo cliente.
      description: Método para obter a lista de contratos de adiantamento a depositantes mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento.
      operationId: getContracts
      parameters:
        - $ref: "#/components/parameters/Authorization"
        - $ref: "#/components/parameters/xFapiAuthDate"
        - $ref: "#/components/parameters/xFapiCustomerIpAddress"
        - $ref: "#/components/parameters/xFapiInteractionId"
        - $ref: "#/components/parameters/xCustomerUserAgent"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
      responses:
        "200":
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContractList"
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "405":
          $ref: "#/components/responses/MethodNotAllowed"
        "406":
          $ref: "#/components/responses/NotAcceptable"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        default:
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContractList"
      security:
        - OpenId:
            - openId
            - unarranged-accounts-overdraft
  "/contracts/{contractId}":
    get:
      tags:
        - Unarranged Accounts Overdraft
      summary: Obtém os dados do contrato de adiantamento a depositantes identificado por contractId
      description: Método para obter os dados do contrato de adiantamento a depositantes identificado por contractId mantido pelo cliente na instituição transmissora
      operationId: getContractsContractId
      parameters:
        - $ref: "#/components/parameters/contractId"
        - $ref: "#/components/parameters/Authorization"
        - $ref: "#/components/parameters/xFapiAuthDate"
        - $ref: "#/components/parameters/xFapiCustomerIpAddress"
        - $ref: "#/components/parameters/xFapiInteractionId"
        - $ref: "#/components/parameters/xCustomerUserAgent"
      responses:
        "200":
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContract"
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "405":
          $ref: "#/components/responses/MethodNotAllowed"
        "406":
          $ref: "#/components/responses/NotAcceptable"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        default:
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContract"
      security:
        - OpenId:
            - openId
            - unarranged-accounts-overdraft
  "/contracts/{contractId}/warranties":
    get:
      tags:
        - Unarranged Accounts Overdraft
      summary: Obtém a lista de garantias vinculadas ao contrato de adiantamento a depositantes identificado por contractId
      description: Método para obter a lista de garantias vinculadas ao contrato de adiantamento a depositantes identificado por contractId mantido pelo cliente na instituição transmissora
      operationId: getContractsContractIdWarranties
      parameters:
        - $ref: "#/components/parameters/contractId"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/Authorization"
        - $ref: "#/components/parameters/xFapiAuthDate"
        - $ref: "#/components/parameters/xFapiCustomerIpAddress"
        - $ref: "#/components/parameters/xFapiInteractionId"
        - $ref: "#/components/parameters/xCustomerUserAgent"
      responses:
        "200":
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftWarranties"
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "405":
          $ref: "#/components/responses/MethodNotAllowed"
        "406":
          $ref: "#/components/responses/NotAcceptable"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        default:
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftWarranties"
      security:
        - OpenId:
            - openId
            - unarranged-accounts-overdraft
  "/contracts/{contractId}/scheduled-instalments":
    get:
      tags:
        - Unarranged Accounts Overdraft
      summary: Obtém os dados do cronograma de parcelas do contrato de adiantamento a depositantes identificado por contractId
      description: Método para obter os dados do cronograma de parcelas do contrato de adiantamento a depositantes identificado por contractId mantido pelo cliente na instituição transmissora
      operationId: getContractsContractIdScheduledInstalments
      parameters:
        - $ref: "#/components/parameters/contractId"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/Authorization"
        - $ref: "#/components/parameters/xFapiAuthDate"
        - $ref: "#/components/parameters/xFapiCustomerIpAddress"
        - $ref: "#/components/parameters/xFapiInteractionId"
        - $ref: "#/components/parameters/xCustomerUserAgent"
      responses:
        "200":
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftInstalments"
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "405":
          $ref: "#/components/responses/MethodNotAllowed"
        "406":
          $ref: "#/components/responses/NotAcceptable"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        default:
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftInstalments"
      security:
        - OpenId:
            - openId
            - unarranged-accounts-overdraft
  "/contracts/{contractId}/payments":
    get:
      tags:
        - Unarranged Accounts Overdraft
      summary: Obtém os dados de pagamentos do contrato de adiantamento a depositantes identificado por contractId
      description: Método para obter os dados de pagamentos do contrato de adiantamento a depositantes identificado por contractId mantido pelo cliente na instituição transmissora
      operationId: getContractsContractIdPayments
      parameters:
        - $ref: "#/components/parameters/contractId"
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/pageSize"
        - $ref: "#/components/parameters/Authorization"
        - $ref: "#/components/parameters/xFapiAuthDate"
        - $ref: "#/components/parameters/xFapiCustomerIpAddress"
        - $ref: "#/components/parameters/xFapiInteractionId"
        - $ref: "#/components/parameters/xCustomerUserAgent"
      responses:
        "200":
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftPayments"
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "405":
          $ref: "#/components/responses/MethodNotAllowed"
        "406":
          $ref: "#/components/responses/NotAcceptable"
        "429":
          $ref: "#/components/responses/TooManyRequests"
        "500":
          $ref: "#/components/responses/InternalServerError"
        default:
          $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftPayments"
      security:
        - OpenId:
            - openId
            - unarranged-accounts-overdraft
components:
  schemas:
    ResponseUnarrangedAccountOverdraftContract:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: object
          description: Conjunto de informações referentes à identificação da operação de crédito de adiantamento a depositantes
          required:
            - ipocCode
            - productName
            - productType
            - productSubType
            - contractDate
            - disbursementDate
            - contractAmount
            - currency
            - dueDate
            - instalmentPeriodicity
            - firstInstalmentDueDate
            - totalNumberOfInstalments
            - paidInstalments
            - cet
            - amortizationScheduled
            - interestRates
            - contractedFees
            - contractedFinancesCharges
          properties:
            ipocCode:
              type: string
              maxLength: 67
              description: |
                "Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
                - **CNPJ da instituição:** 8 (oito) posições iniciais;
                - **Modalidade da operação:** 4 (quatro) posições;
                - **Tipo do cliente:** 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
                - **Código do cliente:** O número de posições varia conforme o tipo do cliente:
                  1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
                  2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
                  3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
                - **Código do contrato:** 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres."
              example: "92792126019929279212650822221989319252576"
            productName:
              type: string
              maxLength: 140
              pattern: \w*\W*
              description: |
                "Denominação/Identificação do nome da Modalidade da Operação de Crédito divulgado ao cliente"
              example: AD
            productType:
              $ref: "#/components/schemas/productType"
            productSubType:
              $ref: "#/components/schemas/productSubType"
            contractDate:
              description: Data de contratação da operação de crédito. Especificação RFC-3339
              type: string
              maxLength: 20
              format: date-time
              example: "2021-05-21T08:30:00Z"
            disbursementDate:
              description: Data do Desembolso do valor contratado. Especificação RFC-3339
              type: string
              maxLength: 20
              format: date-time
              example: "2021-05-21T08:30:00Z"
            contractAmount:
              description: Valor contratado da operação. Expresso em valor monetário com até 4 casas decimais
              type: number
              format: double
              pattern: '(-?\d{15}(.\d{4}?))$'
              maxLength: 19
              minLength: 0
              example: 100000.04
            currency:
              type: string
              pattern: '^(\w{3}){1}$'
              maxLength: 3
              description: |
                "Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'
                Todos os valores monetários informados estão representados com a moeda vigente do Brasil"
              example: BRL
            dueDate:
              description: Data de vencimento Final da operação. Especificação RFC-3339
              type: string
              maxLength: 20
              format: date-time
              example: "2021-05-21T08:30:00Z"
            instalmentPeriodicity:
              type: string
              description: |
                "Informação relativa à periodicidade regular das parcelas. (Vide Enum)
                sem periodicidade regular, semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual"
              enum:
                - SEM_PERIODICIDADE_REGULAR
                - SEMANAL
                - QUINZENAL
                - MENSAL
                - BIMESTRAL
                - TRIMESTRAL
                - SEMESTRAL
                - ANUAL
              example: SEMANAL
            firstInstalmentDueDate:
              description: Data de vencimento primeira parcela do principal
              type: string
              maxLength: 20
              format: date-time
              example: "2021-05-21T08:30:00Z"
            totalNumberOfInstalments:
              type: number
              description: Prazo Total em meses do contrato referente à Modalidade de Crédito informada
              maxLength: 3
              example: 130
            paidInstalments:
              type: number
              description: "Quantidade de prestações pagas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)"
              maxLength: 3
              example: 73
            cet:
              type: number
              description: |
                "CET – Custo Efetivo Total deve ser expresso na forma de taxa percentual anual e   incorpora todos os encargos e despesas incidentes nas operações de crédito (taxa de juro, mas também tarifas, tributos, seguros e outras despesas cobradas).
                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%)"
              maxLength: 19
              example: 0.29
            amortizationScheduled:
              type: string
              description: |
                "Sistema de amortização (Vide Enum)
                - SAC (Sistema de Amortização Constante -   é aquele em que o valor da amortização permanece igual até o final. Os juros  cobrados sobre o parcelamento não entram nesta conta)
                - PRICE (Sistema Francês de Amortização - As parcelas são fixas do início ao fim do contrato. Ou seja, todas as parcelas terão o mesmo valor, desde a primeira até a última. Nos primeiros pagamentos, a maior parte do valor da prestação corresponde aos juros. Ao longo do tempo, a taxa de juros vai decrescendo. Como o valor da prestação é fixo, com o passar das parcelas, o valor de amortização vai aumentando)
                - SAM (Sociedade de arrendamento mercantil) - realiza arrendamento de bens móveis e imóveis adquiridos por ela, segundo as especificações da arrendatária (cliente), para fins de uso próprio desta. Assim, os contratantes deste serviço podem usufruir de determinado bem sem serem proprietários dele. As operações de arrendamento mercantil podem ser divididas em duas modalidades: leasing financeiro e leasing operacional. A diferença básica é que no leasing financeiro o prazo é usualmente maior e o arrendatário tem a possibilidade de adquirir o bem por um valor pré-estabelecido. Ao final do contrato, o arrendatário tem as opções de efetivar a aquisição do bem arrendado ou devolvê-lo. Ao final do leasing financeiro, em geral o cliente já terá pago a maior parte do valor do bem, não sendo a devolução, embora possível, financeiramente vantajosa)
                - SEM SISTEMA DE AMORTIZAÇÃO"
              maxLength: 24
              enum:
                - SAC
                - PRICE
                - SAM
                - SEM_SISTEMA_AMORTIZACAO
              example: SAC
            interestRates:
              type: array
              items:
                type: object
                description: Objeto que traz o conjunto de informações necessárias para demonstrar a composição das taxas de juros remuneratórios da Modalidade de crédito
                required:
                  - taxType
                  - interestRateType
                  - taxPeriodicity
                  - calculation
                  - referentialRateIndexerType
                  - preFixedRate
                  - postFixedRate
                  - additionalInfo
                properties:
                  taxType:
                    type: string
                    description: |
                      "Tipo de Taxa (vide  Enum)
                      - NOMINAL (taxa nominal é uma taxa de juros em que a unidade referencial não coincide com a unidade de tempo da capitalização. Ela é sempre fornecida em termos anuais, e seus períodos de capitalização podem ser diários, mensais, trimestrais ou semestrais. p.ex. Uma taxa de 12% ao ano com capitalização mensal)
                      - EFETIVA (É a taxa de juros em que a unidade referencial coincide com a unidade de tempo da capitalização. Como as unidades de medida de tempo da taxa de juros e dos períodos de capitalização são iguais, usa-se exemplos simples como 1% ao mês, 60% ao ano)"
                    maxLength: 10
                    enum:
                      - NOMINAL
                      - EFETIVA
                    example: EFETIVA
                  interestRateType:
                    type: string
                    description: |
                      "Tipo de Juros  (vide  Enum)
                      - SIMPLES (aplicada/cobrada sempre sobre o capital inicial, que é o valor emprestado/investido. Não há cobrança de juros sobre juros acumulados no(s) período(s) anterior(es). Exemplo: em um empréstimo de R$1.000, com taxa de juros simples de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano e R$ 80 no segundo ano. Ao final do contrato, o tomador irá devolver o principal e os juros simples de cada ano: R$1.000+R$80+R$80=R$1.160)
                      - COMPOSTO (para cada período do contrato (diário, mensal, anual etc.), há um “novo capital” para a cobrança da taxa de juros contratada. Esse “novo capital” é a soma do capital e do juro cobrado no período anterior. Exemplo: em um empréstimo de R$1.000, com taxa de juros composta de 8% a.a., com duração de 2 anos, o total de juros será R$80 no primeiro ano. No segundo ano, os juros vão ser somados ao capital (R$1.000 + R$ 80 = R$ 1.080), resultando em juros de R$ 86 (8%de R$ 1.080))"
                    maxLength: 10
                    enum:
                      - SIMPLES
                      - COMPOSTO
                    example: SIMPLES
                  taxPeriodicity:
                    type: string
                    description: |
                      "Periodicidade da taxa . (Vide  Enum)
                      a.m - ao mês
                      a.a. - ao ano"
                    maxLength: 2
                    enum:
                      - AM
                      - AA
                    example: AA
                  calculation:
                    type: string
                    description: Base de cálculo
                    maxLength: 6
                    enum:
                      - 21/25
                      - 30/360
                      - 30/365
                    example: 21/25
                  referentialRateIndexerType:
                    type: string
                    description: |
                      "Tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
                    maxLength: 20
                    enum:
                      - SEM_SUB_TIPO_INDEXADOR
                      - SEM_INDEXADOR_TAXA
                      - PRE_FIXADO
                      - POS_FIXADO
                      - FLUTUANTES
                      - INDICES_PRECOS
                      - CREDITO_RURAL
                      - OUTROS_INDEXADORES
                    example: PRE_FIXADO
                  referentialRateIndexerSubType:
                    type: string
                    description: |
                      "Sub tipos de taxas referenciais ou indexadores, conforme Anexo 5: Taxa referencial ou Indexador (Indx), do Documento 3040"
                    maxLength: 25
                    enum:
                      - SEM_SUB_TIPO_INDEXADOR
                      - SEM_INDEXADOR_TAXA
                      - PRE_FIXADO
                      - TR_TBF
                      - TJLP
                      - LIBOR
                      - TLP
                      - OUTRAS_TAXAS_POS_FIXADAS
                      - CDI
                      - SELIC
                      - OUTRAS_TAXAS_FLUTUANTES
                      - IGPM
                      - IPCA
                      - IPCC
                      - OUTROS_INDICES_PRECO
                      - TCR_PRE
                      - TCR_POS
                      - TRFC_PRE
                      - TRFC_POS
                      - OUTROS_INDEXADORES
                    example: TJLP
                  referentialRateIndexerAdditionalInfo:
                    type: string
                    description: "Campo livre de preenchimento obrigatório para complementar a informação relativa ao Tipo de taxa referencial ou indexador, quando selecionada o tipo ou subtipo OUTRO"
                    maxLength: 140
                    pattern: \w*\W*
                  preFixedRate:
                    type: number
                    description: |
                      "Taxa pré fixada aplicada sob o contrato da modalidade crédito.
                      p.ex. 0.0045. 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%)"
                    maxLength: 19
                    example: 0.6
                    nullable: true
                  postFixedRate:
                    type: number
                    description: |
                      "Taxa pós fixada aplicada sob o contrato da modalidade crédito.
                      p.ex. 0.0045 .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%)"
                    maxLength: 19
                    example: 0.55
                  additionalInfo:
                    type: string
                    maxLength: 1200
                    description: Texto com informações adicionais sobre a composição das taxas de juros pactuadas
                    pattern: \w*\W*
                additionalProperties: false
              minItems: 1
            contractedFees:
              type: array
              items:
                type: object
                required:
                  - feeName
                  - feeCode
                  - feeChargeType
                  - feeCharge
                properties:
                  feeName:
                    type: string
                    maxLength: 140
                    pattern: \w*\W*
                    description: Denominação da Tarifa pactuada
                    example: Excesso em Conta
                  feeCode:
                    type: string
                    maxLength: 140
                    pattern: \w*\W*
                    description: Sigla identificadora da tarifa pactuada
                    example: EXCESSO_CONTA
                  feeChargeType:
                    type: string
                    description: Tipo de cobrança para a tarifa pactuada no contrato.
                    maxLength: 10
                    enum:
                      - UNICA
                      - POR_PARCELA
                    example: UNICA
                  feeCharge:
                    type: string
                    description: |
                      "Forma de cobrança relativa a tarifa pactuada no contrato. (Vide Enum)
                      - Mínimo
                      - Máximo
                      - Fixo
                      - Percentual"
                    maxLength: 10
                    enum:
                      - MINIMO
                      - MAXIMO
                      - FIXO
                      - PERCENTUAL
                    example: MINIMO
                  feeAmount:
                    description: |
                      "Valor monetário da tarifa pactuada no contrato. Preenchimento obrigatório quando a forma de cobrança for: Mínimo, Máximo ou Fixo"
                    type: number
                    format: double
                    pattern: '(-?\d{15}(.\d{4}?))$'
                    maxLength: 19
                    minLength: 0
                    example: 100000.04
                  feeRate:
                    type: number
                    description: |
                      "É o valor da tarifa em percentual pactuada no contrato. Preenchimento obrigatório quando a forma de cobrança for Percentual. Exemplo: 0.0150 = 1,5%. Deve-se informar 4 casas decimais, mesmo que preenchidas com zeros. Exemplo: 0.2000."
                    maxLength: 19
                    example: 50
                additionalProperties: false
              minItems: 1
              description: Lista que traz a relação de tarifas pactuadas no contrato
            contractedFinancesCharges:
              type: array
              description: Lista que traz os encargos pactuados no contrato
              items:
                type: object
                required:
                  - chargeType
                  - chargeRate
                properties:
                  chargeType:
                    type: string
                    description: Tipo de encargo pactuado no contrato.
                    maxLength: 31
                    enum:
                      - JUROS_REMUNERATORIOS_POR_ATRASO
                      - MULTA_ATRASO_PAGAMENTO
                      - JUROS_MORA_ATRASO
                      - IOF_CONTRATACAO
                      - IOF_POR_ATRASO
                      - OUTROS
                    example: JUROS_REMUNERATORIOS_POR_ATRASO
                  chargeAdditionalInfo:
                    type: string
                    description: Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pactuado no contrato
                    pattern: \w*\W*
                  chargeRate:
                    type: number
                    description: |
                      Representa o valor do encargo em percentual pactuado no contrato. Exemplo: 0.0210 (=2.1%). Deve-se preencher as 4 casas decimais obrigatoriamente.
                    maxLength: 19
                    example: 0.07
                additionalProperties: false
              minItems: 1
          additionalProperties: false
        links:
          type: object
          description: Referências para outros recusos da API requisitada.
          required:
            - self
          properties:
            self:
              type: string
              format: uri
              maxLength: 2000
              description: URI completo que gerou a resposta atual.
              example: "https://api.banco.com.br/open-banking/api/v1/resource"
              pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
            first:
              type: string
              format: uri
              maxLength: 2000
              description: URI da primeira página que originou essa lista de resultados. Restrição - Obrigatório quando não for a primeira página da resposta
              example: "https://api.banco.com.br/open-banking/api/v1/resource"
              pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
            prev:
              type: string
              format: uri
              maxLength: 2000
              description: "URI da página anterior dessa lista de resultados. Restrição - \tObrigatório quando não for a primeira página da resposta"
              example: "https://api.banco.com.br/open-banking/api/v1/resource"
              pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
            next:
              type: string
              format: uri
              maxLength: 2000
              description: URI da próxima página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta
              example: "https://api.banco.com.br/open-banking/api/v1/resource"
              pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
            last:
              type: string
              format: uri
              maxLength: 2000
              description: URI da última página dessa lista de resultados. Restrição - Obrigatório quando não for a última página da resposta
              example: "https://api.banco.com.br/open-banking/api/v1/resource"
              pattern: '^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)$'
          additionalProperties: false
        meta:
          type: object
          description: Meta informações referente a API requisitada.
          required:
            - totalRecords
            - totalPages
            - requestDateTime
          properties:
            totalRecords:
              type: integer
              format: int32
              description: Número total de registros no resultado
              example: 1
            totalPages:
              type: integer
              format: int32
              description: Número total de páginas no resultado
              example: 1
            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"
          additionalProperties: false
      additionalProperties: false
    ResponseUnarrangedAccountOverdraftContractList:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          items:
            type: object
            required:
              - brandId
              - brandName
              - companyCnpj
              - productType
              - productSubType
              - ipocCode
              - contractId
            properties:
              brandId:
                type: string
                description: "Identifica a Marca reportada pelo participante do Open Banking. 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."
                maxLength: 100
                pattern: \w*\W*
                example: "29698749425984912674"
              brandName:
                type: string
                maxLength: 80
                pattern: \w*\W*
                description: "Nome da Marca reportada pelo participante do Open Banking. 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
              companyCnpj:
                type: string
                maxLength: 14
                pattern: '\d{14}|^NA$'
                description: "Número completo do CNPJ da instituição responsável pelo Cadastro - o CNPJ corresponde ao número de inscrição no Cadastro de Pessoa Jurídica. Deve-se ter apenas os números do CNPJ, sem máscara"
                example: "60500998000144"
              productType:
                $ref: "#/components/schemas/productType"
              productSubType:
                $ref: "#/components/schemas/productSubType"
              ipocCode:
                type: string
                maxLength: 67
                description: |
                  "Número padronizado do contrato - IPOC (Identificação Padronizada da Operação de Crédito). Segundo DOC 3040, composta por:
                  - **CNPJ da instituição:** 8 (oito) posições iniciais;
                  - **Modalidade da operação:** 4 (quatro) posições;
                  - **Tipo do cliente:** 1 (uma) posição( 1 = pessoa natural - CPF, 2= pessoa jurídica – CNPJ, 3 = pessoa física no exterior, 4 = pessoa jurídica no exterior, 5 = pessoa natural sem CPF e 6 = pessoa jurídica sem CNPJ);
                  - **Código do cliente:** O número de posições varia conforme o tipo do cliente:
                    1. Para clientes pessoa física com CPF (tipo de cliente = 1), informar as 11 (onze) posições do CPF;
                    2. Para clientes pessoa jurídica com CNPJ (tipo de cliente = 2), informar as 8 (oito) posições iniciais do CNPJ;
                    3. Para os demais clientes (tipos de cliente 3, 4, 5 e 6), informar 14 (catorze) posições com complemento de zeros à esquerda se a identificação tiver tamanho inferior;
                  - **Código do contrato:** 1 (uma) até 40 (quarenta) posições, sem complemento de caracteres."
                example: "92792126019929279212650822221989319252576"
              contractId:
                type: string
                maxLength: 100
                description: Um identificador único e imutável usado para identificar o contrato de uma operação de crédito. Este identificador não tem significado para o tomador do crédito
                example: xcjklompowsa279212650822221989319aadrtjk
            additionalProperties: false
          minItems: 1
          description: Conjunto de informações de contratos de adiantamento a depositantes mantidos pelo cliente na instituição transmissora e para os quais ele tenha fornecido consentimento
        links:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/links"
        meta:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/meta"
      additionalProperties: false
    ResponseUnarrangedAccountOverdraftInstalments:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: object
          description: Conjunto de informações referentes ao prazo remanescente e às parcelas de uma operação de crédito de adiantamento a depositante
          required:
            - contractRemainingDays
            - dueInstalments
            - pastDueInstalments
            - balloonPayments
          properties:
            contractRemainingDays:
              type: number
              maxLength: 6
              description: Prazo Remanescente em dias do contrato referente à Modalidade de Crédito informada
              example: 14600
            dueInstalments:
              type: number
              maxLength: 3
              description: "Quantidade de prestações a vencer. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)"
              example: 57
            pastDueInstalments:
              type: number
              maxLength: 3
              description: "Quantidade de prestações vencidas. (No caso de modalidades que não possuam parcelas, o número de prestações é igual a zero)"
              example: 73
            balloonPayments:
              type: array
              items:
                type: object
                description: Conjunto de informações relativas às parcelas não regulares do contrato da modalidade de crédito consultada
                required:
                  - dueDate
                  - currency
                  - amount
                properties:
                  dueDate:
                    description: "Data de vencimento da parcela não regular  a vencer do contrato da modalidade de crédito consultada, conforme especificação RFC-3339. p.ex. 2014-03-19"
                    type: string
                    maxLength: 20
                    format: date-time
                    example: "2021-05-21T08:30:00Z"
                  currency:
                    type: string
                    pattern: '^(\w{3}){1}$'
                    maxLength: 3
                    description: |
                      "Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. 'BRL' 
                      Todos os valores monetários informados estão representados com a moeda vigente do Brasil"
                    example: BRL
                  amount:
                    description: Valor monetário da parcela não regular a vencer.  Expresso em valor monetário com até 4 casas decimais
                    type: number
                    format: double
                    pattern: '(-?\d{15}(.\d{4}?))$'
                    maxLength: 19
                    minLength: 0
                    example: 100000.04
                additionalProperties: false
              minItems: 1
              description: Lista que traz as datas de vencimento e valor das parcelas não regulares  do contrato da modalidade de crédito consultada
          additionalProperties: false
        links:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/links"
        meta:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/meta"
      additionalProperties: false
    ResponseUnarrangedAccountOverdraftPayments:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: object
          description: Conjunto de informações referentes aos pagamentos realizados de uma operação de crédito de adiantamento a depositantes
          required:
            - paidInstalments
            - contractOutstandingBalance
            - releases
          properties:
            paidInstalments:
              type: number
              maxLength: 3
              description: Quantidade total de parcelas pagas do contrato referente à Modalidade de Crédito informada
              example: 73
            contractOutstandingBalance:
              description: "Saldo devedor Remanescente, divulgado nos canais eletrônicos, do contrato referente à Modalidade de Crédito informada. Expresso em valor monetário com 4 casas decimais"
              type: number
              format: double
              pattern: '(-?\d{15}(.\d{4}?))$'
              maxLength: 19
              minLength: 0
              example: 100000.04
            releases:
              type: array
              description: Lista dos pagamentos realizados no período
              items:
                type: object
                description: Lista dos pagamentos realizados no período
                required:
                  - paymentId
                  - isOverParcelPayment
                  - instalmentId
                  - paidDate
                  - currency
                  - paidAmount
                  - overParcel
                properties:
                  paymentId:
                    type: string
                    description: Texto livre de responsabilidade de cada Instituição transmissora para identificar o pagamento informado
                    maxLength: 80
                    pattern: \w*\W*
                    example: Parcela regular
                  isOverParcelPayment:
                    type: boolean
                    description: Identifica se é um pagamento pactuado ou avulso.
                    example: true
                  instalmentId:
                    type: string
                    description: Texto livre de responsabilidade de cada Instituição transmissora para identificar a parcela informada
                    maxLength: 40
                    pattern: \w*\W*
                    example: "15"
                  paidDate:
                    description: "Traz a data de efetivação do pagamento referente ao contrato da modalidade de crédito consultada, conforme especificação RFC-3339."
                    type: string
                    maxLength: 20
                    format: date-time
                    example: "2021-05-21T08:30:00Z"
                  currency:
                    type: string
                    pattern: '^(\w{3}){1}$'
                    maxLength: 3
                    description: "Moeda referente ao valor monetário informado, segundo modelo ISO-4217. p.ex. ''BRL''. Todos os valores monetários informados estão representados com a moeda vigente do Brasil"
                    example: BRL
                  paidAmount:
                    description: Traz o valor do pagamento referente ao  contrato da modalidade de crédito consultada. Expresso em valor monetário com 4 casas decimais
                    type: number
                    format: double
                    pattern: '(-?\d{15}(.\d{4}?))$'
                    maxLength: 19
                    minLength: 0
                    example: 100000.04
                  overParcel:
                    type: object
                    description: Objeto das tarifas e encargos que foram pagos fora da parcela.
                    required:
                      - fee
                      - charge
                    properties:
                      fee:
                        type: array
                        description: "Lista das tarifas que foram pagas fora da parcela, só para pagamento avulso."
                        items:
                          type: object
                          required:
                            - feeName
                            - feeCode
                            - feeAmount
                          properties:
                            feeName:
                              type: string
                              description: Denominação da Tarifa avulsa paga fora da parcela
                              maxLength: 250
                              pattern: \w*\W*
                              example: reavaliação periódica do bem
                            feeCode:
                              type: string
                              description: Sigla identificadora da tarifa avulsa fora da parcela
                              maxLength: 140
                              pattern: \w*\W*
                              example: aval_bem
                            feeAmount:
                              description: Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.
                              type: number
                              format: double
                              pattern: '(-?\d{15}(.\d{4}?))$'
                              maxLength: 19
                              minLength: 0
                              example: 100000.04
                          additionalProperties: false
                        minItems: 1
                      charge:
                        type: array
                        items:
                          type: object
                          required:
                            - chargeType
                            - chargeAdditionalInfo
                            - chargeAmount
                          properties:
                            chargeType:
                              type: string
                              description: Tipo de encargo pago fora da parcela
                              maxLength: 35
                              enum:
                                - JUROS_REMUNERATORIOS_POR_ATRASO
                                - MULTA_ATRASO_PAGAMENTO
                                - JUROS_MORA_ATRASO
                                - IOF_CONTRATACAO
                                - IOF_POR_ATRASO
                                - OUTROS
                              example: JUROS_REMUNERATORIOS_POR_ATRASO
                            chargeAdditionalInfo:
                              type: string
                              description: Campo de preenchimento obrigatório se selecionada a opção 'OUTROS' em Tipo de encargo pago fora da parcela
                              pattern: \w*\W*
                              maxLength: 140
                              example: Informações Adicionais
                            chargeAmount:
                              description: Valor do pagamento do encargo pago fora da parcela. Expresso em valor monetário com até 4 casas decimais.
                              type: number
                              format: double
                              pattern: '(-?\d{15}(.\d{4}?))$'
                              maxLength: 19
                              minLength: 0
                              example: 100000.04
                          additionalProperties: false
                        minItems: 1
                    additionalProperties: false
                additionalProperties: false
          additionalProperties: false
        links:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/links"
        meta:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/meta"
      additionalProperties: false
    ResponseUnarrangedAccountOverdraftWarranties:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          description: Conjunto de informações referentes às garantias que avalizam a operação de crédito de adiantamento a depositantes
          items:
            type: object
            description: Conjunto de informações referentes às garantias que avalizam a operação de crédito contratada
            required:
              - currency
              - warrantyType
              - warrantySubType
              - warrantyAmount
            properties:
              currency:
                type: string
                pattern: '^(\w{3}){1}$'
                maxLength: 3
                description: "Moeda referente ao valor da garantia, segundo modelo ISO-4217. p.ex. 'BRL'. Todos os valores monetários informados estão representados com a moeda vigente do Brasil"
                example: BRL
              warrantyType:
                type: string
                description: "Denominação/Identificação do tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada  (Doc 3040, Anexo 12)"
                maxLength: 40
                enum:
                  - SEM_TIPO_GARANTIA
                  - 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
                example: CESSAO_DIREITOS_CREDITORIOS
              warrantySubType:
                type: string
                description: "Denominação/Identificação do sub tipo da garantia que avaliza a Modalidade da Operação de Crédito contratada (Doc 3040, Anexo 12)"
                maxLength: 100
                enum:
                  - ACOES_DEBENTURES
                  - APLICACOES_FINANCEIRAS_RENDA_FIXA
                  - APLICACOES_FINANCEIRAS_RENDA_VARIAVEL
                  - APOLICES_CREDITO_EXPORTACAO
                  - CCR_CONVENIO _CREDITOS_RECIPROCOS
                  - CHEQUES
                  - CIVIL
                  - DIREITOS_SOBRE_ALUGUEIS
                  - DEPOSITOS_A_VISTA_A_PRAZO_POUPANCA_OURO_TITULOS_PUBLICOS_FEDERAIS_ART_36
                  - DEPOSITO_TITULOS_EMITIDOS_ENTIDADES_ART_23
                  - DUPLICATAS
                  - EMD_ENTIDADES_MULTILATERAIS_DESENVOLVIMENTO_ART_37
                  - EQUIPAMENTOS FATURA_CARTAO_CREDITO
                  - ESTADUAL_OU_DISTRITAL
                  - FATURA_CARTAO_CREDITO
                  - FEDERAL
                  - FCVS_FUNDO_COMPENSACAO_VARIACOES_SALARIAIS
                  - FGI_FUNDO_GARANTIDOR_INVESTIMENTOS
                  - FGPC_FUNDO_GARANTIA_PROMOCAO_COMPETIT
                  - FGTS_FUNDO_GARANTIA_TEMPO_SERVICO
                  - FUNDO_GARANTIDOR_AVAL
                  - GARANTIA_PRESTADA_FGPC_LEI_9531_ART_37
                  - GARANTIA_PRESTADA_FUNDOS_QUAISQUER_OUTROS_MECANISMOS_COBERTURA_RISCO_CREDITO_ART_37
                  - GARANTIA_PRESTADA_TESOURO_NACIONAL_OU_BACEN_ART_37_BENS_DIREITOS_INTEGRANTES_PATRIMONIO_AFETACAO
                  - IMOVEIS
                  - IMOVEIS_RESIDENCIAIS
                  - MITIGADORAS
                  - MUNICIPAL
                  - NAO_MITIGADORAS
                  - NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO
                  - OUTRAS
                  - OUTROS
                  - OUTROS_BENS
                  - OUTROS_GRAUS
                  - OUTROS_IMOVEIS
                  - OUTROS_SEGUROS_ASSEMELHADOS OUTROS_BENS
                  - PESSOA_FISICA
                  - PESSOA_FISICA_EXTERIOR
                  - PESSOA_JURIDICA
                  - PESSOA_JURIDICA_EXTERIOR
                  - PRIMEIRO_GRAU_BENS_DIREITOS_INTEGRANTES_PATRIMONIO_AFETACAO
                  - PRIMEIRO_GRAU_IMOVEIS_RESIDENCIAIS
                  - PRIMEIRO_GRAU_OUTROS
                  - PRODUTOS_AGROPECUARIOS_COM_WARRANT
                  - PRODUTOS_AGROPECUARIOS_SEM_WARRANT
                  - SBCE_SOCIEDADE_BRASILEIRA_CREDITO_EXPORTAÇÃO
                  - SEGURO_RURAL
                  - TRIBUTOS_RECEITAS_ORCAMENTARIAS
                  - VEICULOS
                  - VEICULOS_AUTOMOTORES
                example: NOTAS_PROMISSORIAS_OUTROS_DIREITOS_CREDITO
              warrantyAmount:
                description: "Valor original da garantia. Valor monetário, expresso com até 4 casas decimais."
                type: number
                format: double
                pattern: '(-?\d{15}(.\d{4}?))$'
                maxLength: 19
                minLength: 0
                example: 100000.04
            additionalProperties: false
        links:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/links"
        meta:
          $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/meta"
      additionalProperties: false
    productType:
      type: string
      description: |
        "Tipo da modalidade de crédito contratada, conforme circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
        Adiantamento a depositantes, Direitos creditórios descontados Empréstimos,  Financiamentos, Financiamentos rurais  e Financiamentos imobiliários"
      enum:
        - ADIANTAMENTO_A_DEPOSITANTES
      example: ADIANTAMENTO_A_DEPOSITANTES
    productSubType:
      type: string
      description: |
        "Sub tipo da modalidades de crédito contratadas, conforme  circular 4.015 e descrição do DOC3040 do SCR). (Vide Enum)
        Adiantamento a depositantes, Crédito pessoal sem consignação, Crédito pessoal com consignação, Home equity, 
        Microcrédito produtivo orientado, Cheque especial, Conta garantida, Capital de giro com prazo de vencimento até 365 dias, 
        capital de giro com prazo de vencimento superior a 365 dias, Capital de giro com teto rotativo, Desconto de duplicatas, 
        Desconto de cheques,  Antecipação da fatura do cartão de crédito, Outros direitos creditórios descontados, outros títulos descontados, 
        Aquisição de bens veículos automotores, Aquisição de bens de outros bens, Microcrédito, Custeio, Investimento, Industrialização, 
        Comercialização, Financiamento habitacional SFH e Financiamento habitacional exceto SFH"
      enum:
        - ADIANTAMENTO_A_DEPOSITANTES
      example: ADIANTAMENTO_A_DEPOSITANTES
  parameters:
    Authorization:
      name: Authorization
      in: header
      description: Cabeçalho HTTP padrão. Permite que as credenciais sejam fornecidas dependendo do tipo de recurso solicitado
      required: true
      schema:
        type: string
        pattern: \w*\W*
        maxLength: 2048
    contractId:
      name: contractId
      in: path
      description: Identificador do contrato para todos os tipos de operação de crédito.
      required: true
      schema:
        type: string
        pattern: "^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$"
        maxLength: 40
    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
        default: 1
        minimum: 1
        format: int32
    pageSize:
      name: page-size
      in: query
      description: Quantidade total de registros por páginas.
      schema:
        type: integer
        default: 25
        minimum: 1
        format: int32
        maximum: 10000
    xCustomerUserAgent:
      name: x-customer-user-agent
      in: header
      description: Indica o user-agent que o usuário utiliza.
      required: false
      schema:
        type: string
        pattern: \w*\W*
        minLength: 1
        maxLength: 100
    xFapiAuthDate:
      name: x-fapi-auth-date
      in: header
      description: "Data em que o usuário logou pela última vez com o receptor. Representada de acordo com a [RFC7231](https://tools.ietf.org/html/rfc7231).Exemplo: Sun, 10 Sep 2017 19:43:31 UTC"
      required: false
      schema:
        type: string
        pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$'
        minLength: 29
        maxLength: 29
    xFapiCustomerIpAddress:
      name: x-fapi-customer-ip-address
      in: header
      description: O endereço IP do usuário se estiver atualmente logado com o receptor.
      required: false
      schema:
        type: string
        pattern: \w*\W*
        minLength: 1
        maxLength: 100
    xFapiInteractionId:
      name: x-fapi-interaction-id
      in: header
      description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.'
      required: false
      schema:
        type: string
        pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$'
        minLength: 1
        maxLength: 100
  securitySchemes:
    OpenId:
      type: openIdConnect
      openIdConnectUrl: "https://authserver.example/.well-known/openid-configuration"
  responses:
    OKResponseUnarrangedAccountOverdraftContractList:
      description: Lista de contratos obtida com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContract/headers/x-fapi-interaction-id/schema"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContractList"
    OKResponseUnarrangedAccountOverdraftContract:
      description: Dados do contrato de adiantamento a depositantes identificado por contractId
      headers:
        x-fapi-interaction-id:
          schema:
            type: string
            pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$'
            maxLength: 100
            description: 'Um UID [RFC4122](https://tools.ietf.org/html/rfc4122) usado como um ID de correlação. Se fornecido, o transmissor deve "reproduzir" esse valor no cabeçalho de resposta.'
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract"
    OKResponseUnarrangedAccountOverdraftWarranties:
      description: Lista de garantias vinculadas ao contrato de adiantamento a depositantes identificado por contractId
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContract/headers/x-fapi-interaction-id/schema"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftWarranties"
    OKResponseUnarrangedAccountOverdraftInstalments:
      description: Dados do cronograma de parcelas do contrato de adiantamento a depositantes identificado por contractId
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContract/headers/x-fapi-interaction-id/schema"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftInstalments"
    OKResponseUnarrangedAccountOverdraftPayments:
      description: Dados de pagamentos do contrato de adiantamento a depositantes identificado por contractId
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: "#/components/responses/OKResponseUnarrangedAccountOverdraftContract/headers/x-fapi-interaction-id/schema"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftPayments"
    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/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema"
    Forbidden:
      description: O token tem escopo incorreto ou uma política de segurança foi violada
      content:
        application/json; charset=utf-8:
          schema:
            $ref: "#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema"
    InternalServerError:
      description: Ocorreu um erro no gateway da API ou no microsserviço
      content:
        application/json; charset=utf-8:
          schema:
            $ref: "#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema"
    MethodNotAllowed:
      description: O consumidor tentou acessar o recurso com um método não suportado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: "#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema"
    NotAcceptable:
      description: A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8
      content:
        application/json; charset=utf-8:
          schema:
            $ref: "#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema"
    NotFound:
      description: O recurso solicitado não existe ou não foi implementado
      content:
        application/json; charset=utf-8:
          schema:
            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: \w*\W*
                      maxLength: 255
                    title:
                      description: Título legível por humanos deste erro específico
                      type: string
                      pattern: \w*\W*
                      maxLength: 255
                    detail:
                      description: Descrição legível por humanos deste erro específico
                      type: string
                      pattern: \w*\W*
                      maxLength: 2048
                  additionalProperties: false
              meta:
                $ref: "#/components/schemas/ResponseUnarrangedAccountOverdraftContract/properties/meta"
            additionalProperties: false
    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/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema"
    Unauthorized:
      description: Cabeçalho de autenticação ausente/inválido ou token inválido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: "#/components/responses/NotFound/content/application~1json%3B%20charset%3Dutf-8/schema"
