﻿openapi: 3.0.0
info:
  title: API Credit-cards-accounts - Open Finance Brasil
  description: |
    API de contas de pagamento pós-pagas do Open Finance Brasil – Fase 2.
    API que retorna informações de contas de pagamento pós-paga mantidas nas instituições transmissoras por seus clientes, incluindo dados como denominação, produto, bandeira, limites de crédito, informações sobre transações de pagamento efetuadas e faturas.

    Não possui segregação entre pessoa natural e pessoa jurídica.\
    Requer consentimento do cliente para todos os `endpoints`.

    # Orientações
    A `Role`  do diretório de participantes relacionada à presente API é a `DADOS`.\
    Para todos os `endpoints` desta API é previsto o envio de um `token` através do header `Authorization`.\
    Este token deverá estar relacionado ao consentimento (`consentId`) mantido na instituição transmissora dos dados, o qual permitirá a pesquisa e retorno, na API em questão, dos
    dados relacionados ao `consentId` específico relacionado.\
    Os dados serão devolvidos na consulta desde que o `consentId` relacionado corresponda a um consentimento válido e com o status `AUTHORISED`.\
    É também necessário que o recurso em questão (conta, contrato, etc) esteja disponível na instituição transmissora (ou seja, sem boqueios de qualquer natureza e com todas as autorizações/consentimentos já autorizados).\
    Além disso as `permissions` necessárias deverão ter sido solicitadas quando da criação do consentimento relacionado (`consentId`).\
    Relacionamos a seguir as `permissions` necessárias para a consulta de dados em cada `endpoint` da presente API.\
    ### `/accounts/{creditCardAccountId}/bills`
      - description:
        - Só deve ser informada uma fatura já fechada.
        - Qualquer pagamento deve ser contado para a última fatura fechada.
    ### `/accounts/{creditCardAccountId}/bills/{billId}/transactions`
      - description:
        - A lista a retornar se refere a transações após base 2/clearing/conciliado
    ### `/accounts/{creditCardAccountId}/transactions`
      - description:
        - A lista a retornar se refere a transações após base 2/clearing/conciliado

    ## Permissions necessárias para a API Credit-cards-accounts

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

    ### `/accounts`
      - permissions:
        - GET: **CREDIT_CARDS_ACCOUNTS_READ**
    ### `/accounts/{creditCardAccountId}`
      - permissions:
        - GET: **CREDIT_CARDS_ACCOUNTS_READ**
    ### `/accounts/{creditCardAccountId}/bills`
      - permissions:
        - GET: **CREDIT_CARDS_ACCOUNTS_BILLS_READ**
    ### `/accounts/{creditCardAccountId}/bills/{billId}/transactions`
      - permissions:
        - GET: **CREDIT_CARDS_ACCOUNTS_BILLS_TRANSACTIONS_READ**
    ### `/accounts/{creditCardAccountId}/limits`
      - permissions:
        - GET: **CREDIT_CARDS_ACCOUNTS_LIMITS_READ**
    ### `/accounts/{creditCardAccountId}/transactions`
      - permissions:
        - GET: **CREDIT_CARDS_ACCOUNTS_TRANSACTIONS_READ**
    ### `/accounts/{creditCardAccountId}/transactions-current`
      - permissions:
        - GET: **CREDIT_CARDS_ACCOUNTS_TRANSACTIONS_READ**

    ## Tabela: Data de imutabilidade por tipo de transação
    ```
      |-------------------|-------------------------|-----------------------|
      | Tipo de Transação | Data da Obrigatoriedade | Data da Imutabilidade |
      |-------------------|-------------------------|-----------------------|
      | PAGAMENTO         | DO                      | Fatura fechada        |
      |-------------------|-------------------------|-----------------------|
      | TARIFA            | DO                      | Fatura fechada        |
      |-------------------|-------------------------|-----------------------|
      | OPERACOES_CRED    | DO                      | Fatura fechada        |
      |-------------------|-------------------------|-----------------------|
      | ESTORNO           | DO                      | Fatura fechada        |
      |-------------------|-------------------------|-----------------------|
      | CASHBACK          | DO                      | Fatura fechada        |
      |-------------------|-------------------------|-----------------------|
      | OUTROS            | DO                      | Fatura fechada        |
      |-------------------|-------------------------|-----------------------|
      ```
  version: 3.0.0-beta.1
  license:
    name: Apache 2.0
    url: 'https://www.apache.org/licenses/LICENSE-2.0'
  contact:
    name: Governança do Open Finance Brasil – Especificações
    email: gt-interfaces@openbankingbr.org
    url: 'https://openbanking-brasil.github.io/areadesenvolvedor/'
servers:
  - url: 'https://api.banco.com.br/open-banking/credit-cards-accounts/v2'
    description: Servidor de Produção
  - url: 'https://apih.banco.com.br/open-banking/credit-cards-accounts/v2'
    description: Servidor de Homologação
tags:
  - name: Credit Card
    description: Operações para listagem das informações de Cartão de Crédito
