openapi: 3.0.1
info:
  license:
    name: Khipu Open Data API
    url: https://khipu.com
  title: AFC
  description: ''
  version: v1.0
servers:
  - url: https://api.khipu.com
    description: Production
security:
  - JWT: []
  - Api-Key: []
paths:
  /v1/cl/services/afc.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 **AFC** 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/services/afc.cl/balance:
    post:
      summary: Balance
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en
        **Administradora de Fondo de Cesantía (AFC)** y retorna su "Saldo en
        cuenta".


        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: Balance
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BalanceRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceResponseSyncOk'
        '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/BalanceResponseAsync'
        '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/services/afc.cl/contributions-certificate:
    post:
      summary: Contributions Certificate
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en
        **Administradora de Fondo de Cesantía (AFC)** y retorna el "Certificado
        de Movimientos" correspondiente al período consultado.


        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: ContributionsCertificate
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContributionsCertificateRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContributionsCertificateResponseSyncOk'
        '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/ContributionsCertificateResponseAsync'
        '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/services/afc.cl/employer/contributed-balance:
    post:
      summary: Employer Contributions Balance
      description: >-
        Este método se conecta a la cuenta empleador especificada por el usuario
        en **Administradora de Fondo de Cesantía (AFC)** y retorna el "Saldo
        Aporte Empleador" para un Rol Único Nacional (RUN) de empleado.


        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: EmployerContributedBalance
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmployerContributedBalanceRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployerContributedBalanceResponseSyncOk'
        '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/EmployerContributedBalanceResponseAsync'
        '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/services/afc.cl/last-credited-contribution:
    post:
      summary: Last Credited Contribution
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en
        **Administradora de Fondo de Cesantía (AFC)** y retorna las "Ultimas
        Contribuciones Acreditadas" correspondientes al período consultado.


        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: LastCreditedContribution
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LastCreditedContributionRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LastCreditedContributionResponseSyncOk'
        '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/LastCreditedContributionResponseAsync'
        '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/services/afc.cl/paid-contributions-v2:
    post:
      summary: Paid Contributions
      description: >-
        Este método se conecta a la cuenta especificada por el usuario en
        **Administradora de Fondo de Cesantía (AFC)** y retorna las
        "Cotizaciones pagadas" correspondientes al período consultado.


        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: PaidContributionsV2
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaidContributionsV2Request'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaidContributionsV2ResponseSyncOk'
        '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/PaidContributionsV2ResponseAsync'
        '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 :(
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
        LoginChoice:
          description: >-
            Especifica el método que se utilizará para iniciar sesión en el
            sitio web de AFC, donde `CU` significa "Clave Única" y `AFC`
            significa "Clave AFC".
          example: CU
          type: string
          enum:
            - CU
            - AFC
      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
    BalanceRequest:
      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:
            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
                    LoginChoice:
                      description: >-
                        Especifica el método que se utilizará para iniciar
                        sesión en el sitio web de AFC, donde `CU` significa
                        "Clave Única" y `AFC` significa "Clave AFC".
                      example: CU
                      type: string
                      enum:
                        - CU
                        - AFC
                  required:
                    - Username
                    - Password
                  type: object
          required: []
          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
    BalanceResponseSyncOk:
      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:
          additionalProperties: false
          description: Contenedor para el saldo de las contribuciones.
          type: object
          required:
            - ContributionsBalance
          properties:
            ContributionsBalance:
              type: object
              description: Contenedor para el saldo de las contribuciones.
              required:
                - CreationDate
                - Details
                - TotalBalance
                - TotalBalanceCuota
              properties:
                CreationDate:
                  type: string
                  description: Fecha de creación del recurso.
                  example: '2017-07-22'
                TotalBalance:
                  type: integer
                  description: >-
                    Número de unidades monetarias especificadas en pesos
                    chilenos (CLP) que representa el importe total de las
                    cotizaciones.
                  example: '10000'
                TotalBalanceCuota:
                  type: number
                  description: >-
                    Número de cuotas que representa el importe total de las
                    contribuciones.
                  example: '223.45'
                Details:
                  type: array
                  description: >-
                    Contenedor para los detalles del saldo. El arreglo puede
                    estar vacío.
                  items:
                    type: object
                    required:
                      - Amount
                      - AmountCuota
                      - EmployerId
                      - EmployerName
                    properties:
                      EmployerId:
                        type: string
                        description: >-
                          Un identificador único e inmutable utilizado para
                          identificar la empresa empleadora (también conocido
                          como 'RUT').
                        example: 11.222.333-4
                      EmployerName:
                        type: string
                        description: >-
                          Information that identifies an employer business, such
                          as the business name, that is presented in free format
                          text.
                        example: KHIPU SPA
                      Amount:
                        type: integer
                        description: >-
                          Número de unidades monetarias especificadas en pesos
                          chilenos (CLP) que representa la cantidad aportada.
                        example: '10000'
                      AmountCuota:
                        type: number
                        description: >-
                          Número de unidades monetarias especificado en cuotas
                          AFC que representa la cantidad aportada.
                        example: '223.45'
          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
    BalanceResponseAsync:
      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
    ContributionsCertificateRequest:
      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:
            Period:
              description: >-
                Año para el periodo a obtener. Rango desde 1970 hasta el año
                actual.
              example: '2021'
              type: string
            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
                    LoginChoice:
                      description: >-
                        Especifica el método que se utilizará para iniciar
                        sesión en el sitio web de AFC, donde `CU` significa
                        "Clave Única" y `AFC` significa "Clave AFC".
                      example: CU
                      type: string
                      enum:
                        - CU
                        - AFC
                  required:
                    - Username
                    - Password
                  type: object
          required:
            - Period
          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
    ContributionsCertificateResponseSyncOk:
      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:
          additionalProperties: false
          type: object
          description: Contenedor para movimientos de contribuciones.
          required:
            - ContributionsCertificate
          properties:
            ContributionsCertificate:
              type: object
              required:
                - CreationDate
                - Description
                - Document
                - IdentifierNumber
                - Movements
                - Title
              properties:
                IdentifierNumber:
                  type: string
                  description: Número de folio.
                  example: 49PW-50JX-WLO9-6JVP
                CreationDate:
                  type: string
                  description: Fecha de emisión.
                  example: '2023-09-28'
                Title:
                  type: string
                  description: Título del documento.
                  example: Certificado de movimiento de Cuenta Individual por Cesantía
                Description:
                  type: string
                  description: Descripción del documento.
                  example: >-
                    AFC CHILE S.A. certifica que la Cuenta Individual de
                    Cesantía perteneciente al afiliado(a) AAAAA BBBBB CCCCC
                    DDDDD, RUT 11.222.333-N registra los siguientes movimientos
                    en el período de FEBRERO/2022 a AGOSTO/2023:
                Movements:
                  type: array
                  description: Arreglo de movimientos.
                  items:
                    type: object
                    required:
                      - Comment
                      - ContributionDate
                      - EmployerName
                      - TaxableIncome
                      - TaxedAmount
                    properties:
                      ContributionDate:
                        type: string
                        description: >-
                          Fecha en formato aaaa-mm en la que se emitió una
                          contribución. (Período)
                        example: 2017-07
                      EmployerName:
                        type: string
                        description: >-
                          Información que identifica a una empresa empleadora,
                          como el nombre de la empresa, que se presenta en texto
                          de formato libre. (Empleador)
                        example: KHIPU SPA
                      TaxableIncome:
                        type: integer
                        description: >-
                          Número de unidades monetarias especificadas en pesos
                          chilenos (CLP) que representa la renta imponible.
                          (Renta imponible en CLP)
                        example: '1000000'
                      Comment:
                        type: string
                        description: Tipo de contribución. (Glosa)
                        example: Cotiz. Trabajador
                      TaxedAmount:
                        type: integer
                        description: >-
                          Número de unidades monetarias especificadas en pesos
                          chilenos (CLP) que representa el monto cotizado por
                          concepto de contribución. (Monto cotizado en CLP)
                        example: '100000'
                Document:
                  type: string
                  description: Representación en Base64 del documento pdf.
                  example: <document>
          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
    ContributionsCertificateResponseAsync:
      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
    EmployerContributedBalanceRequest:
      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:
            EmployeeId:
              type: string
              description: >-
                Identificador único e inmutable utilizado para identificar al
                empleado (RUT).
              example: 10.111.111-1
            ContributionStartDate:
              type: string
              description: Fecha de inicio de los aportes en formato ISO 8601 (YYYY-MM-DD).
              example: '2024-01-01'
            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
                  required:
                    - Username
                    - Password
                  type: object
          required:
            - EmployeeId
            - ContributionStartDate
          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
    EmployerContributedBalanceResponseSyncOk:
      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:
          additionalProperties: false
          type: object
          description: Contenedor de saldo aporte empleador.
          required:
            - EmployerContributionsBalance
          properties:
            EmployerContributionsBalance:
              type: object
              description: Proporciona información sobre el balance.
              required:
                - EmployeeId
                - NominalAmount
                - Profitability
                - AdministrationCosts
                - EmployerContributionAmount
                - Currency
              properties:
                EmployeeId:
                  type: string
                  description: >-
                    Identificador único e inmutable utilizado para identificar
                    al empleado (también conocido como 'RUT').
                  example: 19.111.111-1
                NominalAmount:
                  type: integer
                  description: Monto nominal.
                  example: '65000'
                Profitability:
                  type: integer
                  description: Rentabilidad.
                  example: '20550'
                AdministrationCosts:
                  type: integer
                  description: Costos de administración.
                  example: '7990'
                EmployerContributionAmount:
                  type: integer
                  description: Monto aportado empleador.
                  example: '99500'
                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
          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
    EmployerContributedBalanceResponseAsync:
      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
    LastCreditedContributionRequest:
      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:
            Period:
              description: >-
                Periodo para el cual se recuperarán las ultimas cotizaciones
                acreditadas. De no ser proporcionado, se recuperará la última
                disponible.
              example: '2024'
              type: string
            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
                    LoginChoice:
                      description: >-
                        Especifica el método que se utilizará para iniciar
                        sesión en el sitio web de AFC, donde `CU` significa
                        "Clave Única" y `AFC` significa "Clave AFC".
                      example: CU
                      type: string
                      enum:
                        - CU
                        - AFC
                  required:
                    - Username
                    - Password
                  type: object
          required: []
          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
    LastCreditedContributionResponseSyncOk:
      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:
          additionalProperties: false
          description: Contenedor de cotizaciones pagadas.
          type: object
          required:
            - PaidContributions
          properties:
            PaidContributions:
              description: Conjunto de contribuciones pagadas. Puede estar vacío.
              type: array
              items:
                type: object
                required:
                  - ContributionDate
                  - EmployerId
                  - EmployerName
                  - PaymentDate
                  - TaxableIncome
                  - TaxedAmount
                properties:
                  ContributionDate:
                    type: string
                    description: >-
                      Fecha en formato YYYY-MM en la que se emitió una
                      contribución.
                    example: 2017-07
                  EmployerId:
                    type: string
                    description: >-
                      Identificador único e inmutable utilizado para identificar
                      la empresa empleadora (también conocido como RUT).
                    example: 11.222.333-4
                  EmployerName:
                    type: string
                    description: >-
                      Información que identifica a una empresa empleadora, como
                      el nombre de la empresa, que se presenta en texto de
                      formato libre.
                    example: KHIPU SPA
                  TaxableIncome:
                    type: integer
                    description: >-
                      Número de unidades monetarias especificadas en pesos
                      chilenos (CLP) que representa la renta imponible.
                    example: '10000'
                  TaxedAmount:
                    type: integer
                    description: >-
                      Número de unidades monetarias especificadas en pesos
                      chilenos (CLP) que representa el monto del abono por
                      concepto de contribución.
                    example: '1000'
                  PaymentDate:
                    type: string
                    description: Fecha de pago de la cotización emitida.
                    example: '2017-07-22'
          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
    LastCreditedContributionResponseAsync:
      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
    PaidContributionsV2Request:
      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:
            Period:
              description: >-
                Año para el periodo a obtener. Rango desde 1970 hasta el año
                actual.
              example: '2021'
              type: string
            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
                    LoginChoice:
                      description: >-
                        Especifica el método que se utilizará para iniciar
                        sesión en el sitio web de AFC, donde `CU` significa
                        "Clave Única" y `AFC` significa "Clave AFC".
                      example: CU
                      type: string
                      enum:
                        - CU
                        - AFC
                  required:
                    - Username
                    - Password
                  type: object
          required:
            - Period
          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
    PaidContributionsV2ResponseSyncOk:
      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:
          additionalProperties: false
          description: Contenedor de cotizaciones pagadas.
          type: object
          required:
            - PaidContributions
          properties:
            PaidContributions:
              description: Conjunto de contribuciones pagadas. Puede estar vacío.
              type: array
              items:
                type: object
                required:
                  - ChargedAmount
                  - ContributionDate
                  - EmployerId
                  - EmployerName
                  - InvoiceNumber
                  - PaymentDate
                  - PaymentType
                  - TaxableIncome
                  - TaxedAmount
                  - TransactionCode
                properties:
                  ContributionDate:
                    type: string
                    description: >-
                      Fecha en formato YYYY-MM en la que se emitió una
                      contribución.
                    example: 2017-07
                  EmployerId:
                    type: string
                    description: >-
                      Identificador único e inmutable utilizado para identificar
                      la empresa empleadora (también conocido como RUT).
                    example: 11.222.333-4
                  EmployerName:
                    type: string
                    description: >-
                      Información que identifica a una empresa empleadora, como
                      el nombre de la empresa, que se presenta en texto de
                      formato libre.
                    example: KHIPU SPA
                  TransactionCode:
                    type: string
                    description: Código asociado al movimiento de la contribución.
                    example: 101-01
                  InvoiceNumber:
                    type: string
                    description: ''
                    example: ''
                  TaxableIncome:
                    type: integer
                    description: >-
                      Número de unidades monetarias especificadas en pesos
                      chilenos (CLP) que representa la renta imponible.
                    example: '10000'
                  TaxedAmount:
                    type: integer
                    description: >-
                      Número de unidades monetarias especificadas en pesos
                      chilenos (CLP) que representa el monto del abono por
                      concepto de contribución.
                    example: '1000'
                  ChargedAmount:
                    type: integer
                    description: >-
                      Número de unidades monetarias especificadas en pesos
                      chilenos (CLP) que representa el importe cobrado en
                      concepto de contribución.
                    example: '1000'
                  PaymentDate:
                    type: string
                    description: Fecha de pago de la cotización emitida.
                    example: '2017-07-22'
                  PaymentType:
                    type: string
                    description: Tipo de pago.
                    example: COMIS. PORC. SALDOS AFIL
          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
    PaidContributionsV2ResponseAsync:
      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
