openapi: 3.0.1
info:
  license:
    name: Khipu Open Data API
    url: https://khipu.com
  title: Registro Civil
  description: ''
  version: v1.0
servers:
  - url: https://api.khipu.com
    description: Production
security:
  - JWT: []
  - Api-Key: []
paths:
  /v1/cl/services/registrocivil.cl/birth-certificate:
    post:
      summary: Birth Certificate
      description: >-
        Este método retorna un "Certificado de nacimiento" desde el sitio web
        del **Registro Civil**, dado un Rol Único Nacional (RUN).


        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: BirthCertificate
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BirthCertificateRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BirthCertificateResponseSyncOk'
        '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/BirthCertificateResponseAsync'
        '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/registrocivil.cl/civil-union-certificate:
    post:
      summary: Civil Union Certificate
      description: >-
        Este método retorna un "Certificado de Unión Civil" desde el sitio web
        del **Registro Civil**, dado un Rol Único Nacional (RUN).


        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: CivilUnionCertificate
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CivilUnionCertificateRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CivilUnionCertificateResponseSyncOk'
        '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/CivilUnionCertificateResponseAsync'
        '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/registrocivil.cl/death-certificate:
    post:
      summary: Death Certificate
      description: >-
        Este método retorna un "Certificado de defunción" desde el sitio web del
        **Registro Civil**, dado un Rol Único Nacional (RUN).


        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: DeathCertificate
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeathCertificateRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeathCertificateResponseSyncOk'
        '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/DeathCertificateResponseAsync'
        '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/registrocivil.cl/identity-document-validity-check:
    post:
      summary: Identity document validity check
      description: >-
        Este método retorna el estado en tiempo real de un documento de
        identidad chileno, dado un Rol Único Nacional (RUN), utilizando el sitio
        web del **Registro Civil**.


        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: IdentityDocumentValidityCheck
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityDocumentValidityCheckRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/IdentityDocumentValidityCheckResponseSyncOk
        '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/IdentityDocumentValidityCheckResponseAsync
        '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/registrocivil.cl/marriage-certificate:
    post:
      summary: Marriage Certificate
      description: >-
        Este método retorna un "Certificado de matrimonio" desde el sitio web
        del **Registro Civil**, dado un Rol Único Nacional (RUN).


        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: MarriageCertificate
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarriageCertificateRequest'
        required: true
      responses:
        '200':
          description: Operación exitosa. Retorna un objeto JSON con los datos solicitados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarriageCertificateResponseSyncOk'
        '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/MarriageCertificateResponseAsync'
        '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:
    BirthCertificateRequest:
      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:
            RolUnicoNacionalCertificate:
              description: >-
                Rol Único Nacional (RUN) de la persona para la cual solicitas el
                certificado de nacimiento, sin utilizar puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
            RolUnicoNacionalApplicant:
              description: >-
                Rol único nacional (RUN) de la persona solicitante del
                certificado. No utilice los puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
            DocumentNumberApplicant:
              description: >-
                Número de serie del documento de identidad de la persona que
                solicita el certificado.
              example: '555666777'
              type: string
              pattern: ^\d{9,10}$
          required:
            - RolUnicoNacionalCertificate
            - RolUnicoNacionalApplicant
            - DocumentNumberApplicant
          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
    BirthCertificateResponseSyncOk:
      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 certificado de nacimiento.
          type: object
          required:
            - CertificadoNacimiento
          properties:
            CertificadoNacimiento:
              type: object
              description: Contenedor para certificado de nacimiento.
              required:
                - CodigoVerificacion
                - DatosRegistro
                - Documento
                - FechaEmision
                - Folio
                - NombreArchivo
              properties:
                Folio:
                  type: string
                  description: Número de folio del certificado.
                  example: '500515253001'
                CodigoVerificacion:
                  type: string
                  description: >-
                    Código para verificar la validez del documento en el sitio
                    web del Registro Civil.
                  example: c846470891ff
                FechaEmision:
                  type: string
                  description: Fecha en la que se emitió el certificado.
                  example: '2023-09-28T16:32:00'
                DatosRegistro:
                  type: object
                  description: Contenedor para los detalles del certificado.
                  required:
                    - Anio
                    - Circunscripcion
                    - FechaNacimiento
                    - NombreInscrito
                    - NombreMadre
                    - NombrePadre
                    - NumeroInscripcion
                    - Registro
                    - Run
                    - RunMadre
                    - RunPadre
                    - Sexo
                  properties:
                    Circunscripcion:
                      type: string
                      description: Circunscripción.
                      example: SAN JOSÉ DE MAIPO
                    NumeroInscripcion:
                      type: string
                      description: Nro. inscripción.
                      example: '9.821'
                    Registro:
                      type: string
                      description: Registro.
                      example: E
                    Anio:
                      type: string
                      description: Año.
                      example: '1997'
                    NombreInscrito:
                      type: string
                      description: Nombre inscrito.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    Run:
                      type: string
                      description: R.U.N.
                      example: 11.222.333-7
                    FechaNacimiento:
                      type: string
                      description: Fecha de nacimiento.
                      example: '1980-04-25'
                    HoraNacimiento:
                      type: string
                      description: Hora de nacimiento.
                      example: '13:50:00'
                    Sexo:
                      type: string
                      description: Sexo.
                      example: Masculino
                    NombrePadre:
                      type: string
                      description: Nombre del Padre.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    RunPadre:
                      type: string
                      description: R.U.N. del Padre
                      example: 11.222.333-7
                    NombreMadre:
                      type: string
                      description: Nombre de la Madre.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    RunMadre:
                      type: string
                      description: R.U.N. de la Madre
                      example: 11.222.333-7
                    CuidadoPersonalJudicial:
                      type: string
                      description: >-
                        Responsabilidad legal para el cuidado de un niño
                        asignada por el tribunal.
                      example: Custodia otorgada al padre A
                    PatriaPotestadJudicial:
                      type: string
                      description: >-
                        Derechos y responsabilidades parentales otorgados por el
                        tribunal.
                      example: Autoridad parental compartida
                NombreArchivo:
                  type: string
                  description: Nombre de archivo, según lo indicado por el Registro Civil.
                  example: MAT_500515253001_11222333.pdf
                Documento:
                  type: string
                  description: Representación Base64 del documento en formato 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
    BirthCertificateResponseAsync:
      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
    CivilUnionCertificateRequest:
      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:
            RolUnicoNacionalCertificate:
              description: >-
                Rol único nacional (RUN) del que deseas el certificado de unión
                civil. No utilice los puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
          required:
            - RolUnicoNacionalCertificate
          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
    CivilUnionCertificateResponseSyncOk:
      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 certificado de unión civil.
          type: object
          required:
            - CertificadoUnionCivil
          properties:
            CertificadoUnionCivil:
              type: object
              description: Contenedor para certificado de unión civil.
              required:
                - CodigoVerificacion
                - DatosRegistro
                - Documento
                - FechaEmision
                - Folio
                - NombreArchivo
              properties:
                Folio:
                  type: string
                  description: Número de folio del certificado.
                  example: '500515253001'
                CodigoVerificacion:
                  type: string
                  description: >-
                    Código para verificar la validez del documento en el sitio
                    web del Registro Civil.
                  example: c846470891ff
                FechaEmision:
                  type: string
                  description: Fecha en la que se emitió el certificado.
                  example: '2023-09-28T16:32:00'
                DatosRegistro:
                  type: object
                  description: Contenedor para los detalles del certificado.
                  required:
                    - Anio
                    - Circunscripcion
                    - FechaCelebracion
                    - FechaNacimientoConviviente1
                    - FechaNacimientoConviviente2
                    - NombreConviviente1
                    - NombreConviviente2
                    - NumeroInscripcion
                    - FechaAnotacion
                    - RunConviviente2
                  properties:
                    Circunscripcion:
                      type: string
                      description: Circunscripción.
                      example: SAN JOSÉ DE MAIPO
                    NumeroInscripcion:
                      type: string
                      description: Nro. inscripción.
                      example: '9.821'
                    FechaAnotacion:
                      type: string
                      description: Fecha anotación.
                      example: '2024-11-20T00:00:00'
                    Anio:
                      type: string
                      description: Año.
                      example: '1997'
                    NombreConviviente1:
                      type: string
                      description: Nombre del conviviente.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    RunConviviente1:
                      type: string
                      description: R.U.N.
                      example: 11.222.333-7
                    FechaNacimientoConviviente1:
                      type: string
                      description: Fecha de nacimiento.
                      example: '1980-04-25'
                    NombreConviviente2:
                      type: string
                      description: Nombre del conviviente.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    RunConviviente2:
                      type: string
                      description: R.U.N.
                      example: 11.222.333-7
                    FechaNacimientoConviviente2:
                      type: string
                      description: Fecha de nacimiento.
                      example: '1980-04-25'
                    FechaCelebracion:
                      type: string
                      description: Fecha celebración.
                      example: '1980-04-25T11:00:00'
                NombreArchivo:
                  type: string
                  description: Nombre de archivo, según lo indicado por el Registro Civil.
                  example: MAT_500515253001_11222333.pdf
                Documento:
                  type: string
                  description: Representación Base64 del documento en formato 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
    CivilUnionCertificateResponseAsync:
      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
    DeathCertificateRequest:
      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:
            RolUnicoNacionalCertificate:
              description: >-
                Rol único nacional (RUN) del que deseas el certificado de
                defunción. No utilice los puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
            RolUnicoNacionalApplicant:
              description: >-
                Rol único nacional (RUN) de la persona solicitante del
                certificado. No utilice los puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
            DocumentNumberApplicant:
              description: >-
                Número de serie del documento de identidad de la persona que
                solicita el certificado.
              example: '555666777'
              type: string
              pattern: ^\d{9,10}$
          required:
            - RolUnicoNacionalCertificate
            - RolUnicoNacionalApplicant
            - DocumentNumberApplicant
          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
    DeathCertificateResponseSyncOk:
      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 certificado de defunción.
          type: object
          required:
            - CertificadoDefuncion
          properties:
            CertificadoDefuncion:
              type: object
              description: Contenedor para certificado de defunción.
              required:
                - CodigoVerificacion
                - DatosRegistro
                - Documento
                - FechaEmision
                - Folio
                - NombreArchivo
              properties:
                Folio:
                  type: string
                  description: Número de folio del certificado.
                  example: '500515253001'
                CodigoVerificacion:
                  type: string
                  description: >-
                    Código para verificar la validez del documento en el sitio
                    web del Registro Civil.
                  example: c846470891ff
                FechaEmision:
                  type: string
                  description: Fecha en la que se emitió el certificado.
                  example: '2023-09-28T16:32:00'
                DatosRegistro:
                  type: object
                  description: Contenedor para los detalles del certificado.
                  required:
                    - Anio
                    - Circunscripcion
                    - FechaNacimiento
                    - NombreInscrito
                    - FechaDefuncion
                    - NumeroInscripcion
                    - Registro
                    - Run
                    - LugarDefuncion
                    - Sexo
                  properties:
                    Circunscripcion:
                      type: string
                      description: Circunscripción.
                      example: SAN JOSÉ DE MAIPO
                    NumeroInscripcion:
                      type: string
                      description: Nro. inscripción.
                      example: '9.821'
                    Registro:
                      type: string
                      description: Registro.
                      example: E
                    Anio:
                      type: string
                      description: Año.
                      example: '1997'
                    NombreInscrito:
                      type: string
                      description: Nombre inscrito.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    Run:
                      type: string
                      description: R.U.N.
                      example: 11.222.333-7
                    FechaNacimiento:
                      type: string
                      description: Fecha de nacimiento.
                      example: '1980-04-25'
                    Sexo:
                      type: string
                      description: Sexo.
                      example: Masculino
                    FechaDefuncion:
                      type: string
                      description: Fecha de defunción.
                      example: '2023-09-28T16:32:00'
                    LugarDefuncion:
                      type: string
                      description: Lugar de defunción.
                      example: Santiago
                NombreArchivo:
                  type: string
                  description: Nombre de archivo, según lo indicado por el Registro Civil.
                  example: MAT_500515253001_11222333.pdf
                Documento:
                  type: string
                  description: Representación Base64 del documento en formato 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
    DeathCertificateResponseAsync:
      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
    IdentityDocumentValidityCheckRequest:
      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:
            RolUnicoNacional:
              description: Rol Único Nacional (RUN). No utilice los puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
            DocumentNumber:
              description: Número de serie del documento de identidad.
              example: '555666777'
              type: string
              pattern: ^\d{9,10}$
            DocumentType:
              description: Tipo del documento que está siendo verificado.
              example: Cédula
              type: string
              enum:
                - Cédula
                - Pasaporte
          required:
            - RolUnicoNacional
            - DocumentNumber
            - DocumentType
          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
    IdentityDocumentValidityCheckResponseSyncOk:
      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 el estado del documento.
          required:
            - DocumentStatus
          properties:
            DocumentStatus:
              type: object
              description: Contenedor para el estado del documento.
              required:
                - RolUnicoNacional
                - Status
              properties:
                RolUnicoNacional:
                  type: string
                  description: >-
                    Identificación única e irrepetible que cada persona chilena
                    posee. Corresponde al valor enviado en la solicitud.
                  example: 11222333-K
                Status:
                  type: string
                  description: Estatus actual del documento de identidad.
                  example: VIGENTE
                  enum:
                    - VIGENTE
                    - NO VIGENTE
                    - INFORMACIÓN INGRESADA NO CORRESPONDE A LOS REGISTROS
          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
    IdentityDocumentValidityCheckResponseAsync:
      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
    MarriageCertificateRequest:
      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:
            RolUnicoNacionalCertificate:
              description: >-
                Rol único nacional (RUN) del que deseas el certificado de
                matrimonio. No utilice los puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
            RolUnicoNacionalApplicant:
              description: >-
                Rol único nacional (RUN) de la persona solicitante del
                certificado. No utilice los puntos.
              example: 11222333-k
              type: string
              pattern: ^\d{1,8}[-][0-9kK]{1}$
            DocumentNumberApplicant:
              description: >-
                Número de serie del documento de identidad de la persona que
                solicita el certificado.
              example: '555666777'
              type: string
              pattern: ^\d{9,10}$
          required:
            - RolUnicoNacionalCertificate
            - RolUnicoNacionalApplicant
            - DocumentNumberApplicant
          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
    MarriageCertificateResponseSyncOk:
      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 certificado de matrimonio.
          type: object
          required:
            - CertificadoMatrimonio
          properties:
            CertificadoMatrimonio:
              type: object
              description: Contenedor para certificado de matrimonio.
              required:
                - CodigoVerificacion
                - DatosRegistro
                - Documento
                - FechaEmision
                - Folio
                - NombreArchivo
              properties:
                Folio:
                  type: string
                  description: Número de folio del certificado.
                  example: '500515253001'
                CodigoVerificacion:
                  type: string
                  description: >-
                    Código para verificar la validez del documento en el sitio
                    web del Registro Civil.
                  example: c846470891ff
                FechaEmision:
                  type: string
                  description: Fecha en la que se emitió el certificado.
                  example: '2023-09-28T16:32:00'
                DatosRegistro:
                  type: object
                  description: Contenedor para los detalles del certificado.
                  required:
                    - Anio
                    - Circunscripcion
                    - FechaCelebracion
                    - FechaNacimientoConyuge1
                    - FechaNacimientoConyuge2
                    - NombreConyuge1
                    - NombreConyuge2
                    - NumeroInscripcion
                    - Registro
                    - RunConyuge1
                    - RunConyuge2
                  properties:
                    Circunscripcion:
                      type: string
                      description: Circunscripción.
                      example: SAN JOSÉ DE MAIPO
                    NumeroInscripcion:
                      type: string
                      description: Nro. inscripción.
                      example: '9.821'
                    Registro:
                      type: string
                      description: Registro.
                      example: E
                    Anio:
                      type: string
                      description: Año.
                      example: '1997'
                    NombreConyuge1:
                      type: string
                      description: Nombre del cónyuge / Nombre del marido.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    RunConyuge1:
                      type: string
                      description: R.U.N.
                      example: 11.222.333-7
                    FechaNacimientoConyuge1:
                      type: string
                      description: Fecha de nacimiento.
                      example: '1980-04-25'
                    NombreConyuge2:
                      type: string
                      description: Nombre del cónyuge / Nombre de la mujer.
                      example: NOMBRE1 NOMBRE2 APELLIDO1 APELLIDO2
                    RunConyuge2:
                      type: string
                      description: R.U.N.
                      example: 11.222.333-7
                    FechaNacimientoConyuge2:
                      type: string
                      description: Fecha de nacimiento.
                      example: '1980-04-25'
                    FechaCelebracion:
                      type: string
                      description: Fecha celebración.
                      example: '1980-04-25T11:00:00'
                NombreArchivo:
                  type: string
                  description: Nombre de archivo, según lo indicado por el Registro Civil.
                  example: MAT_500515253001_11222333.pdf
                Documento:
                  type: string
                  description: Representación Base64 del documento en formato 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
    MarriageCertificateResponseAsync:
      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