paths:
  /accounts:
    get:
      tags:
        - Credit Card
      summary: Conjunto de informações das Contas de pagamento pós paga
      operationId: creditCardsGetAccounts
      description: Método para obter a lista de contas de pagamento pós-paga mantidas pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento
      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'
        - $ref: '#/components/parameters/pagination-key'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseCreditCardAccountsList'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - credit-cards-accounts
  '/accounts/{creditCardAccountId}':
    get:
      tags:
        - Credit Card
      summary: Obtém os dados de identificação da conta identificada por creditCardAccountId.
      operationId: creditCardsGetAccountsCreditCardAccountId
      description: Método para obter os dados de identificação da conta de pagamento pós-paga identificada por creditCardAccountId mantida pelo cliente na instituição transmissora.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/creditCardAccountId'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseCreditCardAccountsIdentification'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - credit-cards-accounts
  '/accounts/{creditCardAccountId}/bills':
    get:
      tags:
        - Credit Card
      summary: Obtém a lista de faturas da conta identificada por creditCardAccountId.
      description: |
        Método para obter a lista de faturas da conta de pagamento pós-paga identificada por creditCardAccountId mantida pelo cliente na instituição transmissora.\
        Só deve ser informada uma fatura já fechada.\
        Qualquer pagamento deve ser contado para a última fatura fechada.
      operationId: creditCardsGetAccountsCreditCardAccountIdBills
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/creditCardAccountId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pagination-key'
        - $ref: '#/components/parameters/fromDueDate'
        - $ref: '#/components/parameters/toDueDate'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseCreditCardAccountsBills'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - credit-cards-accounts
  '/accounts/{creditCardAccountId}/bills/{billId}/transactions':
    get:
      tags:
        - Credit Card
      summary: Obtém a lista de transações da conta identificada por creditCardAccountId e billId.
      operationId: creditCardsGetAccountsCreditCardAccountIdBillsBillIdTransactions
      description: |
        Método para obter a lista de transações da conta de pagamento pós-paga identificada por creditCardAccountId e billId mantida pelo cliente na instituição transmissora. 
        A lista a retornar se refere a transações após base 2/clearing/conciliado
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/creditCardAccountId'
        - $ref: '#/components/parameters/billId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pagination-key'
        - $ref: '#/components/parameters/fromTransactionDate'
        - $ref: '#/components/parameters/toTransactionDate'
        - $ref: '#/components/parameters/creditCardTransactionType'
        - $ref: '#/components/parameters/creditCardPayeeMCC'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseCreditCardAccountsBillsTransactions'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - credit-cards-accounts
  '/accounts/{creditCardAccountId}/limits':
    get:
      tags:
        - Credit Card
      summary: Obtém os limites da conta identificada por creditCardAccountId.
      operationId: creditCardsGetAccountsCreditCardAccountIdLimits
      description: Método para obter os limites da conta de pagamento pós-paga identificada por creditCardAccountId mantida pelo cliente na instituição transmissora.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/creditCardAccountId'
        - $ref: '#/components/parameters/pagination-key'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseCreditCardAccountsLimits'
        '400':
          $ref: '#/components/responses/BadRequestWithAdditionalProperties'
        '401':
          $ref: '#/components/responses/UnauthorizedWithAdditionalProperties'
        '403':
          $ref: '#/components/responses/ForbiddenWithAdditionalProperties'
        '404':
          $ref: '#/components/responses/NotFoundWithAdditionalProperties'
        '405':
          $ref: '#/components/responses/MethodNotAllowedWithAdditionalProperties'
        '406':
          $ref: '#/components/responses/NotAcceptableWithAdditionalProperties'
        '422':
          $ref: '#/components/responses/UnprocessableEntityWithAdditionalProperties'
        '423':
          $ref: '#/components/responses/LockedWithAdditionalProperties'
        '429':
          $ref: '#/components/responses/TooManyRequestsWithAdditionalProperties'
        '500':
          $ref: '#/components/responses/InternalServerErrorWithAdditionalProperties'
        '504':
          $ref: '#/components/responses/GatewayTimeoutWithAdditionalProperties'
        '529':
          $ref: '#/components/responses/SiteIsOverloadedWithAdditionalProperties'
        default:
          $ref: '#/components/responses/DefaultWithAdditionalProperties'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - credit-cards-accounts
  '/accounts/{creditCardAccountId}/transactions':
    get:
      tags:
        - Credit Card
      summary: Obtém a lista de transações da conta identificada por creditCardAccountId.
      operationId: creditCardsGetAccountsCreditCardAccountIdTransactions
      description: |-
        Método para obter a lista de transações da conta de pagamento pós-paga identificada por creditCardAccountId mantida pelo cliente na instituição transmissora.
        A lista a retornar se refere a transações após base 2/clearing/conciliado
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/creditCardAccountId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pagination-key'
        - $ref: '#/components/parameters/fromTransactionDate'
        - $ref: '#/components/parameters/toTransactionDate'
        - $ref: '#/components/parameters/creditCardTransactionType'
        - $ref: '#/components/parameters/creditCardPayeeMCC'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseCreditCardAccountsTransactions'
        '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'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '423':
          $ref: '#/components/responses/Locked'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
        '529':
          $ref: '#/components/responses/SiteIsOverloaded'
        default:
          $ref: '#/components/responses/Default'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - credit-cards-accounts
  '/accounts/{creditCardAccountId}/transactions-current':
    get:
      tags:
        - Credit Card
      summary: Obtém a lista de transações recentes (últimos 7 dias) da conta identificada por creditCardAccountId.
      operationId: creditCardsGetAccountsCreditCardAccountIdTransactionsCurrent
      description: Método para obter a lista de transações recentes (últimos 7 dias) da conta de pagamento pós-paga identificada por creditCardAccountId mantida pelo cliente na instituição transmissora.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/xFapiAuthDate'
        - $ref: '#/components/parameters/xFapiCustomerIpAddress'
        - $ref: '#/components/parameters/xFapiInteractionId'
        - $ref: '#/components/parameters/xCustomerUserAgent'
        - $ref: '#/components/parameters/creditCardAccountId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/pageSize'
        - $ref: '#/components/parameters/pagination-key'
        - $ref: '#/components/parameters/fromTransactionDateMaxLimited'
        - $ref: '#/components/parameters/toTransactionDateMaxLimited'
        - $ref: '#/components/parameters/creditCardTransactionType'
        - $ref: '#/components/parameters/creditCardPayeeMCC'
      responses:
        '200':
          $ref: '#/components/responses/OKResponseCreditCardAccountsTransactions'
        '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'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '423':
          $ref: '#/components/responses/Locked'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
        '529':
          $ref: '#/components/responses/SiteIsOverloaded'
        default:
          $ref: '#/components/responses/Default'
      security:
        - OpenId:
            - openid
          OAuth2Security:
            - 'consent:consentId'
            - credit-cards-accounts
