openapi: 3.0.1
info:
  license:
    name: Khipu Open Data API
    url: https://khipu.com
  title: Itaú
  description: ''
  version: v1.0
servers:
  - url: https://api.khipu.com
    description: Production
security:
  - JWT: []
  - Api-Key: []
paths:
  /v1/cl/banking/business/itau.cl/token:
    post:
      summary: Account Link
      deprecated: true
      description: >-
        **Este método se está descontinuando y se retirará en los próximos
        meses. Migre su implementación actual para usar [tokens
        OAuth](https://docs.khipu.com/portal/es/authentication) en su lugar.**


        Este método se conecta a la cuenta del usuario en **Itaú - Empresas** y
        retorna un token  vinculado a esa cuenta que puede ser usado en
        operaciones futuras, evitando la necesidad de enviar  sus credenciales
        en texto plano al llamar a los servicios bancarios.
      operationId: AccountLink
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthCredential'
        required: true
      responses:
        '200':
          description: >-
            Operación exitosa. Retorna un objeto JSON con el token de la cuenta
            en el campo `Data`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponseOk'
        '400':
          description: Solicitud Incorrecta
        '401':
          description: No autorizado - Credenciales inválidas o faltantes
        '404':
          description: No encontrado - Recurso no disponible
        '500':
          description: Error en el servicio remoto :(
  /v1/cl/banking/business/itau.cl/latest/transactions:
    post:
      summary: Latest Transactions
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en **Itaú
        - Empresas** y retorna las transacciones más recientes con el límite
        determinado por el banco (también conocido como "Últimos 100
        movimientos").


        El uso del campo `CallbackUrl` desencadenará un proceso asíncrono y los
        datos resultantes se enviarán más tarde al webhook especificado. Esta es
        la forma preferida de interactuar con nuestros servicios, ya que asegura
        que se harán todos los esfuerzos para extraer los datos y cumplir  con
        su solicitud dentro de un plazo razonable. Si desea la respuesta de
        inmediato, omita el campo `CallbackUrl` pero tenga en cuenta que puede
        provocar tiempos de espera dependiendo del tamaño del resultado de los
        datos y las condiciones de la red.
      operationId: LatestTransactions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LatestTransactionsRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LatestTransactionsResponseSyncOk'
        '202':
          description: >-
            Operación exitosa. Retorna un mensaje JSON informando el resultado
            de la operación solicitada. La respuesta completa, con el mismo
            esquema que la versión síncrona, se enviará al URL de callback
            proporcionado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LatestTransactionsResponseAsync'
        '400':
          description: Solicitud incorrecta
        '401':
          description: No autorizado - Credenciales inválidas o faltantes
        '404':
          description: No encontrado - Recurso no disponible
        '500':
          description: Error en el servicio remoto :(
  /v1/cl/banking/business/itau.cl/outbound-transfers:
    post:
      summary: Outbound Transfers
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en **Itaú
        - Empresas** y retorna las transferencias enviadas para la fecha
        especificada (también conocido como "Transferencias enviadas").


        El uso del campo `CallbackUrl` desencadenará un proceso asíncrono y los
        datos resultantes se enviarán más tarde al webhook especificado. Esta es
        la forma preferida de interactuar con nuestros servicios, ya que asegura
        que se harán todos los esfuerzos para extraer los datos y cumplir  con
        su solicitud dentro de un plazo razonable. Si desea la respuesta de
        inmediato, omita el campo `CallbackUrl` pero tenga en cuenta que puede
        provocar tiempos de espera dependiendo del tamaño del resultado de los
        datos y las condiciones de la red.
      operationId: OutboundTransfers
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OutboundTransfersRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutboundTransfersResponseSyncOk'
        '202':
          description: >-
            Operación exitosa. Retorna un mensaje JSON informando el resultado
            de la operación solicitada. La respuesta completa, con el mismo
            esquema que la versión síncrona, se enviará al URL de callback
            proporcionado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutboundTransfersResponseAsync'
        '400':
          description: Solicitud incorrecta
        '401':
          description: No autorizado - Credenciales inválidas o faltantes
        '404':
          description: No encontrado - Recurso no disponible
        '500':
          description: Error en el servicio remoto :(
  /v1/cl/banking/business/itau.cl/statements/transactions/daily:
    post:
      summary: Statements Transactions Daily Filter
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en **Itau
        - Empresas**  y retorna las transacciones registradas en los estados de
        cuenta emitidos por el banco dentro del rango de fechas especificado por
        dias (también conocido como "Cartola Histórica Filtro Diario").


        El uso del campo `CallbackUrl` desencadenará un proceso asíncrono y los
        datos resultantes se enviarán más tarde al webhook especificado. Esta es
        la forma preferida de interactuar con nuestros servicios, ya que asegura
        que se harán todos los esfuerzos para extraer los datos y cumplir  con
        su solicitud dentro de un plazo razonable. Si desea la respuesta de
        inmediato, omita el campo `CallbackUrl` pero tenga en cuenta que puede
        provocar tiempos de espera dependiendo del tamaño del resultado de los
        datos y las condiciones de la red.
      operationId: StatementsTransactionsDaily
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatementsTransactionsDailyRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementsTransactionsDailyResponseSyncOk'
        '202':
          description: >-
            Operación exitosa. Retorna un mensaje JSON informando el resultado
            de la operación solicitada. La respuesta completa, con el mismo
            esquema que la versión síncrona, se enviará al URL de callback
            proporcionado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementsTransactionsDailyResponseAsync'
        '400':
          description: Solicitud incorrecta
        '401':
          description: No autorizado - Credenciales inválidas o faltantes
        '404':
          description: No encontrado - Recurso no disponible
        '500':
          description: Error en el servicio remoto :(
  /v1/cl/banking/business/itau.cl/statements/transactions:
    post:
      summary: Statements Transactions
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en **Itaú
        - Empresas** y retorna las transacciones registradas en los estados de
        cuenta emitidos por el banco dentro del rango de fechas especificado
        (también conocido como "Cartola histórica").


        El uso del campo `CallbackUrl` desencadenará un proceso asíncrono y los
        datos resultantes se enviarán más tarde al webhook especificado. Esta es
        la forma preferida de interactuar con nuestros servicios, ya que asegura
        que se harán todos los esfuerzos para extraer los datos y cumplir  con
        su solicitud dentro de un plazo razonable. Si desea la respuesta de
        inmediato, omita el campo `CallbackUrl` pero tenga en cuenta que puede
        provocar tiempos de espera dependiendo del tamaño del resultado de los
        datos y las condiciones de la red.
      operationId: StatementsTransactions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatementsTransactionsRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementsTransactionsResponseSyncOk'
        '202':
          description: >-
            Operación exitosa. Retorna un mensaje JSON informando el resultado
            de la operación solicitada. La respuesta completa, con el mismo
            esquema que la versión síncrona, se enviará al URL de callback
            proporcionado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementsTransactionsResponseAsync'
        '400':
          description: Solicitud incorrecta
        '401':
          description: No autorizado - Credenciales inválidas o faltantes
        '404':
          description: No encontrado - Recurso no disponible
        '500':
          description: Error en el servicio remoto :(
  /v1/cl/banking/business/itau.cl/booked/month/LCY/statements:
    post:
      summary: Booked Month Statements (LCY)
      description: >-
        This method connects to the user's specified account in
        **Itaú-Empresas** and returns the desired month's booked statements
        (also known as "Resumen de movimientos cuenta corriente").


        Using the `CallbackUrl` field will trigger an asynchronous process and
        the resulting data will be sent later to the specified webhook. This is
        the preferred way to interact with our services, as it assures that all
        efforts will be made to extract the data to fulfill  your request within
        a reasonable time frame. If you want the response immediately, skip the
        field `CallbackUrl` but bear in mind that it can result in timeouts
        depending on the data's result size and the network conditions.
      operationId: fetchBookedMonthStatements_1
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonthRequest'
        required: true
      responses:
        '200':
          description: >-
            Successful operation. Returns a JSON object with the booked
            statements for the specified account in the `Data` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementsResponseSyncOk'
        '202':
          description: >-
            Successful operation. Returns a JSON message informing the result of
            the request operation. The complete response, with the same schema
            as the sync version, will be sent to the callback URL provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponseAsync'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized - Invalid or missing credentials
        '404':
          description: Not found - Resource not available
        '500':
          description: Remote service error :(
  /v1/cl/banking/business/itau.cl/booked/month/LCY/transactions/inbound-transfers:
    post:
      summary: Booked Month Transactions / Inbound Transfers (LCY)
      description: >-
        This method connects to the user's account in **Itaú-Empresas** and
        returns the desired month's booked transactions for inbound transfers
        (also known as "Transferencias recibidas").


        Using the `CallbackUrl` field will trigger an asynchronous process and
        the resulting data will be sent later to the specified webhook. This is
        the preferred way to interact with our services, as it assures that all
        efforts will be made to extract the data to fulfill  your request within
        a reasonable time frame. If you want the response immediately, skip the
        field `CallbackUrl` but bear in mind that it can result in timeouts
        depending on the data's result size and the network conditions.
      operationId: fetchBookedMonthTransactionsInbound_1
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonthSimpleRequest'
        required: true
      responses:
        '200':
          description: >-
            Successful operation. Returns a JSON object with the booked inbound
            transactions for the specified account in the `Data` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponseSyncOk'
        '202':
          description: >-
            Successful operation. Returns a JSON message informing the result of
            the request operation. The complete response, with the same schema
            as the sync version, will be sent to the callback URL provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponseAsync'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized - Invalid or missing credentials
        '404':
          description: Not found - Resource not available
        '500':
          description: Remote service error :(
  /v1/cl/banking/business/itau.cl/pending/current/LCY/transactions/card-purchases:
    post:
      summary: Pending Current Transactions / Card Purchases (LCY)
      description: >-
        This method connects to the user's account in **Itaú-Empresas** and
        returns the last non-bookend transactions for purchases made with the
        specified credit card (also known as "Últimas compras en pesos").


        Using the `CallbackUrl` field will trigger an asynchronous process and
        the resulting data will be sent later to the specified webhook. This is
        the preferred way to interact with our services, as it assures that all
        efforts will be made to extract the data to fulfill  your request within
        a reasonable time frame. If you want the response immediately, skip the
        field `CallbackUrl` but bear in mind that it can result in timeouts
        depending on the data's result size and the network conditions.
      operationId: fetchPendingCurrentTransactionsCardPurchase_1
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItauPendingTransactionsCardPurchasesRequest'
        required: true
      responses:
        '200':
          description: >-
            Successful operation. Returns a JSON object with the last non-booked
            transactions for purchases made with the specified credit card in
            the `Data` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponseSyncOk'
        '202':
          description: >-
            Successful operation. Returns a JSON message informing the result of
            the request operation. The complete response, with the same schema
            as the sync version, will be sent to the callback URL provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponseAsync'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized - Invalid or missing credentials
        '404':
          description: Not found - Resource not available
        '500':
          description: Remote service error :(
components:
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
    Api-Key:
      type: apiKey
      in: header
      name: x-api-key
  schemas:
    AuthCredential:
      title: AccountAuthCredential
      description: Valores necesarios para autenticar al usuario en el sitio web.
      properties:
        Username:
          description: >-
            Identificación del usuario con acceso a la cuenta en el sitio web
            (RUN, DNI).
          example: 11.111.111-1
          type: string
          maxLength: 12
          minLength: 1
        Password:
          description: Contraseña de la cuenta para el sitio web.
          example: wxyz1234!@#$
          type: string
          maxLength: 24
          minLength: 1
        EnterpriseIdentity:
          description: Identificación de empresa (RUT).
          example: 99.999.999-9
          type: string
          maxLength: 12
          minLength: 1
      required:
        - Username
        - Password
      type: object
    TokenResponseOk:
      additionalProperties: false
      description: >-
        Objeto con la respuesta desde el servicio OpenData, en modo Sincrónico,
        cuando `Status` es "OK"
      properties:
        OperationId:
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
          type: string
          maxLength: 36
        Status:
          description: >-
            Estado de la operación. `OK` significa que el servicio se ha
            ejecutado correctamente aunque no devuelva datos. `ERROR` indica que
            ha ocurrido algo que ha impedido la finalización con éxito del
            proceso.
          example: OK
          type: string
          enum:
            - OK
            - ERROR
        Data:
          description: >-
            Si la autenticación se ha realizado correctamente, incluye el
            'Account Link' para la cuenta.
          properties:
            AccountLink:
              description: Token generado para acceder a la cuenta del sitio web.
              example: >-
                dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB==
              type: string
          required:
            - AccountLink
          type: object
        AdditionalInformation:
          description: >-
            Este campo puede utilizarse para mostrar información relevante
            específica de la respuesta, por ejemplo indicando que el campo
            `Data` está incompleto.
          example: null
          type: string
          nullable: true
        Error:
          description: >-
            Objeto con los detalles del error, utilizado cuando `Status=ERROR`.
            Si `Status=OK` este campo será nulo. Puede leer una explicación
            completa de este objeto visitando [este
            enlace](https://docs.khipu.com/portal/en/errors/)
          example: null
          properties:
            Code:
              description: Código interno del sistema que identifica el error.
              example: E201
              type: string
            Type:
              description: >-
                Indica cómo tratar este código de error específico, en función
                del tipo de error.
              example: RETRY_IMMEDIATELY
              type: string
              enum:
                - RETRY_IMMEDIATELY
                - DO_NOT_RETRY
                - WAIT_4_HOURS_BEFORE_RETRY
                - RETRY_AFTER_NOTIFICATION
            Description:
              description: Descripción asociada al código de error.
              example: >-
                El servicio destino utilizado para la extracción de datos no se
                encuentra disponible.
              type: string
          required: []
          type: object
          nullable: true
        LifeSpan:
          description: '`null` en peticiones sincrónicas.'
          example: null
          type: string
          nullable: true
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      type: object
    LatestTransactionsRequest:
      additionalProperties: false
      description: Objeto para realizar una solicitud al servicio OpenData.
      properties:
        RequestData:
          additionalProperties: false
          description: >-
            Información necesaria para conectarse a la cuenta del usuario en el
            sitio web y extraer datos. Los campos obligatorios indican los
            valores necesarios para identificar la cuenta deseada.
          properties:
            AccountNumber:
              description: Número de cuenta bancaria.
              example: '11887755'
              type: string
              maxLength: 20
              minLength: 1
            Currency:
              description: >-
                Identificación de la moneda en la que se mantiene la cuenta.
                Utilización: La moneda sólo debe utilizarse en caso de que sea
                necesaria para identificar la cuenta.
              example: CLP
              type: string
              pattern: ^[A-Z]{3,3}$
              maxLength: 3
            AccountCredential:
              deprecated: true
              description: >-
                Atención: El uso de este campo es obligatorio cuando se utiliza
                autenticación por Api Key.
              oneOf:
                - title: AccountLinkCredential
                  description: >-
                    Utilice este valor para llamar al servicio utilizando el
                    'Account Link' previamente generado.
                  properties:
                    AccountLink:
                      description: Token generado para acceder a la cuenta del sitio web.
                      example: >-
                        dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB==
                      type: string
                  required:
                    - AccountLink
                  type: object
                - title: AccountAuthCredential
                  description: >-
                    Valores necesarios para autenticar al usuario en el sitio
                    web.
                  properties:
                    Username:
                      description: >-
                        Identificación del usuario con acceso a la cuenta en el
                        sitio web (RUN, DNI).
                      example: 11.111.111-1
                      type: string
                      maxLength: 12
                      minLength: 1
                    Password:
                      description: Contraseña de la cuenta para el sitio web.
                      example: wxyz1234!@#$
                      type: string
                      maxLength: 24
                      minLength: 1
                    EnterpriseIdentity:
                      description: Identificación de empresa (RUT).
                      example: 99.999.999-9
                      type: string
                      maxLength: 12
                      minLength: 1
                  required:
                    - Username
                    - Password
                  type: object
          required:
            - AccountNumber
          type: object
        CallbackUrl:
          description: URL para enviar el mensaje de respuesta utilizando un método POST.
          example: https://my-api.my-business.com/api/open-data-response
          type: string
          maxLength: 255
      required:
        - RequestData
      type: object
    LatestTransactionsResponseSyncOk:
      additionalProperties: false
      description: >-
        Objeto con la respuesta desde el servicio OpenData, en modo Sincrónico,
        cuando `Status` es "OK"
      properties:
        OperationId:
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
          type: string
          maxLength: 36
        Status:
          description: >-
            Estado de la operación. `OK` significa que el servicio se ha
            ejecutado correctamente aunque no devuelva datos. `ERROR` indica que
            ha ocurrido algo que ha impedido la finalización con éxito del
            proceso.
          example: OK
          type: string
          enum:
            - OK
            - ERROR
        Data:
          type: object
          additionalProperties: false
          description: Contenedor de transacciones.
          required:
            - Transaction
          properties:
            Transaction:
              type: array
              minItems: 0
              description: >-
                Proporciona más detalles sobre las transacciones. Puede ser un
                arreglo vacío.
              items:
                type: object
                additionalProperties: false
                required:
                  - AccountId
                  - BookingDateTime
                  - CreditDebitIndicator
                  - Status
                  - TransactionId
                  - Amount
                properties:
                  AccountId:
                    type: string
                    maxLength: 40
                    description: >-
                      Identificador único e inmutable utilizado para identificar
                      el recurso de la cuenta.
                    example: '873458'
                  BookingDateTime:
                    type: string
                    format: date-time
                    description: >-
                      Fecha y hora en que se contabiliza una transacción de una
                      cuenta en los libros del administrador de cuentas (también
                      conocido como 'Fecha contable'). Utilización: La fecha de
                      contabilización es la fecha de contabilización prevista, a
                      menos que el estado sea 'Booked', en cuyo caso es la fecha
                      de contabilización real.
                    example: 2017-07-22T00:00:00-0400
                  CreditDebitIndicator:
                    type: string
                    enum:
                      - Credit
                      - Debit
                    description: >-
                      Indica si la transacción es una entrada de crédito o de
                      débito.
                    example: Credit
                  Status:
                    type: string
                    enum:
                      - Booked
                      - Pending
                      - Rejected
                    description: >-
                      Estado de la transacción en los libros del administrador
                      de cuentas.
                    example: Booked
                  TransactionId:
                    maxLength: 210
                    type: string
                    description: >-
                      Identificador único de la transacción. Este identificador
                      es único para la consulta actual.
                    example: c830d0c9a0904ea6badbaf8e25ff6e87
                  TransactionInformation:
                    maxLength: 500
                    type: string
                    description: >-
                      Mayor información de la transacción. Se trata de la glosa
                      de la transacción, que es un texto no estructurado.
                    example: PAGO DE CUENTAS
                  Amount:
                    type: object
                    description: Cantidad de dinero de la transacción.
                    required:
                      - Amount
                      - Currency
                    properties:
                      Amount:
                        type: number
                        format: float
                        description: >-
                          Número de unidades monetarias especificadas en una
                          moneda activa en la que la unidad monetaria es
                          explícita y conforme con la norma ISO 4217.
                        example: 10000
                      Currency:
                        type: string
                        pattern: ^[A-Z]{3,3}$
                        description: >-
                          Código asignado a una moneda por una Agencia de
                          Mantenimiento con arreglo a un sistema de
                          identificación internacional, tal como se describe en
                          la última edición de la norma internacional ISO 4217
                          'Códigos para la representación de monedas y fondos'.
                        example: CLP
                  Balance:
                    type: object
                    description: >-
                      Conjunto de elementos utilizados para definir el saldo
                      como representación numérica de los aumentos y
                      disminuciones netos de una cuenta después de que se le
                      aplique una transacción.
                    required:
                      - CreditDebitIndicator
                      - Type
                      - Amount
                    properties:
                      CreditDebitIndicator:
                        type: string
                        enum:
                          - Credit
                          - Debit
                        description: Indica si el balance es crédito o débito.
                        example: Credit
                      Type:
                        type: string
                        enum:
                          - ClosingAvailable
                          - ClosingBooked
                          - ClosingCleared
                          - Expected
                          - ForwardAvailable
                          - Information
                          - InterimAvailable
                          - InterimBooked
                          - InterimCleared
                          - OpeningAvailable
                          - OpeningBooked
                          - OpeningCleared
                          - PreviouslyClosedBooked
                        description: Tipo de saldo.
                        example: ClosingBooked
                      Amount:
                        type: object
                        description: >-
                          Cantidad de dinero reportado después de aplicar a la
                          cuenta una transacción.
                        required:
                          - Amount
                          - Currency
                        properties:
                          Amount:
                            type: number
                            format: float
                            description: >-
                              Número de unidades monetarias especificadas en una
                              moneda activa en la que la unidad monetaria es
                              explícita y conforme con la norma ISO 4217.
                            example: 10000
                          Currency:
                            type: string
                            pattern: ^[A-Z]{3,3}$
                            description: >-
                              Código asignado a una moneda por una Agencia de
                              Mantenimiento con arreglo a un sistema de
                              identificación internacional, tal como se describe
                              en la última edición de la norma internacional ISO
                              4217 'Códigos para la representación de monedas y
                              fondos'.
                            example: CLP
                  BankTransactionCode:
                    type: object
                    description: >-
                      Conjunto de elementos utilizados para identificar
                      plenamente el tipo de transacción subyacente.
                    required:
                      - Code
                      - SubCode
                    properties:
                      Code:
                        type: string
                        pattern: ^[A-Z]{4,4}$
                        description: Especifica la familia dentro de un dominio.
                        example: RCDT
                      SubCode:
                        type: string
                        pattern: ^[A-Z]{4,4}$
                        description: >-
                          Especifica la familia de subproductos dentro de una
                          familia específica.
                        example: DMCT
                  CreditorAgent:
                    type: object
                    description: >-
                      Institución financiera que gestiona una cuenta para el
                      acreedor.
                    properties:
                      Identification:
                        maxLength: 35
                        type: string
                        description: >-
                          Identificación única e inequívoca de una entidad
                          financiera o de una sucursal de una entidad
                          financiera.
                        example: DEMO BANK
                  DebtorAgent:
                    type: object
                    description: >-
                      Institución financiera que gestiona una cuenta para el
                      deudor.
                    properties:
                      Identification:
                        maxLength: 35
                        type: string
                        description: >-
                          Identificación única e inequívoca de una entidad
                          financiera o de una sucursal de una entidad
                          financiera.
                        example: DEMO BANK
                  SupplementaryData:
                    type: object
                    description: >-
                      Información adicional que no puede capturarse en los
                      campos estructurados y/o cualquier otro bloque específico.
          nullable: true
        AdditionalInformation:
          description: >-
            Este campo puede utilizarse para mostrar información relevante
            específica de la respuesta, por ejemplo indicando que el campo
            `Data` está incompleto.
          example: null
          type: string
          nullable: true
        Error:
          description: >-
            Objeto con los detalles del error, utilizado cuando `Status=ERROR`.
            Si `Status=OK` este campo será nulo. Puede leer una explicación
            completa de este objeto visitando [este
            enlace](https://docs.khipu.com/portal/en/errors/)
          example: null
          properties:
            Code:
              description: Código interno del sistema que identifica el error.
              example: E201
              type: string
            Type:
              description: >-
                Indica cómo tratar este código de error específico, en función
                del tipo de error.
              example: RETRY_IMMEDIATELY
              type: string
              enum:
                - RETRY_IMMEDIATELY
                - DO_NOT_RETRY
                - WAIT_4_HOURS_BEFORE_RETRY
                - RETRY_AFTER_NOTIFICATION
            Description:
              description: Descripción asociada al código de error.
              example: >-
                El servicio destino utilizado para la extracción de datos no se
                encuentra disponible.
              type: string
          required: []
          type: object
          nullable: true
        LifeSpan:
          description: '`null` en peticiones sincrónicas.'
          example: null
          type: string
          nullable: true
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      type: object
    LatestTransactionsResponseAsync:
      type: object
      description: Objeto con la respuesta del servicio OpenData, en modo asíncrono.
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      properties:
        OperationId:
          maxLength: 36
          type: string
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
        Status:
          type: string
          description: >-
            Estado de la operación. Al realizar solicitudes asíncronas, siempre
            devolverá `OK`.
          example: OK
        Data:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        AdditionalInformation:
          type: string
          description: >-
            Mensaje de la operación, puede usarse para mostrar información
            adicional.
          example: Data will be sent to the callback URL.
        Error:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        LifeSpan:
          type: string
          format: date-time
          description: >-
            Fecha máxima estimada de entrega para solicitudes asíncronas, en
            formato de fecha y hora ISO 8601, zona horaria UTC.
          example: 2017-07-22T00:00:00-0400
    OutboundTransfersRequest:
      additionalProperties: false
      description: Objeto para realizar una solicitud al servicio OpenData.
      properties:
        RequestData:
          additionalProperties: false
          description: >-
            Información necesaria para conectarse a la cuenta del usuario en el
            sitio web y extraer datos. Los campos obligatorios indican los
            valores necesarios para identificar la cuenta deseada.
          properties:
            BookingDate:
              description: >-
                Fecha en formato ISO 8601 (YYYY-MM) utilizada para obtener las
                transacciones.
              example: 2024-02
              type: string
              pattern: ^(19[7-9][0-9]|20([0-1][0-9]|2[0-4]))-(0[1-9]|1[0-2])$
            AccountCredential:
              deprecated: true
              description: >-
                Atención: El uso de este campo es obligatorio cuando se utiliza
                autenticación por Api Key.
              oneOf:
                - title: AccountLinkCredential
                  description: >-
                    Utilice este valor para llamar al servicio utilizando el
                    'Account Link' previamente generado.
                  properties:
                    AccountLink:
                      description: Token generado para acceder a la cuenta del sitio web.
                      example: >-
                        dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB==
                      type: string
                  required:
                    - AccountLink
                  type: object
                - title: AccountAuthCredential
                  description: >-
                    Valores necesarios para autenticar al usuario en el sitio
                    web.
                  properties:
                    Username:
                      description: >-
                        Identificación del usuario con acceso a la cuenta en el
                        sitio web (RUN, DNI).
                      example: 11.111.111-1
                      type: string
                      maxLength: 12
                      minLength: 1
                    Password:
                      description: Contraseña de la cuenta para el sitio web.
                      example: wxyz1234!@#$
                      type: string
                      maxLength: 24
                      minLength: 1
                    EnterpriseIdentity:
                      description: Identificación de empresa (RUT).
                      example: 99.999.999-9
                      type: string
                      maxLength: 12
                      minLength: 1
                  required:
                    - Username
                    - Password
                  type: object
          required:
            - BookingDate
          type: object
        CallbackUrl:
          description: URL para enviar el mensaje de respuesta utilizando un método POST.
          example: https://my-api.my-business.com/api/open-data-response
          type: string
          maxLength: 255
      required:
        - RequestData
      type: object
    OutboundTransfersResponseSyncOk:
      additionalProperties: false
      description: >-
        Objeto con la respuesta desde el servicio OpenData, en modo Sincrónico,
        cuando `Status` es "OK"
      properties:
        OperationId:
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
          type: string
          maxLength: 36
        Status:
          description: >-
            Estado de la operación. `OK` significa que el servicio se ha
            ejecutado correctamente aunque no devuelva datos. `ERROR` indica que
            ha ocurrido algo que ha impedido la finalización con éxito del
            proceso.
          example: OK
          type: string
          enum:
            - OK
            - ERROR
        Data:
          type: object
          additionalProperties: false
          description: Contenedor de transacciones.
          required:
            - Transaction
          properties:
            Transaction:
              type: array
              minItems: 0
              description: >-
                Proporciona más detalles sobre las transacciones. Puede ser un
                arreglo vacío.
              items:
                type: object
                additionalProperties: false
                required:
                  - AccountId
                  - BookingDateTime
                  - CreditDebitIndicator
                  - Status
                  - TransactionId
                  - Amount
                properties:
                  AccountId:
                    type: string
                    maxLength: 40
                    description: >-
                      Identificador único e inmutable utilizado para identificar
                      el recurso de la cuenta.
                    example: '873458'
                  BookingDateTime:
                    type: string
                    format: date-time
                    description: >-
                      Fecha y hora en que se contabiliza una transacción de una
                      cuenta en los libros del administrador de cuentas (también
                      conocido como 'Fecha contable'). Utilización: La fecha de
                      contabilización es la fecha de contabilización prevista, a
                      menos que el estado sea 'Booked', en cuyo caso es la fecha
                      de contabilización real.
                    example: 2017-07-22T00:00:00-0400
                  CreditDebitIndicator:
                    type: string
                    enum:
                      - Credit
                      - Debit
                    description: >-
                      Indica si la transacción es una entrada de crédito o de
                      débito.
                    example: Credit
                  Status:
                    type: string
                    enum:
                      - Booked
                      - Pending
                      - Rejected
                    description: >-
                      Estado de la transacción en los libros del administrador
                      de cuentas.
                    example: Booked
                  TransactionId:
                    maxLength: 210
                    type: string
                    description: >-
                      Identificador único de la transacción. Este identificador
                      es único para la consulta actual.
                    example: c830d0c9a0904ea6badbaf8e25ff6e87
                  TransactionInformation:
                    maxLength: 500
                    type: string
                    description: >-
                      Mayor información de la transacción. Se trata de la glosa
                      de la transacción, que es un texto no estructurado.
                    example: PAGO DE CUENTAS
                  TransactionReference:
                    maxLength: 210
                    type: string
                    description: >-
                      Referencia única para la transacción. Este identificador
                      es único e inmutable dentro de los registros del banco si
                      es informado.
                    example: 09cce92d-494b-4f29-8584-6a0409a052c7
                  Amount:
                    type: object
                    description: Cantidad de dinero de la transacción.
                    required:
                      - Amount
                      - Currency
                    properties:
                      Amount:
                        type: number
                        format: float
                        description: >-
                          Número de unidades monetarias especificadas en una
                          moneda activa en la que la unidad monetaria es
                          explícita y conforme con la norma ISO 4217.
                        example: 10000
                      Currency:
                        type: string
                        pattern: ^[A-Z]{3,3}$
                        description: >-
                          Código asignado a una moneda por una Agencia de
                          Mantenimiento con arreglo a un sistema de
                          identificación internacional, tal como se describe en
                          la última edición de la norma internacional ISO 4217
                          'Códigos para la representación de monedas y fondos'.
                        example: CLP
                  CreditorAccount:
                    type: object
                    description: >-
                      Identificación inequívoca de la cuenta del acreedor, en el
                      caso de una transacción de débito.
                    properties:
                      Identification:
                        maxLength: 256
                        type: string
                        description: >-
                          Identificación asignada por una institución para
                          identificar una cuenta. Esta identificación es
                          conocida por el titular de la cuenta.
                        example: '99056723'
                  CreditorAgent:
                    type: object
                    description: >-
                      Institución financiera que gestiona una cuenta para el
                      acreedor.
                    properties:
                      Name:
                        maxLength: 140
                        type: string
                        description: >-
                          Nombre por el que se conoce a un agente y que suele
                          utilizarse para identificarlo.
                        example: DEMO BANK CHILE
                  SupplementaryData:
                    type: object
                    description: >-
                      Información adicional que no puede capturarse en los
                      campos estructurados y/o cualquier otro bloque específico.
          nullable: true
        AdditionalInformation:
          description: >-
            Este campo puede utilizarse para mostrar información relevante
            específica de la respuesta, por ejemplo indicando que el campo
            `Data` está incompleto.
          example: null
          type: string
          nullable: true
        Error:
          description: >-
            Objeto con los detalles del error, utilizado cuando `Status=ERROR`.
            Si `Status=OK` este campo será nulo. Puede leer una explicación
            completa de este objeto visitando [este
            enlace](https://docs.khipu.com/portal/en/errors/)
          example: null
          properties:
            Code:
              description: Código interno del sistema que identifica el error.
              example: E201
              type: string
            Type:
              description: >-
                Indica cómo tratar este código de error específico, en función
                del tipo de error.
              example: RETRY_IMMEDIATELY
              type: string
              enum:
                - RETRY_IMMEDIATELY
                - DO_NOT_RETRY
                - WAIT_4_HOURS_BEFORE_RETRY
                - RETRY_AFTER_NOTIFICATION
            Description:
              description: Descripción asociada al código de error.
              example: >-
                El servicio destino utilizado para la extracción de datos no se
                encuentra disponible.
              type: string
          required: []
          type: object
          nullable: true
        LifeSpan:
          description: '`null` en peticiones sincrónicas.'
          example: null
          type: string
          nullable: true
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      type: object
    OutboundTransfersResponseAsync:
      type: object
      description: Objeto con la respuesta del servicio OpenData, en modo asíncrono.
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      properties:
        OperationId:
          maxLength: 36
          type: string
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
        Status:
          type: string
          description: >-
            Estado de la operación. Al realizar solicitudes asíncronas, siempre
            devolverá `OK`.
          example: OK
        Data:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        AdditionalInformation:
          type: string
          description: >-
            Mensaje de la operación, puede usarse para mostrar información
            adicional.
          example: Data will be sent to the callback URL.
        Error:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        LifeSpan:
          type: string
          format: date-time
          description: >-
            Fecha máxima estimada de entrega para solicitudes asíncronas, en
            formato de fecha y hora ISO 8601, zona horaria UTC.
          example: 2017-07-22T00:00:00-0400
    StatementsTransactionsDailyRequest:
      additionalProperties: false
      description: Objeto para realizar una solicitud al servicio OpenData.
      properties:
        RequestData:
          additionalProperties: false
          description: >-
            Información necesaria para conectarse a la cuenta del usuario en el
            sitio web y extraer datos. Los campos obligatorios indican los
            valores necesarios para identificar la cuenta deseada.
          properties:
            BookingDate:
              description: >-
                Fecha en formato ISO 8601 (YYYY-MM) utilizada para obtener las
                transacciones.
              example: 2024-02
              type: string
              pattern: ^(19[7-9][0-9]|20([0-1][0-9]|2[0-4]))-(0[1-9]|1[0-2])$
            AccountNumber:
              description: Número de cuenta bancaria.
              example: '11887755'
              type: string
              maxLength: 20
              minLength: 1
            Currency:
              description: >-
                Identificación de la moneda en la que se mantiene la cuenta.
                Utilización: La moneda sólo debe utilizarse en caso de que sea
                necesaria para identificar la cuenta.
              example: CLP
              type: string
              pattern: ^[A-Z]{3,3}$
              maxLength: 3
            AccountCredential:
              deprecated: true
              description: >-
                Atención: El uso de este campo es obligatorio cuando se utiliza
                autenticación por Api Key.
              oneOf:
                - title: AccountLinkCredential
                  description: >-
                    Utilice este valor para llamar al servicio utilizando el
                    'Account Link' previamente generado.
                  properties:
                    AccountLink:
                      description: Token generado para acceder a la cuenta del sitio web.
                      example: >-
                        dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB==
                      type: string
                  required:
                    - AccountLink
                  type: object
                - title: AccountAuthCredential
                  description: >-
                    Valores necesarios para autenticar al usuario en el sitio
                    web.
                  properties:
                    Username:
                      description: >-
                        Identificación del usuario con acceso a la cuenta en el
                        sitio web (RUN, DNI).
                      example: 11.111.111-1
                      type: string
                      maxLength: 12
                      minLength: 1
                    Password:
                      description: Contraseña de la cuenta para el sitio web.
                      example: wxyz1234!@#$
                      type: string
                      maxLength: 24
                      minLength: 1
                    EnterpriseIdentity:
                      description: Identificación de empresa (RUT).
                      example: 99.999.999-9
                      type: string
                      maxLength: 12
                      minLength: 1
                  required:
                    - Username
                    - Password
                  type: object
          required:
            - BookingDate
            - AccountNumber
            - Currency
          type: object
        CallbackUrl:
          description: URL para enviar el mensaje de respuesta utilizando un método POST.
          example: https://my-api.my-business.com/api/open-data-response
          type: string
          maxLength: 255
      required:
        - RequestData
      type: object
    StatementsTransactionsDailyResponseSyncOk:
      additionalProperties: false
      description: >-
        Objeto con la respuesta desde el servicio OpenData, en modo Sincrónico,
        cuando `Status` es "OK"
      properties:
        OperationId:
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
          type: string
          maxLength: 36
        Status:
          description: >-
            Estado de la operación. `OK` significa que el servicio se ha
            ejecutado correctamente aunque no devuelva datos. `ERROR` indica que
            ha ocurrido algo que ha impedido la finalización con éxito del
            proceso.
          example: OK
          type: string
          enum:
            - OK
            - ERROR
        Data:
          type: object
          additionalProperties: false
          description: Contenedor de transacciones.
          required:
            - Transaction
          properties:
            Transaction:
              type: array
              minItems: 0
              description: >-
                Proporciona más detalles sobre las transacciones. Puede ser un
                arreglo vacío.
              items:
                type: object
                additionalProperties: false
                required:
                  - AccountId
                  - BookingDateTime
                  - CreditDebitIndicator
                  - Status
                  - TransactionId
                  - Amount
                properties:
                  AccountId:
                    type: string
                    maxLength: 40
                    description: >-
                      Identificador único e inmutable utilizado para identificar
                      el recurso de la cuenta.
                    example: '873458'
                  AddressLine:
                    type: string
                    maxLength: 70
                    description: >-
                      Información que localiza e identifica una dirección
                      específica para una transacción, que se presenta en texto
                      de formato libre.
                    example: SUCURSAL SANTIAGO CENTRO
                  BookingDateTime:
                    type: string
                    format: date-time
                    description: >-
                      Fecha y hora en que se contabiliza una transacción de una
                      cuenta en los libros del administrador de cuentas (también
                      conocido como 'Fecha contable'). Utilización: La fecha de
                      contabilización es la fecha de contabilización prevista, a
                      menos que el estado sea 'Booked', en cuyo caso es la fecha
                      de contabilización real.
                    example: 2017-07-22T00:00:00-0400
                  CreditDebitIndicator:
                    type: string
                    enum:
                      - Credit
                      - Debit
                    description: >-
                      Indica si la transacción es una entrada de crédito o de
                      débito.
                    example: Credit
                  Status:
                    type: string
                    enum:
                      - Booked
                      - Pending
                      - Rejected
                    description: >-
                      Estado de la transacción en los libros del administrador
                      de cuentas.
                    example: Booked
                  TransactionId:
                    maxLength: 210
                    type: string
                    description: >-
                      Identificador único de la transacción. Este identificador
                      es único para la consulta actual.
                    example: c830d0c9a0904ea6badbaf8e25ff6e87
                  TransactionInformation:
                    maxLength: 500
                    type: string
                    description: >-
                      Mayor información de la transacción. Se trata de la glosa
                      de la transacción, que es un texto no estructurado.
                    example: PAGO DE CUENTAS
                  Amount:
                    type: object
                    description: Cantidad de dinero de la transacción.
                    required:
                      - Amount
                      - Currency
                    properties:
                      Amount:
                        type: number
                        format: float
                        description: >-
                          Número de unidades monetarias especificadas en una
                          moneda activa en la que la unidad monetaria es
                          explícita y conforme con la norma ISO 4217.
                        example: 10000
                      Currency:
                        type: string
                        pattern: ^[A-Z]{3,3}$
                        description: >-
                          Código asignado a una moneda por una Agencia de
                          Mantenimiento con arreglo a un sistema de
                          identificación internacional, tal como se describe en
                          la última edición de la norma internacional ISO 4217
                          'Códigos para la representación de monedas y fondos'.
                        example: CLP
                  Balance:
                    type: object
                    description: >-
                      Conjunto de elementos utilizados para definir el saldo
                      como representación numérica de los aumentos y
                      disminuciones netos de una cuenta después de que se le
                      aplique una transacción.
                    required:
                      - CreditDebitIndicator
                      - Type
                      - Amount
                    properties:
                      CreditDebitIndicator:
                        type: string
                        enum:
                          - Credit
                          - Debit
                        description: Indica si el balance es crédito o débito.
                        example: Credit
                      Type:
                        type: string
                        enum:
                          - ClosingAvailable
                          - ClosingBooked
                          - ClosingCleared
                          - Expected
                          - ForwardAvailable
                          - Information
                          - InterimAvailable
                          - InterimBooked
                          - InterimCleared
                          - OpeningAvailable
                          - OpeningBooked
                          - OpeningCleared
                          - PreviouslyClosedBooked
                        description: Tipo de saldo.
                        example: ClosingBooked
                      Amount:
                        type: object
                        description: >-
                          Cantidad de dinero reportado después de aplicar a la
                          cuenta una transacción.
                        required:
                          - Amount
                          - Currency
                        properties:
                          Amount:
                            type: number
                            format: float
                            description: >-
                              Número de unidades monetarias especificadas en una
                              moneda activa en la que la unidad monetaria es
                              explícita y conforme con la norma ISO 4217.
                            example: 10000
                          Currency:
                            type: string
                            pattern: ^[A-Z]{3,3}$
                            description: >-
                              Código asignado a una moneda por una Agencia de
                              Mantenimiento con arreglo a un sistema de
                              identificación internacional, tal como se describe
                              en la última edición de la norma internacional ISO
                              4217 'Códigos para la representación de monedas y
                              fondos'.
                            example: CLP
                  BankTransactionCode:
                    type: object
                    description: >-
                      Conjunto de elementos utilizados para identificar
                      plenamente el tipo de transacción subyacente.
                    required:
                      - Code
                      - SubCode
                    properties:
                      Code:
                        type: string
                        pattern: ^[A-Z]{4,4}$
                        description: Especifica la familia dentro de un dominio.
                        example: RCDT
                      SubCode:
                        type: string
                        pattern: ^[A-Z]{4,4}$
                        description: >-
                          Especifica la familia de subproductos dentro de una
                          familia específica.
                        example: DMCT
          nullable: true
        AdditionalInformation:
          description: >-
            Este campo puede utilizarse para mostrar información relevante
            específica de la respuesta, por ejemplo indicando que el campo
            `Data` está incompleto.
          example: null
          type: string
          nullable: true
        Error:
          description: >-
            Objeto con los detalles del error, utilizado cuando `Status=ERROR`.
            Si `Status=OK` este campo será nulo. Puede leer una explicación
            completa de este objeto visitando [este
            enlace](https://docs.khipu.com/portal/en/errors/)
          example: null
          properties:
            Code:
              description: Código interno del sistema que identifica el error.
              example: E201
              type: string
            Type:
              description: >-
                Indica cómo tratar este código de error específico, en función
                del tipo de error.
              example: RETRY_IMMEDIATELY
              type: string
              enum:
                - RETRY_IMMEDIATELY
                - DO_NOT_RETRY
                - WAIT_4_HOURS_BEFORE_RETRY
                - RETRY_AFTER_NOTIFICATION
            Description:
              description: Descripción asociada al código de error.
              example: >-
                El servicio destino utilizado para la extracción de datos no se
                encuentra disponible.
              type: string
          required: []
          type: object
          nullable: true
        LifeSpan:
          description: '`null` en peticiones sincrónicas.'
          example: null
          type: string
          nullable: true
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      type: object
    StatementsTransactionsDailyResponseAsync:
      type: object
      description: Objeto con la respuesta del servicio OpenData, en modo asíncrono.
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      properties:
        OperationId:
          maxLength: 36
          type: string
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
        Status:
          type: string
          description: >-
            Estado de la operación. Al realizar solicitudes asíncronas, siempre
            devolverá `OK`.
          example: OK
        Data:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        AdditionalInformation:
          type: string
          description: >-
            Mensaje de la operación, puede usarse para mostrar información
            adicional.
          example: Data will be sent to the callback URL.
        Error:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        LifeSpan:
          type: string
          format: date-time
          description: >-
            Fecha máxima estimada de entrega para solicitudes asíncronas, en
            formato de fecha y hora ISO 8601, zona horaria UTC.
          example: 2017-07-22T00:00:00-0400
    StatementsTransactionsRequest:
      additionalProperties: false
      description: Objeto para realizar una solicitud al servicio OpenData.
      properties:
        RequestData:
          additionalProperties: false
          description: >-
            Información necesaria para conectarse a la cuenta del usuario en el
            sitio web y extraer datos. Los campos obligatorios indican los
            valores necesarios para identificar la cuenta deseada.
          properties:
            AccountNumber:
              description: Número de cuenta bancaria.
              example: '11887755'
              type: string
              maxLength: 20
              minLength: 1
            BookingDateStart:
              description: >-
                Fecha de inicio en formato ISO 8601 (YYYY-MM) utilizada para
                obtener las transacciones.
              example: 2022-07
              type: string
              pattern: ^(19[7-9][0-9]|20([0-1][0-9]|2[0-4]))-(0[1-9]|1[0-2])$
            BookingDateEnd:
              description: >-
                Fecha final en formato ISO 8601 (YYYY-MM) utilizada para obtener
                las transacciones.
              example: 2022-07
              type: string
              pattern: ^(19[7-9][0-9]|20([0-1][0-9]|2[0-4]))-(0[1-9]|1[0-2])$
            Currency:
              description: >-
                Identificación de la moneda en la que se mantiene la cuenta.
                Utilización: La moneda sólo debe utilizarse en caso de que sea
                necesaria para identificar la cuenta.
              example: CLP
              type: string
              pattern: ^[A-Z]{3,3}$
              maxLength: 3
            AccountCredential:
              deprecated: true
              description: >-
                Atención: El uso de este campo es obligatorio cuando se utiliza
                autenticación por Api Key.
              oneOf:
                - title: AccountLinkCredential
                  description: >-
                    Utilice este valor para llamar al servicio utilizando el
                    'Account Link' previamente generado.
                  properties:
                    AccountLink:
                      description: Token generado para acceder a la cuenta del sitio web.
                      example: >-
                        dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB==
                      type: string
                  required:
                    - AccountLink
                  type: object
                - title: AccountAuthCredential
                  description: >-
                    Valores necesarios para autenticar al usuario en el sitio
                    web.
                  properties:
                    Username:
                      description: >-
                        Identificación del usuario con acceso a la cuenta en el
                        sitio web (RUN, DNI).
                      example: 11.111.111-1
                      type: string
                      maxLength: 12
                      minLength: 1
                    Password:
                      description: Contraseña de la cuenta para el sitio web.
                      example: wxyz1234!@#$
                      type: string
                      maxLength: 24
                      minLength: 1
                    EnterpriseIdentity:
                      description: Identificación de empresa (RUT).
                      example: 99.999.999-9
                      type: string
                      maxLength: 12
                      minLength: 1
                  required:
                    - Username
                    - Password
                  type: object
          required:
            - AccountNumber
            - BookingDateStart
            - BookingDateEnd
          type: object
        CallbackUrl:
          description: URL para enviar el mensaje de respuesta utilizando un método POST.
          example: https://my-api.my-business.com/api/open-data-response
          type: string
          maxLength: 255
      required:
        - RequestData
      type: object
    StatementsTransactionsResponseSyncOk:
      additionalProperties: false
      description: >-
        Objeto con la respuesta desde el servicio OpenData, en modo Sincrónico,
        cuando `Status` es "OK"
      properties:
        OperationId:
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
          type: string
          maxLength: 36
        Status:
          description: >-
            Estado de la operación. `OK` significa que el servicio se ha
            ejecutado correctamente aunque no devuelva datos. `ERROR` indica que
            ha ocurrido algo que ha impedido la finalización con éxito del
            proceso.
          example: OK
          type: string
          enum:
            - OK
            - ERROR
        Data:
          type: object
          additionalProperties: false
          description: Contenedor de transacciones.
          required:
            - Transaction
          properties:
            Transaction:
              type: array
              minItems: 0
              description: >-
                Proporciona más detalles sobre las transacciones. Puede ser un
                arreglo vacío.
              items:
                type: object
                additionalProperties: false
                required:
                  - AccountId
                  - BookingDateTime
                  - CreditDebitIndicator
                  - Status
                  - TransactionId
                  - Amount
                properties:
                  AccountId:
                    type: string
                    maxLength: 40
                    description: >-
                      Identificador único e inmutable utilizado para identificar
                      el recurso de la cuenta.
                    example: '873458'
                  AddressLine:
                    type: string
                    maxLength: 70
                    description: >-
                      Información que localiza e identifica una dirección
                      específica para una transacción, que se presenta en texto
                      de formato libre.
                    example: SUCURSAL SANTIAGO CENTRO
                  BookingDateTime:
                    type: string
                    format: date-time
                    description: >-
                      Fecha y hora en que se contabiliza una transacción de una
                      cuenta en los libros del administrador de cuentas (también
                      conocido como 'Fecha contable'). Utilización: La fecha de
                      contabilización es la fecha de contabilización prevista, a
                      menos que el estado sea 'Booked', en cuyo caso es la fecha
                      de contabilización real.
                    example: 2017-07-22T00:00:00-0400
                  CreditDebitIndicator:
                    type: string
                    enum:
                      - Credit
                      - Debit
                    description: >-
                      Indica si la transacción es una entrada de crédito o de
                      débito.
                    example: Credit
                  Status:
                    type: string
                    enum:
                      - Booked
                      - Pending
                      - Rejected
                    description: >-
                      Estado de la transacción en los libros del administrador
                      de cuentas.
                    example: Booked
                  TransactionId:
                    maxLength: 210
                    type: string
                    description: >-
                      Identificador único de la transacción. Este identificador
                      es único para la consulta actual.
                    example: c830d0c9a0904ea6badbaf8e25ff6e87
                  TransactionInformation:
                    maxLength: 500
                    type: string
                    description: >-
                      Mayor información de la transacción. Se trata de la glosa
                      de la transacción, que es un texto no estructurado.
                    example: PAGO DE CUENTAS
                  Amount:
                    type: object
                    description: Cantidad de dinero de la transacción.
                    required:
                      - Amount
                      - Currency
                    properties:
                      Amount:
                        type: number
                        format: float
                        description: >-
                          Número de unidades monetarias especificadas en una
                          moneda activa en la que la unidad monetaria es
                          explícita y conforme con la norma ISO 4217.
                        example: 10000
                      Currency:
                        type: string
                        pattern: ^[A-Z]{3,3}$
                        description: >-
                          Código asignado a una moneda por una Agencia de
                          Mantenimiento con arreglo a un sistema de
                          identificación internacional, tal como se describe en
                          la última edición de la norma internacional ISO 4217
                          'Códigos para la representación de monedas y fondos'.
                        example: CLP
                  Balance:
                    type: object
                    description: >-
                      Conjunto de elementos utilizados para definir el saldo
                      como representación numérica de los aumentos y
                      disminuciones netos de una cuenta después de que se le
                      aplique una transacción.
                    required:
                      - CreditDebitIndicator
                      - Type
                      - Amount
                    properties:
                      CreditDebitIndicator:
                        type: string
                        enum:
                          - Credit
                          - Debit
                        description: Indica si el balance es crédito o débito.
                        example: Credit
                      Type:
                        type: string
                        enum:
                          - ClosingAvailable
                          - ClosingBooked
                          - ClosingCleared
                          - Expected
                          - ForwardAvailable
                          - Information
                          - InterimAvailable
                          - InterimBooked
                          - InterimCleared
                          - OpeningAvailable
                          - OpeningBooked
                          - OpeningCleared
                          - PreviouslyClosedBooked
                        description: Tipo de saldo.
                        example: ClosingBooked
                      Amount:
                        type: object
                        description: >-
                          Cantidad de dinero reportado después de aplicar a la
                          cuenta una transacción.
                        required:
                          - Amount
                          - Currency
                        properties:
                          Amount:
                            type: number
                            format: float
                            description: >-
                              Número de unidades monetarias especificadas en una
                              moneda activa en la que la unidad monetaria es
                              explícita y conforme con la norma ISO 4217.
                            example: 10000
                          Currency:
                            type: string
                            pattern: ^[A-Z]{3,3}$
                            description: >-
                              Código asignado a una moneda por una Agencia de
                              Mantenimiento con arreglo a un sistema de
                              identificación internacional, tal como se describe
                              en la última edición de la norma internacional ISO
                              4217 'Códigos para la representación de monedas y
                              fondos'.
                            example: CLP
                  BankTransactionCode:
                    type: object
                    description: >-
                      Conjunto de elementos utilizados para identificar
                      plenamente el tipo de transacción subyacente.
                    required:
                      - Code
                      - SubCode
                    properties:
                      Code:
                        type: string
                        pattern: ^[A-Z]{4,4}$
                        description: Especifica la familia dentro de un dominio.
                        example: RCDT
                      SubCode:
                        type: string
                        pattern: ^[A-Z]{4,4}$
                        description: >-
                          Especifica la familia de subproductos dentro de una
                          familia específica.
                        example: DMCT
          nullable: true
        AdditionalInformation:
          description: >-
            Este campo puede utilizarse para mostrar información relevante
            específica de la respuesta, por ejemplo indicando que el campo
            `Data` está incompleto.
          example: null
          type: string
          nullable: true
        Error:
          description: >-
            Objeto con los detalles del error, utilizado cuando `Status=ERROR`.
            Si `Status=OK` este campo será nulo. Puede leer una explicación
            completa de este objeto visitando [este
            enlace](https://docs.khipu.com/portal/en/errors/)
          example: null
          properties:
            Code:
              description: Código interno del sistema que identifica el error.
              example: E201
              type: string
            Type:
              description: >-
                Indica cómo tratar este código de error específico, en función
                del tipo de error.
              example: RETRY_IMMEDIATELY
              type: string
              enum:
                - RETRY_IMMEDIATELY
                - DO_NOT_RETRY
                - WAIT_4_HOURS_BEFORE_RETRY
                - RETRY_AFTER_NOTIFICATION
            Description:
              description: Descripción asociada al código de error.
              example: >-
                El servicio destino utilizado para la extracción de datos no se
                encuentra disponible.
              type: string
          required: []
          type: object
          nullable: true
        LifeSpan:
          description: '`null` en peticiones sincrónicas.'
          example: null
          type: string
          nullable: true
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      type: object
    StatementsTransactionsResponseAsync:
      type: object
      description: Objeto con la respuesta del servicio OpenData, en modo asíncrono.
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      properties:
        OperationId:
          maxLength: 36
          type: string
          description: Identificador único de la operación.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
        Status:
          type: string
          description: >-
            Estado de la operación. Al realizar solicitudes asíncronas, siempre
            devolverá `OK`.
          example: OK
        Data:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        AdditionalInformation:
          type: string
          description: >-
            Mensaje de la operación, puede usarse para mostrar información
            adicional.
          example: Data will be sent to the callback URL.
        Error:
          type: object
          description: '`null` en solicitudes asíncronas.'
          example: null
        LifeSpan:
          type: string
          format: date-time
          description: >-
            Fecha máxima estimada de entrega para solicitudes asíncronas, en
            formato de fecha y hora ISO 8601, zona horaria UTC.
          example: 2017-07-22T00:00:00-0400
    AccountLinkCredential:
      type: object
      description: Use this value to call the service using the pre-generated account link.
      required:
        - AccountLink
      properties:
        AccountLink:
          type: string
          description: Token generated to access the bank account.
          example: >-
            dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB==
    AccountAuthCredential:
      type: object
      description: Values needed to authenticate the user in the bank's website.
      required:
        - Username
        - Password
      properties:
        Username:
          maxLength: 12
          minLength: 1
          type: string
          description: User identification with access to the bank's account (RUN, DNI).
          example: 11.111.111-1
        Password:
          maxLength: 24
          minLength: 1
          type: string
          description: Account password for the website.
          example: wxyz1234!@#$
    AccountNumber:
      type: string
      maxLength: 20
      description: Bank account number.
      example: '000011887755'
    BookingDateMonth:
      type: string
      pattern: ^((19[7-9][0-9])|(20[0-1][0-9])|(202[0-3]))-((0[1-9])|(1[0-2]))$
      description: Start date used for fetch the transactions, in ISO 8601 format (yyyy-mm)
      example: 2022-07
    MonthRequestData:
      type: object
      description: >-
        Information needed to connect to the user's bank account and extract
        data. Mandatory fields indicates values that are necessary to identify
        the desired account.
      required:
        - AccountNumber
        - BookingDate
      properties:
        AccountCredential:
          deprecated: true
          description: >-
            Attention: The use of this field is mandatory when using Api Key
            authentication.
          oneOf:
            - $ref: '#/components/schemas/AccountLinkCredential'
            - $ref: '#/components/schemas/AccountAuthCredential'
        AccountNumber:
          $ref: '#/components/schemas/AccountNumber'
        BookingDate:
          $ref: '#/components/schemas/BookingDateMonth'
    MonthRequest:
      type: object
      description: Object to make a request to the OpenData service.
      required:
        - RequestData
      properties:
        RequestData:
          $ref: '#/components/schemas/MonthRequestData'
        CallbackUrl:
          maxLength: 255
          type: string
          description: URL to send the response message using a POST verb.
          example: https://my-api.my-business.com/api/open-data-response
    CreditDebitIndicatorStatement:
      type: string
      enum:
        - Credit
        - Debit
      description: >-
        Indicates whether the amount is a credit or a debit. Usage: A zero
        amount is considered to be a credit amount.
      example: Credit
    AmountStatement:
      type: object
      description: Amount of money associated with the amount type.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 10000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: CLP
    StatementAmount:
      type: array
      minItems: 0
      description: >-
        Set of elements used to provide details of a generic amount for the
        statement resource.
      items:
        type: object
        required:
          - CreditDebitIndicator
          - Type
          - Amount
        properties:
          CreditDebitIndicator:
            $ref: '#/components/schemas/CreditDebitIndicatorStatement'
          Type:
            type: string
            description: Amount type, in a coded form.
            example: ClosingBalance
          Amount:
            $ref: '#/components/schemas/AmountStatement'
    AmountStatementBenefit:
      type: object
      description: Amount of money associated with the statement benefit type.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 10000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: CLP
    StatementBenefit:
      type: array
      minItems: 0
      description: >-
        Set of elements used to provide details of a benefit or reward amount
        for the statement resource.
      items:
        type: object
        required:
          - Type
          - Amount
        properties:
          Type:
            type: string
            description: Benefit type, in a coded form.
            example: Cashback
          Amount:
            $ref: '#/components/schemas/AmountStatementBenefit'
    StatementDateTime:
      type: array
      minItems: 0
      description: >-
        Set of elements used to provide details of a generic date time for the
        statement resource.
      items:
        type: object
        required:
          - DateTime
          - Type
        properties:
          DateTime:
            type: string
            format: date-time
            description: Date and time associated with the date time type.
            example: 2017-07-21T17:32:28-0400
          Type:
            type: string
            description: Date time type, in a coded form.
            example: LastStatement
    AmountStatementFee:
      type: object
      description: Amount of money associated with the statement fee type.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 10000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: CLP
    StatementFee:
      type: array
      minItems: 0
      description: >-
        Set of elements used to provide details of a fee for the statement
        resource.
      items:
        type: object
        required:
          - CreditDebitIndicator
          - Type
          - Amount
        properties:
          CreditDebitIndicator:
            $ref: '#/components/schemas/CreditDebitIndicatorStatement'
          Description:
            maxLength: 128
            type: string
            description: Description that may be available for the statement fee.
            example: DETALLE DE COMISIONES
          Frequency:
            type: string
            enum:
              - ChargingPeriod
              - PerTransactionAmount
              - PerTransactionPercentage
              - Quarterly
              - StatementMonthly
              - Weekly
            description: How frequently the fee is applied to the Account.
            example: StatementMonthly
          Rate:
            type: string
            description: >-
              Rate charged for Statement Fee (where it is charged in terms of a
              rate rather than an amount)
            example: OTRAS TARIFAS
          RateType:
            type: string
            enum:
              - AER
              - EAR
            description: Description that may be available for the statement fee rate type.
            example: AER
          Type:
            type: string
            description: Fee type, in a coded form.
            example: Monthly
          Amount:
            $ref: '#/components/schemas/AmountStatementFee'
    AmountStatementInterest:
      type: object
      description: Amount of money associated with the statement interest amount type.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 10000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: CLP
    StatementInterest:
      type: array
      minItems: 0
      description: >-
        Set of elements used to provide details of a generic interest amount
        related to the statement resource.
      items:
        type: object
        required:
          - CreditDebitIndicator
          - Type
          - Amount
        properties:
          CreditDebitIndicator:
            $ref: '#/components/schemas/CreditDebitIndicatorStatement'
          Description:
            maxLength: 128
            type: string
            description: Description that may be available for the statement interest.
            example: DETALLE DE INTERESES
          Frequency:
            type: string
            enum:
              - Daily
              - HalfYearly
              - Monthly
              - PerStatementDate
              - Quarterly
              - Weekly
              - Yearly
            description: How frequently the Interest Rate is applied to the Account.
            example: Monthly
          Rate:
            type: string
            description: >-
              Rate for Statement Interest (where it is applicable in terms of a
              rate rather than an amount)
            example: OTRAS TARIFAS
          RateType:
            type: string
            enum:
              - BOEBaseRate
              - FixedRate
              - Gross
              - LoanProviderBaseRate
              - Net
            description: >-
              Description that may be available for the statement Interest rate
              type.
            example: FixedRate
          Type:
            type: string
            description: Interest amount type, in a coded form.
            example: Total
          Amount:
            $ref: '#/components/schemas/AmountStatementInterest'
    StatementRate:
      type: array
      minItems: 0
      description: >-
        Set of elements used to provide details of a generic rate related to the
        statement resource.
      items:
        type: object
        required:
          - Rate
          - Type
        properties:
          Rate:
            maxLength: 40
            type: string
            description: Rate associated with the statement rate type.
            example: '1000'
          Type:
            type: string
            description: Statement rate type, in a coded form.
            example: MonthlyPurchase
    StatementValue:
      type: array
      minItems: 0
      description: >-
        Set of elements used to provide details of a generic number value
        related to the statement resource.
      items:
        type: object
        required:
          - Type
          - Value
        properties:
          Type:
            type: string
            description: Statement value type, in a coded form.
            example: Credits
          Value:
            maxLength: 40
            type: string
            description: Value associated with the statement value type.
            example: '100'
    Statement:
      type: array
      minItems: 0
      description: Provides further details on a statement resource.
      items:
        type: object
        required:
          - AccountId
          - CreationDateTime
          - EndDateTime
          - StartDateTime
          - Type
        properties:
          AccountId:
            maxLength: 40
            type: string
            description: >-
              A unique and immutable identifier used to identify the account
              resource. This identifier has no meaning to the account owner.
            example: '873458'
          CreationDateTime:
            type: string
            format: date-time
            description: Date and time at which the resource was created.
            example: 2017-07-21T17:32:28-0400
          EndDateTime:
            type: string
            format: date-time
            description: Date and time at which the statement period ends.
            example: 2017-06-30T23:59:59-0400
          StartDateTime:
            type: string
            format: date-time
            description: Date and time at which the statement period starts.
            example: 2017-06-01T00:00:00-0400
          StatementDescription:
            type: array
            minItems: 0
            description: >-
              Other descriptions that may be available for the statement
              resource.
            items:
              maxLength: 500
              type: string
              example: ATRIBUTOS ADICIONALES
          StatementId:
            maxLength: 40
            type: string
            description: >-
              Unique identifier for the statement resource within an servicing
              institution. This identifier is both unique and immutable.
            example: 4525f6656f4248a99d289fe8d213557d
          StatementReference:
            maxLength: 35
            type: string
            description: >-
              Unique reference for the statement. This reference may be
              optionally populated if available.
            example: a2c557c63450
          Type:
            type: string
            enum:
              - AccountClosure
              - AccountOpening
              - Annual
              - Interim
              - RegularPeriodic
            description: Statement type, in a coded form.
            example: RegularPeriodic
          StatementAmount:
            $ref: '#/components/schemas/StatementAmount'
          StatementBenefit:
            $ref: '#/components/schemas/StatementBenefit'
          StatementDateTime:
            $ref: '#/components/schemas/StatementDateTime'
          StatementFee:
            $ref: '#/components/schemas/StatementFee'
          StatementInterest:
            $ref: '#/components/schemas/StatementInterest'
          StatementRate:
            $ref: '#/components/schemas/StatementRate'
          StatementValue:
            $ref: '#/components/schemas/StatementValue'
    DataStatement:
      type: object
      nullable: true
      description: Container for Statements. Can be an empty array.
      properties:
        Statement:
          $ref: '#/components/schemas/Statement'
    error:
      type: object
      nullable: true
      description: >-
        Object with the error details, used when `Status=ERROR`. If `Status=OK`
        this field will be null. You can read a complete explanation of this
        object visiting [this link](https://docs.khipu.com/portal/en/errors/)
      example: null
      properties:
        Code:
          type: string
          description: Internal system code that identifies the error.
          example: E201
        Type:
          type: string
          enum:
            - RETRY_IMMEDIATELY
            - DO_NOT_RETRY
            - WAIT_4_HOURS_BEFORE_RETRY
            - RETRY_AFTER_NOTIFICATION
          description: >-
            Indicates how to treat this specific error code, based on the type
            of error.
          example: RETRY_IMMEDIATELY
        Description:
          type: string
          description: Description associated with the error code.
          example: >-
            El servicio destino utilizado para la extracción de datos no se
            encuentra disponible.
    StatementsResponseSyncOk:
      type: object
      description: >-
        Object with the response from OpenData service for the Statements
        operations, in synchronous mode.
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      properties:
        OperationId:
          maxLength: 36
          type: string
          description: Unique identifier of the operation.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
        Status:
          type: string
          enum:
            - OK
            - ERROR
          description: >-
            Operation status. `OK` means that the service was executed
            successfully even if it does not return Data. `ERROR` indicates that
            something happened that prevented the successful completion of the
            process.
          example: OK
        Data:
          $ref: '#/components/schemas/DataStatement'
          nullable: true
        AdditionalInformation:
          type: string
          description: >-
            This field can be used to display relevant information specific to
            the response, for instance indicating that the `Data` field is
            incomplete.
          example: null
          nullable: true
        Error:
          $ref: '#/components/schemas/error'
          nullable: true
        LifeSpan:
          type: string
          description: '`null` in sync requests.'
          example: null
          nullable: true
    TransactionsResponseAsync:
      type: object
      description: >-
        Object with the response from OpenData service for the Transactions
        operations, in asynchronous mode.
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      properties:
        OperationId:
          maxLength: 36
          type: string
          description: Unique identifier of the operation.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
        Status:
          type: string
          description: >-
            Operation status. When making async requests it will always return
            `OK`.
          example: OK
        Data:
          type: object
          description: '`null` in async requests.'
          example: null
        AdditionalInformation:
          type: string
          description: Operation message, can be used to display additional information.
          example: Data will be sent to the callback URL.
        Error:
          type: object
          description: '`null` in async requests.'
          example: null
        LifeSpan:
          type: string
          format: date-time
          description: >-
            Max estimated delivery date for async requests, in ISO 8601 date
            format, UTC timezone.
          example: 2017-07-22T00:00:00-0400
    MonthSimpleRequestData:
      type: object
      description: >-
        Information needed to connect to the user's bank account and extract
        data. Mandatory fields indicates values that are necessary to identify
        the desired account.
      required:
        - BookingDate
      properties:
        AccountCredential:
          deprecated: true
          description: >-
            Attention: The use of this field is mandatory when using Api Key
            authentication.
          oneOf:
            - $ref: '#/components/schemas/AccountLinkCredential'
            - $ref: '#/components/schemas/AccountAuthCredential'
        BookingDate:
          $ref: '#/components/schemas/BookingDateMonth'
    MonthSimpleRequest:
      type: object
      description: Object to make a request to the OpenData service.
      required:
        - RequestData
      properties:
        RequestData:
          $ref: '#/components/schemas/MonthSimpleRequestData'
        CallbackUrl:
          maxLength: 255
          type: string
          description: URL to send the response message using a POST verb.
          example: https://my-api.my-business.com/api/open-data-response
    CreditDebitIndicator:
      type: string
      enum:
        - Credit
        - Debit
      description: Indicates whether the transaction is a credit or a debit entry.
      example: Credit
    AmountTransaction:
      type: object
      description: Amount of money in the cash transaction entry.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 10000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: CLP
    AmountBalanceTransaction:
      type: object
      description: >-
        Amount of money of the cash balance after a transaction entry is applied
        to the account.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 10000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: CLP
    BalanceTransaction:
      type: object
      description: >-
        Set of elements used to define the balance as a numerical representation
        of the net increases and decreases in an account after a transaction
        entry is applied to the account.
      required:
        - CreditDebitIndicator
        - Type
        - Amount
      properties:
        CreditDebitIndicator:
          $ref: '#/components/schemas/CreditDebitIndicator'
        Type:
          type: string
          enum:
            - ClosingAvailable
            - ClosingBooked
            - ClosingCleared
            - Expected
            - ForwardAvailable
            - Information
            - InterimAvailable
            - InterimBooked
            - InterimCleared
            - OpeningAvailable
            - OpeningBooked
            - OpeningCleared
            - PreviouslyClosedBooked
          description: Balance type, in a coded form.
          example: ClosingBooked
        Amount:
          $ref: '#/components/schemas/AmountBalanceTransaction'
    BankTransactionCode:
      type: object
      description: >-
        Set of elements used to fully identify the type of underlying
        transaction resulting in an entry.
      required:
        - Code
        - SubCode
      properties:
        Code:
          type: string
          pattern: ^[A-Z]{4,4}$
          description: Specifies the family within a domain.
          example: RCDT
        SubCode:
          type: string
          pattern: ^[A-Z]{4,4}$
          description: Specifies the sub-product family within a specific family.
          example: DMCT
    CardInstrument:
      type: object
      description: Set of elements to describe the card instrument used in the transaction.
      required:
        - CardSchemeName
      properties:
        AuthorisationType:
          type: string
          enum:
            - ConsumerDevice
            - Contactless
            - None
            - PIN
          description: The card authorisation type.
          example: Contactless
        CardSchemeName:
          type: string
          enum:
            - AmericanExpress
            - Diners
            - Discover
            - MasterCard
            - VISA
          description: Name of the card scheme.
          example: AmericanExpress
        Identification:
          maxLength: 34
          type: string
          description: >-
            Identification assigned by an institution to identify the card
            instrument used in the transaction. This identification is known by
            the account owner, and may be masked.
          example: BLACK CARD ****6328
        Name:
          maxLength: 70
          type: string
          description: Name of the cardholder using the card instrument.
          example: JOHN DOE
    ChargeAmount:
      type: object
      description: Transaction charges to be paid by the charge bearer.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 10000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: CLP
    CreditorAccount:
      type: object
      description: >-
        Unambiguous identification of the account of the creditor, in the case
        of a debit transaction.
      properties:
        Identification:
          maxLength: 256
          type: string
          description: >-
            Identification assigned by an institution to identify an account.
            This identification is known by the account owner.
          example: '99056723'
        Name:
          maxLength: 350
          type: string
          description: >-
            The account name is the name or names of the account owner(s)
            represented at an account level, as displayed by the ASPSP's online
            channels. Note, the account name is not the product name or the
            nickname of the account.
          example: JOHN DOE
        SchemeName:
          type: string
          description: >-
            Name of the identification scheme, in a coded form as published in
            an external list.
          example: BBAN
        SecondaryIdentification:
          maxLength: 34
          type: string
          description: >-
            This is secondary identification of the account, as assigned by the
            account servicing institution. This can be used by building
            societies to additionally identify accounts with a roll number (in
            addition to a sort code and account number combination).
          example: 1373-86353478
    PostalAddress:
      type: object
      description: >-
        Information that locates and identifies a specific address, as defined
        by postal services.
      properties:
        AddressLine:
          type: array
          maxItems: 7
          minItems: 0
          description: >-
            Information that locates and identifies a specific address, as
            defined by postal services, presented in free format text.
          items:
            maxLength: 70
            type: string
            example: AGUSTINAS 1234, SANTIAGO
        AddressType:
          type: string
          enum:
            - Business
            - Correspondence
            - DeliveryTo
            - MailTo
            - POBox
            - Postal
            - Residential
            - Statement
          description: Identifies the nature of the postal address.
          example: Business
        BuildingNumber:
          maxLength: 16
          type: string
          description: Number that identifies the position of a building on a street.
          example: '1234'
        Country:
          type: string
          pattern: ^[A-Z]{2,2}$
          description: Nation with its own government.
          example: CL
        CountrySubDivision:
          maxLength: 35
          type: string
          description: Identifies a subdivision of a country such as state, region, county.
          example: REGION METROPOLITANA
        Department:
          maxLength: 70
          type: string
          description: Identification of a division of a large organisation or building.
          example: OFICINA SANTIAGO CENTRO
        PostCode:
          maxLength: 16
          type: string
          description: >-
            Identifier consisting of a group of letters and/or numbers that is
            added to a postal address to assist the sorting of mail.
          example: '8340422'
        StreetName:
          maxLength: 70
          type: string
          description: Name of a street or thoroughfare.
          example: CALLE MONEDA
        SubDepartment:
          maxLength: 70
          type: string
          description: >-
            Identification of a sub-division of a large organisation or
            building.
          example: BANCA PERSONAS
        TownName:
          maxLength: 35
          type: string
          description: >-
            Name of a built-up area, with defined boundaries, and a local
            government.
          example: SANTIAGO
    CreditorAgent:
      type: object
      description: Financial institution servicing an account for the creditor.
      properties:
        Identification:
          maxLength: 35
          type: string
          description: >-
            Unique and unambiguous identification of a financial institution or
            a branch of a financial institution.
          example: DEMO BANK
        Name:
          maxLength: 140
          type: string
          description: >-
            Name by which an agent is known and which is usually used to
            identify that agent.
          example: DEMO BANK CHILE
        SchemeName:
          type: string
          description: >-
            Name of the identification scheme, in a coded form as published in
            an external list.
          example: BICFI
        PostalAddress:
          $ref: '#/components/schemas/PostalAddress'
    InstructedAmount:
      type: object
      description: >-
        Amount of money to be moved between the debtor and creditor, before
        deduction of charges, expressed in the currency as ordered by the
        initiating party.
      required:
        - Amount
        - Currency
      properties:
        Amount:
          type: number
          format: float
          description: >-
            A number of monetary units specified in an active currency where the
            unit of currency is explicit and compliant with ISO 4217.
          example: 5000
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            A code allocated to a currency by a Maintenance Agency under an
            international identification scheme, as described in the latest
            edition of the international standard ISO 4217 "Codes for the
            representation of currencies and funds".
          example: USD
    CurrencyExchange:
      type: object
      description: Set of elements used to provide details on the currency exchange.
      required:
        - ExchangeRate
        - SourceCurrency
      properties:
        ContractIdentification:
          maxLength: 35
          type: string
          description: >-
            Unique identification to unambiguously identify the foreign exchange
            contract.
          example: '84783113'
        ExchangeRate:
          type: string
          description: >-
            Factor used to convert an amount from one currency into another.
            This reflects the price at which one currency was bought with
            another currency. Usage: ExchangeRate expresses the ratio between
            UnitCurrency and QuotedCurrency (ExchangeRate =
            UnitCurrency/QuotedCurrency).
          example: '691.907186'
        QuotationDate:
          type: string
          format: date-time
          description: Date and time at which an exchange rate is quoted.
          example: 2019-05-15T09:45:00-0400
        SourceCurrency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            Currency from which an amount is to be converted in a currency
            conversion.
          example: USD
        TargetCurrency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            Currency into which an amount is to be converted in a currency
            conversion.
          example: CLP
        UnitCurrency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: >-
            Currency in which the rate of exchange is expressed in a currency
            exchange. In the example 1USD = xxxCLP, the unit currency is USD.
          example: USD
        InstructedAmount:
          $ref: '#/components/schemas/InstructedAmount'
    DebtorAccount:
      type: object
      description: >-
        Unambiguous identification of the account of the debtor, in the case of
        a credit transaction.
      properties:
        Identification:
          maxLength: 256
          type: string
          description: >-
            Identification assigned by an institution to identify an account.
            This identification is known by the account owner.
          example: '99056723'
        Name:
          maxLength: 350
          type: string
          description: >-
            The account name is the name or names of the account owner(s)
            represented at an account level, as displayed by the ASPSP's online
            channels. Note, the account name is not the product name or the
            nickname of the account.
          example: JOHN DOE
        SchemeName:
          type: string
          description: >-
            Name of the identification scheme, in a coded form as published in
            an external list.
          example: BBAN
        SecondaryIdentification:
          maxLength: 34
          type: string
          description: >-
            This is secondary identification of the account, as assigned by the
            account servicing institution. This can be used by building
            societies to additionally identify accounts with a roll number (in
            addition to a sort code and account number combination).
          example: 1373-86353478
    DebtorAgent:
      type: object
      description: Financial institution servicing an account for the debtor.
      properties:
        Identification:
          maxLength: 35
          type: string
          description: >-
            Unique and unambiguous identification of a financial institution or
            a branch of a financial institution.
          example: DEMO BANK
        Name:
          maxLength: 140
          type: string
          description: >-
            Name by which an agent is known and which is usually used to
            identify that agent.
          example: DEMO BANK CHILE
        SchemeName:
          type: string
          description: >-
            Name of the identification scheme, in a coded form as published in
            an external list.
          example: BICFI
        PostalAddress:
          $ref: '#/components/schemas/PostalAddress'
    MerchantDetails:
      type: object
      description: Details of the merchant involved in the transaction.
      properties:
        MerchantCategoryCode:
          maxLength: 4
          minLength: 3
          type: string
          description: >-
            Category code conform to ISO 18245, related to the type of services
            or goods the merchant provides for the transaction.
          example: '2741'
        MerchantName:
          maxLength: 350
          type: string
          description: Name by which the merchant is known.
          example: MI COMERCIO
    ProprietaryBankTransactionCode:
      type: object
      description: Set of elements to fully identify a proprietary bank transaction code.
      required:
        - Code
      properties:
        Code:
          maxLength: 35
          type: string
          description: >-
            Proprietary bank transaction code to identify the underlying
            transaction.
          example: TRANSFERENCIA
        Issuer:
          maxLength: 35
          type: string
          description: >-
            Identification of the issuer of the proprietary bank transaction
            code.
          example: DEMO BANK
    Transaction:
      type: array
      minItems: 0
      description: Provides further details on an entry in the report.
      items:
        type: object
        required:
          - AccountId
          - BookingDateTime
          - CreditDebitIndicator
          - Status
          - Amount
        properties:
          AccountId:
            maxLength: 40
            type: string
            description: >-
              A unique and immutable identifier used to identify the account
              resource. This identifier has no meaning to the account owner.
            example: '873458'
          AddressLine:
            maxLength: 70
            type: string
            description: >-
              Information that locates and identifies a specific address for a
              transaction entry, that is presented in free format text.
            example: SUCURSAL SANTIAGO CENTRO
          BookingDateTime:
            type: string
            format: date-time
            description: >-
              Date and time when a transaction entry is posted to an account on
              the account servicer's books. Usage: Booking date is the expected
              booking date, unless the status is booked, in which case it is the
              actual booking date.
            example: 2017-07-22T00:00:00-0400
          CreditDebitIndicator:
            $ref: '#/components/schemas/CreditDebitIndicator'
          StatementReference:
            type: array
            minItems: 0
            description: >-
              Unique reference for the statement. This reference may be
              optionally populated if available.
            items:
              maxLength: 35
              type: string
              example: a2c557c63450
          Status:
            type: string
            enum:
              - Booked
              - Pending
              - Rejected
            description: >-
              Status of a transaction entry on the books of the account
              servicer.
            example: Booked
          TransactionId:
            maxLength: 210
            type: string
            description: >-
              Unique identifier for the transaction within an servicing
              institution. This identifier is both unique and immutable.
            example: c830d0c9a0904ea6badbaf8e25ff6e87
          TransactionInformation:
            maxLength: 500
            type: string
            description: >-
              Further details of the transaction. This is the transaction
              narrative, which is unstructured text.
            example: PAGO DE CUENTAS
          TransactionMutability:
            type: string
            enum:
              - Mutable
              - Immutable
            description: Specifies the Mutability of the Transaction record.
            example: Immutable
          TransactionReference:
            maxLength: 210
            type: string
            description: Unique reference for the transaction.
            example: 09cce92d-494b-4f29-8584-6a0409a052c7
          ValueDateTime:
            type: string
            format: date-time
            description: >-
              Date and time at which assets become available to the account
              owner in case of a credit entry, or cease to be available to the
              account owner in case of a debit transaction entry. Usage: If
              transaction entry status is pending and value date is present,
              then the value date refers to an expected/requested value date.
              For transaction entries subject to availability/float and for
              which availability information is provided, the value date must
              not be used. In this case the availability component identifies
              the number of availability days.
            example: 2017-07-21T17:32:28-0400
          Amount:
            $ref: '#/components/schemas/AmountTransaction'
          Balance:
            $ref: '#/components/schemas/BalanceTransaction'
          BankTransactionCode:
            $ref: '#/components/schemas/BankTransactionCode'
          CardInstrument:
            $ref: '#/components/schemas/CardInstrument'
          ChargeAmount:
            $ref: '#/components/schemas/ChargeAmount'
          CreditorAccount:
            $ref: '#/components/schemas/CreditorAccount'
          CreditorAgent:
            $ref: '#/components/schemas/CreditorAgent'
          CurrencyExchange:
            $ref: '#/components/schemas/CurrencyExchange'
          DebtorAccount:
            $ref: '#/components/schemas/DebtorAccount'
          DebtorAgent:
            $ref: '#/components/schemas/DebtorAgent'
          MerchantDetails:
            $ref: '#/components/schemas/MerchantDetails'
          ProprietaryBankTransactionCode:
            $ref: '#/components/schemas/ProprietaryBankTransactionCode'
          SupplementaryData:
            type: array
            description: >-
              Additional information that can not be captured in the structured
              fields and/or any other specific block.
            items: {}
    DataTransaction:
      type: object
      nullable: true
      description: Container for Transactions. Can be an empty array.
      properties:
        Transaction:
          $ref: '#/components/schemas/Transaction'
    TransactionsResponseSyncOk:
      type: object
      description: >-
        Object with the response from OpenData service for the Transactions
        operations, in synchronous mode, when `Status` is "OK".
      required:
        - OperationId
        - Status
        - Data
        - AdditionalInformation
        - Error
        - LifeSpan
      properties:
        OperationId:
          maxLength: 36
          type: string
          description: Unique identifier of the operation.
          example: 6baf6c19-e485-463b-ae24-a821b025c8a4
        Status:
          type: string
          enum:
            - OK
            - ERROR
          description: >-
            Operation status. `OK` means that the service was executed
            successfully even if it does not return Data. `ERROR` indicates that
            something happened that prevented the successful completion of the
            process.
          example: OK
        Data:
          $ref: '#/components/schemas/DataTransaction'
          nullable: true
        AdditionalInformation:
          type: string
          description: >-
            This field can be used to display relevant information specific to
            the response, for instance indicating that the `Data` field is
            incomplete.
          example: null
          nullable: true
        Error:
          $ref: '#/components/schemas/error'
          nullable: true
        LifeSpan:
          type: string
          description: '`null` in sync requests.'
          example: null
          nullable: true
    ItauPendingTransactionsCardPurchasesRequestData:
      type: object
      description: >-
        Information needed to connect to a Itaú-Empresas bank account and
        extract data from card purchases. Mandatory fields indicates values that
        are necessary to identify the desired account.
      required:
        - Product
        - LastDigits
      properties:
        AccountCredential:
          deprecated: true
          description: >-
            Attention: The use of this field is mandatory when using Api Key
            authentication.
          oneOf:
            - $ref: '#/components/schemas/AccountLinkCredential'
            - $ref: '#/components/schemas/AccountAuthCredential'
        Product:
          type: string
          description: Name of the credit card.
          example: CreditCard Business
        LastDigits:
          type: string
          pattern: ^\d{4}$
          description: Last 4 digits of the credit card.
          example: '0634'
    ItauPendingTransactionsCardPurchasesRequest:
      type: object
      description: Object to make a request to the OpenData service.
      required:
        - RequestData
      properties:
        RequestData:
          $ref: '#/components/schemas/ItauPendingTransactionsCardPurchasesRequestData'
        CallbackUrl:
          maxLength: 255
          type: string
          description: URL to send the response message using a POST verb.
          example: https://my-api.my-business.com/api/open-data-response