components:
  schemas:
    CreditCardAccountsTransactionAmount:
      type: object
      description: |
        Valor original da transação. Expresso em valor monetário com no mínimo 2 casas decimais e no máximo 4 casas decimais. Deve ser sempre preenchido com o valor original da transação independente da nacionalidade, sem convertê-lo.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    CreditCardAccountsTransactionBrazilianAmount:
      type: object
      description: |
        Valor da transação expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais, em moeda corrente do Brasil. Deve ser o valor de amount convertido para BRL (em caso de compra internacional) ou o mesmo valor de amount (em caso de compra nacional).
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor relacionado ao objeto.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    CreditCardsAccountsIdentificationData:
      type: object
      description: Conjunto de informações referentes à identificação da conta de pagamento pós-paga.
      required:
        - name
        - productType
        - creditCardNetwork
        - paymentMethod
      properties:
        name:
          type: string
          pattern: '[\w\W\s]*'
          description: |
            Denominação/Identificação do nome da conta de pagamento pós-paga (cartão). Conforme CIRCULAR Nº 3.680,BCB, 2013: 'conta de pagamento pós-paga: destinada à execução de transações de pagamento que independem do aporte prévio de recursos'.
          maxLength: 50
          example: Cartão Universitário
        productType:
          $ref: '#/components/schemas/EnumCreditCardAccountsProductType'
        productAdditionalInfo:
          type: string
          pattern: '[\w\W\s]*'
          description: Informações complementares se tipo de Cartão 'OUTROS'
          maxLength: 50
          example: OURO_INTERNACIONAL
        creditCardNetwork:
          $ref: '#/components/schemas/EnumCreditCardAccountNetwork'
        networkAdditionalInfo:
          type: string
          pattern: '[\w\W\s]*'
          description: Texto livre para especificar categoria de bandeira marcada como 'OUTRAS'.
          maxLength: 50
          example: AURA CARD
        paymentMethod:
          type: array
          description: |
            Listagem dos cartões (ex.: virtual/adicional/titular) associados a conta cartão consentida, conforme disponíveis ao usuário nos canais proprietários.
          items:
            $ref: '#/components/schemas/CreditCardsAccountPaymentMethod'
          minItems: 1
    CreditCardAccountsBillsData:
      type: object
      description: Conjunto das informações referentes a lista de faturas associadas à conta de pagamento pós-paga
      required:
        - billId
        - dueDate
        - billTotalAmount
        - billMinimumAmount
        - isInstalment
        - payments
      properties:
        billId:
          description: Informação que identifica a fatura
          type: string
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: 3459087XXZTR
        dueDate:
          description: 'Data de vencimento da Fatura, que aparece para pagamento pelo cliente'
          type: string
          format: date
          maxLength: 10
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$'
          example: '2021-05-21'
        billTotalAmount:
          $ref: '#/components/schemas/CreditCardsBillTotalAmount'
        billMinimumAmount:
          $ref: '#/components/schemas/CreditCardAccountsBillMinimumAmount'
        isInstalment:
          type: boolean
          description: Indica se a fatura permite parcelamento (true) ou não (false).
          example: false
        financeCharges:
          type: array
          items:
            $ref: '#/components/schemas/CreditCardAccountsBillsFinanceCharge'
          minItems: 1
          description: Lista dos encargos cobrados na fatura
        payments:
          type: array
          items:
            $ref: '#/components/schemas/CreditCardAccountsBillsPayment'
          minItems: 0
          description: Lista que traz os valores relativos aos pagamentos da Fatura da conta de pagamento pós-paga
    CreditCardAccountsBillsFinanceCharge:
      type: object
      required:
        - type
        - amount
        - currency
      properties:
        type:
          $ref: '#/components/schemas/EnumCreditCardAccountsFinanceChargeType'
        additionalInfo:
          type: string
          maxLength: 140
          pattern: '[\w\W\s]*'
          example: Informações Adicionais
          description: 'Campo livre, de preenchimento obrigatório se selecionado tipo de encargo ''OUTROS'''
        amount:
          type: string
          format: double
          maxLength: 20
          minLength: 4
          pattern: '^\d{1,15}\.\d{2,4}$'
          example: '100000.0400'
          description: Valor cobrado pelo encargo. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.
        currency:
          type: string
          maxLength: 3
          pattern: '^(\w{3}){1}$'
          example: BRL
          description: |
            Moeda referente ao valor cobrado pelo encargo, segundo modelo ISO-4217. p.ex. 'BRL' 
            Todos os saldos informados estão representados com a moeda vigente do Brasil.
    CreditCardAccountsBillsPayment:
      type: object
      required:
        - valueType
        - paymentDate
        - paymentMode
        - amount
        - currency
      properties:
        valueType:
          $ref: '#/components/schemas/EnumCreditCardAccountsBillingValueType'
        paymentDate:
          description: Data efetiva de quando o Pagamento da fatura foi realizado
          type: string
          format: date
          maxLength: 10
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$'
          example: '2021-05-21'
        paymentMode:
          $ref: '#/components/schemas/EnumCreditCardAccountsPaymentMode'
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: |
            Valor pagamento segundo o valueType.  
            Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.   
            O campo não pode assumir valor negativo por se tratar de um pagamento.
        currency:
          type: string
          pattern: '^(\w{3}){1}$'
          maxLength: 3
          description: |
            Moeda referente ao valor de pagamento da fatura, segundo modelo ISO-4217. p.ex. 'BRL' Todos os valores informados estão representados com a moeda vigente do Brasil
          example: BRL
    CreditCardAccountsData:
      type: object
      description: Conjunto de informações das Contas de pagamento pós paga
      required:
        - brandName
        - companyCnpj
        - name
        - productType
        - creditCardNetwork
        - creditCardAccountId
      properties:
        creditCardAccountId:
          type: string
          description: 'Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade dentro da instituição transmissora.'
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: XXZTR3459087
        brandName:
          type: string
          description: 'Nome da Marca reportada pelo participante no Open Finance. Recomenda-se utilizar, sempre que possível, o mesmo nome de marca atribuído no campo do diretório Customer Friendly Server Name (Authorisation Server).'
          pattern: '[\w\W\s]*'
          maxLength: 80
          example: Organização A
        companyCnpj:
          type: string
          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'
          pattern: '^\d{14}$'
          maxLength: 14
          example: '21128159000166'
        name:
          type: string
          description: 'Denominação/Identificação do nome da conta de pagamento pós-paga (cartão). Conforme CIRCULAR Nº 3.680,BCB, 2013: ''conta de pagamento pós-paga: destinada à execução de transações de pagamento que independem do aporte prévio de recursos'
          pattern: '[\w\W\s]*'
          maxLength: 50
          example: Cartão Universitário
        productType:
          $ref: '#/components/schemas/EnumCreditCardAccountsProductType'
        productAdditionalInfo:
          type: string
          description: Informações complementares se tipo de Cartão 'OUTROS'
          pattern: '[\w\W\s]*'
          maxLength: 50
        creditCardNetwork:
          $ref: '#/components/schemas/EnumCreditCardAccountNetwork'
        networkAdditionalInfo:
          type: string
          description: Texto livre para especificar categoria de bandeira marcada como 'OUTRAS'
          pattern: '[\w\W\s]*'
          maxLength: 50
          example: AURA CARD
    CreditCardAccountsLimitsData:
      type: object
      description: Conjunto de informações referentes aos limites da conta de pagamento pós-paga.
      required:
        - creditLineLimitType
        - consolidationType
        - identificationNumber
        - isLimitFlexible
        - usedAmount
      properties:
        creditLineLimitType:
          $ref: '#/components/schemas/EnumCreditCardAccountsLineLimitType'
        consolidationType:
          $ref: '#/components/schemas/EnumCreditCardAccountsConsolidationType'
        identificationNumber:
          type: string
          description: |
            Número de identificação do cartão: corresponde aos 4 últimos dígitos do cartão para PF, ou então, preencher com um identificador para PJ, com as caracteristicas definidas para os IDs no Open Finance.
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: '4453'
        lineName:
          type: string
          enum:
            - CREDITO_A_VISTA
            - CREDITO_PARCELADO
            - SAQUE_CREDITO_BRASIL
            - SAQUE_CREDITO_EXTERIOR
            - EMPRESTIMO_CARTAO_CONSIGNADO
            - OUTROS
          example: CREDITO_A_VISTA
        lineNameAdditionalInfo:
          type: string
          maxLength: 50
          pattern: '[\w\W\s]*'
          example: Informações adicionais e complementares.
          description: Campo de preenchimento obrigatório se selecionada a opção 'OUTRAS' em lineName.
        isLimitFlexible:
          type: boolean
          description: True= Indica que a conta cartão possui limite total flexível ou “sem limite”. False = Indica que a conta cartão possui limite predeterminado exibido no canal para o cliente.
          example: true
        limitAmount:
          $ref: '#/components/schemas/CreditCardsLimitAmount'
        usedAmount:
          $ref: '#/components/schemas/CreditCardsUsedAmount'
        availableAmount:
          $ref: '#/components/schemas/CreditCardsAvailableAmount'
        customizedLimitAmount:
          type: object
          description: |
            Valor total do limite customizado pelo cliente nos canais eletrônicos da instituição. Esse objeto é de envio obrigatório nos casos em que a instituição permita ao cliente alterar o seu limite.
          required:
            - amount
            - currency
          properties:
            amount:
              type: string
              format: double
              pattern: '^\d{1,15}\.\d{2,4}$'
              maxLength: 20
              minLength: 4
              example: '1000.0400'
              description: |
                Valor total do limite informado expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.
            currency:
              type: string
              pattern: '^[A-Z]{3}$'
              maxLength: 3
              description: |
                Moeda referente ao limite informado, segundo modelo ISO-4217. p.ex. 'BRL.' Todos os limite informados estão representados com a moeda vigente do Brasil.
              example: BRL
    CreditCardsAccountPaymentMethod:
      type: object
      description: Conjunto de informações relativas aos Meios de Pagamento da Conta de pagamento pós-paga
      required:
        - identificationNumber
        - isMultipleCreditCard
      properties:
        identificationNumber:
          type: string
          description: |
            Número de identificação do cartão: corresponde aos 4 últimos dígitos do cartão para pessoa natural, ou então, preencher com um identificador para pessoa jurídica, com as características definidas para os IDs no Open Finance.
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: '4453'
        isMultipleCreditCard:
          type: boolean
          description: |
            Indica se o Cartão de crédito associado à conta pagamento pós-paga é múltiplo ou não. Cartões denominados múltiplos possuem tanto a função crédito quanto a função débito, devendo o proprietário do cartão, no momento de sua utilização, informar se o pagamento é na função crédito (que leva a um pagamento futuro, por meio de uma fatura do cartão de crédito) ou na função débito.
          example: true
    CreditCardsLimitAmount:
      type: object
      description: |
        Valor total do limite concedido.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: |
            Valor total do limite informado expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.

            [Restrição] O campo é obrigatório caso isLimitFlexible for igual a false.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: |
            Moeda referente ao limite informado, segundo modelo ISO-4217. p.ex. 'BRL.'
            Todos os limite informados estão representados com a moeda vigente do Brasil.

            [Restrição] O campo é obrigatório caso isLimitFlexible for igual a false.
          example: BRL
        limitAmountReason:
          type: string
          pattern: '[\w\W\s]*'
          maxLength: 200
          description: |
            Razão pela qual o valor total do limite informado está igual a zero.

            [Restrição] Campo de preenchimento obrigatório quando limitAmount for igual a 0.00.
          example: O perfil do cliente passou por uma análise e o limite precisou ser zerado
    CreditCardsUsedAmount:
      type: object
      description: Valor utilizado do limite informado
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          format: double
          pattern: '^-?\d{1,15}\.\d{2,4}$'
          maxLength: 21
          minLength: 4
          example: '1000.0400'
          description: Valor utilizado do limite informado expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: |
            Moeda referente ao limite informado, segundo modelo ISO-4217. p.ex. 'BRL.'
            Todos os saldos informados estão representados com a moeda vigente do Brasil. 
          example: BRL
    CreditCardsAvailableAmount:
      type: object
      description: |
        Valor disponível do limite informado   
      properties:
        amount:
          type: string
          format: double
          pattern: '^-?\d{1,15}\.\d{2,4}$'
          maxLength: 21
          minLength: 4
          example: '1000.0400'
          description: |
            Valor disponível do limite informado expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.

            [Restrição] O campo é obrigatório caso isLimitFlexible for igual a false.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: |
            Moeda referente ao limite informado, segundo modelo ISO-4217. p.ex. 'BRL.'
            Todos os saldos informados estão representados com a moeda vigente do Brasil.  

            [Restrição] O campo é obrigatório caso isLimitFlexible for igual a false.
          example: BRL
    CreditCardsBillTotalAmount:
      type: object
      required:
        - amount
        - currency
      description: |
        Valor total da faturas.
        O campo deve assumir valor positivo para saldo devedor e negativo para saldo credor.
      properties:
        amount:
          type: string
          format: double
          pattern: '^-?\d{1,15}\.\d{2,4}$'
          maxLength: 21
          minLength: 4
          example: '1000.0400'
          description: Valor total da faturas. Expresso em valor monetário com no mínimo 2 casas e no máximo 4 casas decimais.
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    CreditCardAccountsBillMinimumAmount:
      type: object
      required:
        - amount
        - currency
      description: |
        Valor do pagamento minimo da fatura
      properties:
        amount:
          type: string
          format: double
          pattern: '^\d{1,15}\.\d{2,4}$'
          maxLength: 20
          minLength: 4
          example: '1000.0400'
          description: Valor do pagamento minimo da fatura
        currency:
          type: string
          pattern: '^[A-Z]{3}$'
          maxLength: 3
          description: 'Moeda referente ao valor monetário, seguindo o modelo ISO-4217.'
          example: BRL
    CreditCardAccountsBillsTransactions:
      type: object
      description: Lista que traz os valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga
      required:
        - transactionId
        - identificationNumber
        - transactionName
        - creditDebitType
        - transactionType
        - brazilianAmount
        - amount
        - transactionDate
        - transactionDateTime
        - billPostDate
      properties:
        transactionId:
          type: string
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl
          description: |
            Código ou identificador único prestado pela instituição que mantém a conta para representar a transação individual. 
            É esperado que o `transactionId` seja único, imutável e estável.
        identificationNumber:
          type: string
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: '4453'
          description: |
            Número de identificação do cartão: corresponde aos 4 últimos dígitos do cartão para PF, ou então, preencher com um identificador para PJ, com as caracteristicas definidas para os IDs no Open Finance.
        transactionName:
          type: string
          maxLength: 200
          pattern: '[\w\W\s]*'
          example: PGTO
          description: Literal usada na instituição financeira para identificar a transação. A informação apresentada precisa ser a mesma utilizada nos canais eletrônicos da instituição (extrato e fatura).
        billId:
          type: string
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: MTU0OTU1NjI2NTk4OTRmc2ZhZDRmc2Q1NmZkM
          description: Informação que identifica a fatura onde consta a transação informada.
        creditDebitType:
          $ref: '#/components/schemas/EnumCreditDebitIndicator'
        transactionType:
          $ref: '#/components/schemas/EnumCreditCardTransactionType'
        transactionalAdditionalInfo:
          type: string
          maxLength: 140
          pattern: '^\S[\s\S]*$'
          description: 'Campo livre, de preenchimento obrigatório quando selecionado tipo de transação "OUTROS"'
        paymentType:
          $ref: '#/components/schemas/EnumCreditCardAccountsPaymentType'
        feeType:
          $ref: '#/components/schemas/EnumCreditCardAccountFee'
        feeTypeAdditionalInfo:
          type: string
          pattern: '^\S[\s\S]*$'
          maxLength: 140
          description: 'Campo livre, de preenchimento obrigatório quando selecionada tipo de tarifa "OUTRA"'
        otherCreditsType:
          $ref: '#/components/schemas/EnumCreditCardAccountsOtherCreditType'
        otherCreditsAdditionalInfo:
          type: string
          maxLength: 50
          pattern: '^\S[\s\S]*$'
          description: |
            Campo livre para preenchimento de dados adicionais de outros tipos de crédito contratados no cartão.

            [Restrição] Preenchimento obrigatório quando selecionado no campo outros tipos de crédito "OUTROS".
        chargeIdentificator:
          type: number
          format: integer
          description: |
            Número da parcela que está sendo informada.

            [Restrição] Preenchimento obrigatório se Tipo de Pagamento (paymentType) selecionada for 'A_PRAZO'.
          minimum: 1
          maximum: 999
          example: 12
        chargeNumber:
          type: number
          format: integer
          maximum: 999
          example: 12
          description: |
            Quantidade de parcelas.   
            [Restrição] O campo deve ser preenchido quando houverem parcelas relacionadas a transação.
        brazilianAmount:
          $ref: '#/components/schemas/CreditCardAccountsTransactionBrazilianAmount'
        amount:
          $ref: '#/components/schemas/CreditCardAccountsTransactionAmount'
        transactionDate:
          type: string
          format: date
          maxLength: 20
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$'
          example: '2021-05-21'
          description: Data original da transação
        transactionDateTime:
          type: string
          format: date-time
          maxLength: 24
          pattern: '(^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)\.(?:[0-9]){3}Z$)'
          example: '2016-01-29T12:29:03.374Z'
          description: |
            Data e hora original da transação. 
            No primeiro momento, as instituições poderão complementar informações faltantes com 0 (Por exemplo: 2016-01-29T00:00:00.000Z) 
            A partir de 31/01/2024 é esperado que o campo seja preenchido com informações reais.
        billPostDate:
          type: string
          format: date
          maxLength: 20
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$'
          example: '2021-05-21'
          description: Data em que a transação foi inserida na fatura
        payeeMCC:
          type: number
          format: integer
          maximum: 2147483647
          example: 5137
          description: |
            O MCC ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades. O MCC é usado para classificar o negócio pelo tipo fornecido de bens ou serviços. Os MCCs são atribuídos por tipo de comerciante (por exemplo, um para hotéis, um para lojas de materiais de escritório, etc.) ou por nome de comerciante (por exemplo, 3000 para a United Airlines).
    CreditCardAccountsTransaction:
      type: object
      description: Lista que traz os valores relativos aos saldos do Limite de crédito total da conta de pagamento pós-paga
      required:
        - transactionId
        - identificationNumber
        - transactionName
        - creditDebitType
        - transactionType
        - brazilianAmount
        - amount
        - transactionDate
        - transactionDateTime
      properties:
        transactionId:
          type: string
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: TXpRMU9UQTROMWhZV2xSU1FUazJSMDl
          description: |
            Código ou identificador único prestado pela instituição que mantém a conta para representar a transação individual. 
            O ideal é que o `transactionId` seja imutável. 
            No entanto, para casos em que a transação ainda está em processamento, é esperado que o `transactionId` intermediário seja estável, mudando apenas quando a transação sofrer uma mudança em seu estado. 
            Para transações processadas, é esperado que o `transactionld` e demais dados da transação sejam imutáveis. 
            O `transactionId` deve obedecer, no mínimo, as regras de imutabilidade propostas conforme a tabela “Data de imutabilidade por tipo de transação” presente nas orientações desta API
        identificationNumber:
          type: string
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: '4453'
          description: |
            Número de identificação do cartão: corresponde aos 4 últimos dígitos do cartão para PF, ou então, preencher com um identificador para PJ, com as caracteristicas definidas para os IDs no Open Finance.
        transactionName:
          type: string
          maxLength: 200
          pattern: '[\w\W\s]*'
          example: PGTO
          description: Literal usada na instituição financeira para identificar a transação. A informação apresentada precisa ser a mesma utilizada nos canais eletrônicos da instituição (extrato e fatura).
        billId:
          type: string
          maxLength: 100
          minLength: 1
          pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]{0,99}$'
          example: MTU0OTU1NjI2NTk4OTRmc2ZhZDRmc2Q1NmZkM
          description: Informação que identifica a fatura onde consta a transação informada. Preencher apenas para casos de transação em fatura fechada, ou seja, este campo não é esperado em casos de transação em fatura aberta.
        creditDebitType:
          $ref: '#/components/schemas/EnumCreditDebitIndicator'
        transactionType:
          $ref: '#/components/schemas/EnumCreditCardTransactionType'
        transactionalAdditionalInfo:
          type: string
          maxLength: 140
          pattern: '^\S[\s\S]*$'
          description: 'Campo livre, de preenchimento obrigatório quando selecionado tipo de transação "OUTROS"'
        paymentType:
          $ref: '#/components/schemas/EnumCreditCardAccountsPaymentType'
        feeType:
          $ref: '#/components/schemas/EnumCreditCardAccountFee'
        feeTypeAdditionalInfo:
          type: string
          pattern: '^\S[\s\S]*$'
          maxLength: 140
          description: 'Campo livre, de preenchimento obrigatório quando selecionada tipo de tarifa "OUTRA"'
        otherCreditsType:
          $ref: '#/components/schemas/EnumCreditCardAccountsOtherCreditType'
        otherCreditsAdditionalInfo:
          type: string
          maxLength: 50
          pattern: '^\S[\s\S]*$'
          description: |
            Campo livre para preenchimento de dados adicionais de outros tipos de crédito contratados no cartão.

            [Restrição] Preenchimento obrigatório quando selecionado no campo outros tipos de crédito "OUTROS".
        chargeIdentificator:
          type: number
          format: integer
          description: |
            Número da parcela que está sendo informada.

            [Restrição] Preenchimento obrigatório se Tipo de Pagamento (paymentType) selecionada for 'A_PRAZO'.
          minimum: 1
          maximum: 999
          example: 12
        chargeNumber:
          type: number
          format: integer
          maximum: 999
          example: 12
          description: |
            Quantidade de parcelas.   
            [Restrição] O campo deve ser preenchido quando houverem parcelas relacionadas a transação.
        brazilianAmount:
          $ref: '#/components/schemas/CreditCardAccountsTransactionBrazilianAmount'
        amount:
          $ref: '#/components/schemas/CreditCardAccountsTransactionAmount'
        transactionDate:
          type: string
          format: date
          maxLength: 20
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$'
          example: '2021-05-21'
          description: Data original da transação
        transactionDateTime:
          type: string
          format: date-time
          maxLength: 24
          pattern: '(^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)\.(?:[0-9]){3}Z$)'
          example: '2016-01-29T12:29:03.374Z'
          description: |
            Data e hora original da transação. 
            No primeiro momento, as instituições poderão complementar informações faltantes com 0 (Por exemplo: 2016-01-29T00:00:00.000Z) 
            A partir de 31/01/2024 é esperado que o campo seja preenchido com informações reais.
        billPostDate:
          type: string
          format: date
          maxLength: 20
          pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$'
          example: '2021-05-21'
          description: Data em que a transação foi inserida na fatura
        payeeMCC:
          type: number
          format: integer
          maximum: 2147483647
          example: 5137
          description: |
            O MCC ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades. O MCC é usado para classificar o negócio pelo tipo fornecido de bens ou serviços. Os MCCs são atribuídos por tipo de comerciante (por exemplo, um para hotéis, um para lojas de materiais de escritório, etc.) ou por nome de comerciante (por exemplo, 3000 para a United Airlines).
    EnumCreditCardAccountFee:
      type: string
      description: |
        Traz os tipos de Tarifas: (Vide Enum) Anuidade, Saque com cartão no Brasil, Saque com cartão no exterior, Avaliação emergencial de crédito, Emissão segunda via, Tarifa pagamento de contas, SMS, OUTRA.

        [Restrição] Preenchimento obrigatório se Tipo de Transação selecionada for 'TARIFA'.
      enum:
        - ANUIDADE
        - SAQUE_CARTAO_BRASIL
        - SAQUE_CARTAO_EXTERIOR
        - AVALIACAO_EMERGENCIAL_CREDITO
        - EMISSAO_SEGUNDA_VIA
        - TARIFA_PAGAMENTO_CONTAS
        - SMS
        - OUTRA
      example: ANUIDADE
    EnumCreditCardAccountsBillingValueType:
      type: string
      description: |
        Traz os tipos dos valores relativos aos pagamentos da fatura da conta de pagamento pós-paga: (Vide Enum)
         - Valor de pagamento da fatura com parcelamento
         - Valor pagamento da fatura realizado
         - Outro Valor pago na fatura

         VALOR_PAGAMENTO_FATURA_PARCELADO: Quando o pagamento corresponde ao fato gerador para abertura do plano de parcelamento da fatura

         VALOR_PAGAMENTO_FATURA_REALIZADO: Quando o pagamento corresponde ao valor total da fatura

         OUTRO_VALOR_PAGO_FATURA: Demais casos
      enum:
        - VALOR_PAGAMENTO_FATURA_PARCELADO
        - VALOR_PAGAMENTO_FATURA_REALIZADO
        - OUTRO_VALOR_PAGO_FATURA
    EnumCreditCardAccountsConsolidationType:
      type: string
      description: |
        Indicador que permite informar se o valor do limite é consolidado ou individual.

        CONSOLIDADO: utilizado quando o limite da conta cartão é compartilhado entre todos os métodos de pagamento (paymentMethod) atrelados a conta.

        INDIVIDUAL: Utilizado quando cada método de pagamento (paymentMethod) possui seu limite segregado.
      enum:
        - CONSOLIDADO
        - INDIVIDUAL
      example: CONSOLIDADO
    EnumCreditCardAccountsFinanceChargeType:
      type: string
      description: |
        Traz a denominação dos Encargos que
        incidem na fatura da conta de pagamento pós-paga. (Vide Enum)
        - Juros remuneratórios por atraso no pagamento da fatura
        - Multa por atraso no pagamento da fatura
        - Juros de mora por atraso no pagamento da fatura
        - IOF
        - Outros
      enum:
        - JUROS_REMUNERATORIOS_ATRASO_PAGAMENTO_FATURA
        - MULTA_ATRASO_PAGAMENTO_FATURA
        - JUROS_MORA_ATRASO_PAGAMENTO_FATURA
        - IOF
        - OUTROS
    EnumCreditCardAccountsLineLimitType:
      type: string
      description: |
        Indicador do tipo de limite

        LIMITE_CREDITO_TOTAL: Limite de crédito total aplicado a conta cartão.

        LIMITE_CREDITO_MODALIDADE_OPERACAO: Limite de crédito por modalidade desse conta cartão (observar lineName e listar os aplicáveis da instituição).
      enum:
        - LIMITE_CREDITO_TOTAL
        - LIMITE_CREDITO_MODALIDADE_OPERACAO
      example: LIMITE_CREDITO_TOTAL
    EnumCreditCardAccountNetwork:
      type: string
      description: |
        Categoria de Bandeiras de Cartões de Crédito (Instituidor do arranjo de pagamento).
        Bandeira é a detentora de todos os direitos e deveres da utilização da marca estampada no cartão, inclusive as bandeiras pertencentes aos emissores.
      enum:
        - VISA
        - MASTERCARD
        - AMERICAN_EXPRESS
        - DINERS_CLUB
        - HIPERCARD
        - BANDEIRA_PROPRIA
        - CHEQUE_ELETRONICO
        - ELO
        - OUTRAS
      example: VISA
    EnumCreditCardAccountsOtherCreditType:
      type: string
      description: |
        Traz outros tipos de crédito contratados no cartão.

        [Restrição] Preenchimento obrigatório se o tipo transação selecionado for 'OPERACOES_CREDITO_CONTRATADAS_CARTAO'.
      enum:
        - CREDITO_ROTATIVO
        - PARCELAMENTO_FATURA
        - EMPRESTIMO
        - OUTROS
      example: CREDITO_ROTATIVO
    EnumCreditCardAccountsPaymentMode:
      type: string
      description: |
        Traz as formas de efetivação do pagamento realizado: (Vide Enum)
        - Débito em conta corrente
        - Boleto bancário
        - Averbação em folha
        - PIX
      enum:
        - DEBITO_CONTA_CORRENTE
        - BOLETO_BANCARIO
        - AVERBACAO_FOLHA
        - PIX
    EnumCreditCardAccountsPaymentType:
      type: string
      description: |
        Traz os tipos de pagamento.

        [Restrição] Preenchimento obrigatório se Tipo de Transação selecionada for 'PAGAMENTO'.
      enum:
        - A_VISTA
        - A_PRAZO
      example: A_VISTA
    EnumCreditCardAccountsProductType:
      type: string
      description: 'Categoria atribuída a um cartão de pagamento, sob uma certa denominação, que lhe agrega um conjunto de vantagens, diferenciando-o de acordo com o perfil do portador.'
      enum:
        - CLASSIC_NACIONAL
        - CLASSIC_INTERNACIONAL
        - GOLD
        - PLATINUM
        - INFINITE
        - ELECTRON
        - STANDARD_NACIONAL
        - STANDARD_INTERNACIONAL
        - ELETRONIC
        - BLACK
        - REDESHOP
        - MAESTRO_MASTERCARD_MAESTRO
        - GREEN
        - BLUE
        - BLUEBOX
        - PROFISSIONAL_LIBERAL
        - CHEQUE_ELETRONICO
        - CORPORATIVO
        - EMPRESARIAL
        - COMPRAS
        - BASICO_NACIONAL
        - BASICO_INTERNACIONAL
        - NANQUIM
        - GRAFITE
        - MAIS
        - OUTROS
      example: OUTROS
    EnumCreditCardTransactionType:
      type: string
      description: Traz os tipos de Transação
      enum:
        - PAGAMENTO
        - TARIFA
        - OPERACOES_CREDITO_CONTRATADAS_CARTAO
        - ESTORNO
        - CASHBACK
        - OUTROS
      example: CASHBACK
    EnumCreditDebitIndicator:
      type: string
      description: |
        Indicador do tipo de lançamento: 
        Débito (no extrato) Em um extrato bancário, os débitos, marcados com a letra “D” ao lado do valor registrado, informam as saídas de dinheiro na conta-corrente.
        Crédito (no extrato) Em um extrato bancário, os créditos, marcados com a letra “C” ao lado do valor registrado, informam as entradas de dinheiro na conta-corrente.
      enum:
        - CREDITO
        - DEBITO
      example: DEBITO
    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@:%_\+.~#?&\/\/=]*)$'
    Meta:
      type: object
      description: Meta informações referente à 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'
    MetaOnlyRequestDateTime:
      type: object
      description: Meta informações referente à API requisitada.
      required:
        - requestDateTime
      properties:
        requestDateTime:
          description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.'
          type: string
          maxLength: 20
          format: date-time
          example: '2021-05-21T08:30:00Z'
    ResponseCreditCardAccountsList:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          description: Conjunto de informações de conta de pagamento pós-paga
          items:
            $ref: '#/components/schemas/CreditCardAccountsData'
          minItems: 0
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseCreditCardAccountsBills:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/CreditCardAccountsBillsData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseCreditCardAccountsIdentification:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          $ref: '#/components/schemas/CreditCardsAccountsIdentificationData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseCreditCardAccountsLimits:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          description: |
            [Restrição] A lista vazia deve ser interpretada como a ausência da informação.

            Cenário de limite com valor zerado, deve ter um registro explícito informando o valor como zero.

            Cenário de "cartão sem limite", isto é, cartões em que o uso do limite é ilimitado, deve ser informado em um registro explícito com isLimitFlexible como true.
          minItems: 0
          items:
            $ref: '#/components/schemas/CreditCardAccountsLimitsData'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    ResponseCreditCardAccountsTransactions:
      type: object
      required:
        - data
        - links
        - meta
      properties:
        data:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/CreditCardAccountsTransaction'
        links:
          $ref: '#/components/schemas/TransactionsLinks'
        meta:
          $ref: '#/components/schemas/MetaOnlyRequestDateTime'
    ResponseErrorMetaSingle:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          minItems: 1
          maxItems: 13
          items:
            type: object
            required:
              - code
              - title
              - detail
            properties:
              code:
                description: Código de erro específico do endpoint
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              title:
                description: Título legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              detail:
                description: Descrição legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 2048
        meta:
          $ref: '#/components/schemas/MetaOnlyRequestDateTime'
    ResponseError:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          minItems: 1
          maxItems: 13
          items:
            type: object
            required:
              - code
              - title
              - detail
            properties:
              code:
                description: Código de erro específico do endpoint
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              title:
                description: Título legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 255
              detail:
                description: Descrição legível por humanos deste erro específico
                type: string
                pattern: '[\w\W\s]*'
                maxLength: 2048
        meta:
          $ref: '#/components/schemas/Meta'
    TransactionsLinks:
      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@:%_\+.~#?&\/\/=]*)$'
    XFapiInteractionId:
      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.'
  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\s]*'
        maxLength: 2048
    billId:
      name: billId
      in: path
      description: Identificador da fatura.
      required: true
      schema:
        type: string
        pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$'
        maxLength: 100
    creditCardAccountId:
      name: creditCardAccountId
      in: path
      description: 'Identifica de forma única a conta pagamento pós-paga do cliente, mantendo as regras de imutabilidade detro da instituição transmissora'
      required: true
      schema:
        type: string
        pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$'
        maxLength: 100
    creditCardPayeeMCC:
      name: payeeMCC
      description: 'MCC é o Merchant Category Code, ou o código da categoria do estabelecimento comercial. Os MCCs são agrupados segundo suas similaridades'
      required: false
      in: query
      schema:
        type: number
        maximum: 9999
        example: 8299
        format: int32
    creditCardTransactionType:
      name: transactionType
      description: Traz os tipos de Transação
      required: false
      in: query
      schema:
        $ref: '#/components/schemas/EnumCreditCardTransactionType'
    fromDueDate:
      name: fromDueDate
      description: Data inicial de filtragem.
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    fromTransactionDate:
      name: fromTransactionDate
      description: |
        Data inicial de filtragem.

        [Restrição] Deve obrigatoriamente ser enviado caso o campo toTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual.
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    fromTransactionDateMaxLimited:
      name: fromTransactionDate
      description: |
        Data inicial de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6).

        [Restrição] Deve obrigatoriamente ser enviado caso o campo toTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual.
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    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
        maximum: 2147483647
        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: 1000
    pagination-key:
      name: pagination-key
      in: query
      description: 'Identificador de rechamada, utilizado para evitar a contagem de chamadas ao endpoint durante a paginação.'
      schema:
        type: string
        maxLength: 2048
        pattern: '[\w\W\s]*'
    toDueDate:
      name: toDueDate
      description: Data final de filtragem.
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    toTransactionDate:
      name: toTransactionDate
      description: |
        Data final de filtragem.

        [Restrição] Deve obrigatoriamente ser enviado caso o campo fromTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual.
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    toTransactionDateMaxLimited:
      name: toTransactionDate
      description: |
        Data final de filtragem. O período máximo utilizado no filtro é de 7 dias inclusive (D-6).

        [Restrição] Deve obrigatoriamente ser enviado caso o campo fromTransactionDate seja informado. Caso não seja informado, deve ser assumido o dia atual.
      required: false
      in: query
      schema:
        type: string
        maxLength: 10
        format: date
        example: '2021-05-21'
    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\s]*'
        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\s]*'
        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://auth.mockbank.poc.raidiam.io/.well-known/openid-configuration'
    OAuth2Security:
      type: oauth2
      description: Fluxo OAuth necessário para que a receptora tenha acesso aos dados na instituição transmissora. Requer o processo de redirecionamento e autenticação do usuário a que se referem os dados.
      flows:
        authorizationCode:
          authorizationUrl: 'https://authserver.example/authorization'
          tokenUrl: 'https://authserver.example/token'
          scopes:
            credit-cards-accounts: Escopo necessário para acesso à API Credit-cards-accounts. O controle dos endpoints específicos é feito via permissions.
  responses:
    OKResponseCreditCardAccountsList:
      description: Conjunto de informações das Contas de pagamento pós paga
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseCreditCardAccountsList'
    OKResponseCreditCardAccountsIdentification:
      description: Dados de identificação da conta identificada por creditCardAccountId obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseCreditCardAccountsIdentification'
    OKResponseCreditCardAccountsBills:
      description: Dados referentes à lista de faturas da conta identificada por creditCardAccountId obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseCreditCardAccountsBills'
    OKResponseCreditCardAccountsLimits:
      description: Dados dos limites da conta identificada por creditCardAccountId obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseCreditCardAccountsLimits'
    OKResponseCreditCardAccountsTransactions:
      description: Dados das lista de transações da conta identificada obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseCreditCardAccountsTransactions'
    OKResponseCreditCardAccountsBillsTransactions:
      description: Dados das lista de transações da conta identificada obtidos com sucesso.
      headers:
        x-fapi-interaction-id:
          schema:
            $ref: '#/components/schemas/XFapiInteractionId'
      content:
        application/json:
          schema:
            type: object
            required:
              - data
              - links
              - meta
            properties:
              data:
                type: array
                minItems: 0
                items:
                  $ref: '#/components/schemas/CreditCardAccountsBillsTransactions'
              links:
                $ref: '#/components/schemas/Links'
              meta:
                $ref: '#/components/schemas/Meta'
    BadRequest:
      description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    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/schemas/ResponseErrorMetaSingle'
    InternalServerError:
      description: Ocorreu um erro no gateway da API ou no microsserviço
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    GatewayTimeout:
      description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    Locked:
      description: Locked
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    MethodNotAllowed:
      description: O consumidor tentou acessar o recurso com um método não suportado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    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/schemas/ResponseErrorMetaSingle'
    NotFound:
      description: O recurso solicitado não existe ou não foi implementado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    TooManyRequests:
      description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    UnprocessableEntity:
      description: 'A sintaxe da requisição esta correta, mas não foi possível processar as instruções presentes.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    Unauthorized:
      description: Cabeçalho de autenticação ausente/inválido ou token inválido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    SiteIsOverloaded:
      description: 'O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    Default:
      description: Erro inesperado.
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseErrorMetaSingle'
    BadRequestWithAdditionalProperties:
      description: 'A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    ForbiddenWithAdditionalProperties:
      description: O token tem escopo incorreto ou uma política de segurança foi violada
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    GatewayTimeoutWithAdditionalProperties:
      description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    InternalServerErrorWithAdditionalProperties:
      description: Ocorreu um erro no gateway da API ou no microsserviço
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    LockedWithAdditionalProperties:
      description: Locked
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    MethodNotAllowedWithAdditionalProperties:
      description: O consumidor tentou acessar o recurso com um método não suportado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    NotAcceptableWithAdditionalProperties:
      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/schemas/ResponseError'
    NotFoundWithAdditionalProperties:
      description: O recurso solicitado não existe ou não foi implementado
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    TooManyRequestsWithAdditionalProperties:
      description: 'A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    UnauthorizedWithAdditionalProperties:
      description: Cabeçalho de autenticação ausente/inválido ou token inválido
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    UnprocessableEntityWithAdditionalProperties:
      description: 'A sintaxe da requisição esta correta, mas não foi possível processar as instruções presentes.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    DefaultWithAdditionalProperties:
      description: Erro inesperado.
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
    SiteIsOverloadedWithAdditionalProperties:
      description: 'O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento.'
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/ResponseError'
