Saltar al contenido principal

DataSubjectRequest

DataSubjectRequest

Representan las solicitudes de ejercicio de derechos de los usuarios.

Guías relacionadas

idstring

Identificador único del data subject request. Debe empezar con dsreq_

Example: dsreq_1B2M2Y8AsgTpgAmY7PhCfg
humanized_identifierstring

Identificador de la solicitud.

Example: FME4607
subject_idstring

Identificador único del sujeto de datos que se está modificando. Puede corresponder al identificador de un Identity o Entity.

Example: ent_1B2M2Y8AsgTpgAmY7PhCfg
user_referencestring

Referencia del usuario en el sistema del cliente.

Example: user_123
request_referencestring

Referencia opcional de la solicitud proporcionada por el cliente para correlacionar webhooks y eventos.

Example: ticket-12345
company_branch_idstring

Identificador de la sucursal a la que está asociada esta solicitud.

Example: branch_1B2M2Y8AsgTpgAmY7PhCfg
kindstring | nullnullablerequired

Tipo de solicitud. Es null cuando el titular pide más de un derecho, porque en ese caso no hay uno solo: la lista está en kinds y el detalle de cada derecho en processes. El bloqueo no cuenta para esto: es un derecho derivado y aparece en kinds, no en kind.

Possible values: [access, rectification, opposition, suppression, portability, redec_update, redec_rectification, redec_complementation, redec_cancellation, null]

Example: access
kindsstring[]

Todos los derechos de la solicitud, incluidos los derivados como blocking. Trae siempre la lista completa, así que es el campo a leer: una solicitud de supresión con bloqueo llega con kind en suppression y kinds en ["suppression", "blocking"].

Example: ["portability","suppression"]
statusstring

Estado actual de la solicitud.

Possible values: [awaiting_verification, validating, processing, resolved, data_missmatch, timed_out]

Example: awaiting_verification
terminal_statestring

Estado terminal de la solicitud cuando status es resolved.

Possible values: [approved, partially_approved, rejected]

Example: approved
approvedbooleandeprecated

Indica si la resolución fue aprobada (true) o rechazada (false). Campo legacy derivado de terminal_state y puede ser null si la resolución es parcial.

Example: true
data_usage_during_requeststring

Indica si el uso de datos durante la solicitud está permitido o no. Solo es requerido para las solicitudes de tipo rectification, opposition y suppression.

Possible values: [block, allow]

Example: block
data_usage_block_justificationstring

Justificación que el titular puede proveer cuando elige bloquear el uso de sus datos durante la solicitud (data_usage_during_request: "block"). Es opcional por defecto, pero pasa a ser obligatoria si la configuración data_usage_block_justification_required está activada.

Example: El procesamiento de mis datos me está afectando mientras se resuelve la solicitud.
rejection_reasonstring

Razón de rechazo si la solicitud fue rechazada.

Example: Documentación insuficiente
contact_information objectrequired

Información de contacto del titular. La visibilidad / obligatoriedad de alguno de estos campos es configurable.

ninstringrequired

Número de identificación del usuario. No configurable.

Example: 123456785
emailemailrequired

Email del usuario. Este email se usa para enviar confirmaciones. No configurable.

Example: user@example.com
namesstring

Nombres del usuario. Configurable

Possible values: <= 50 characters

Example: Juan Carlos
last_namesstring

Apellidos del usuario. Configurable

Possible values: <= 50 characters

Example: Pérez Gómez
phonestring

Número de teléfono del usuario. Configurable

Example: +56 9 1234 5678
request_detail objectnullable

Detalle de la solicitud. Puede ser null cuando la solicitud es creada directamente por la compañía (a través de la API). Cuando se crea a través del widget del centro de privacidad, este campo siempre estará presente.

También es null cuando el titular pide más de un derecho, porque en ese caso cada derecho tiene su propio detalle: leerlos en processes. Sigue el mismo criterio que kind, así que el bloqueo tampoco lo vacía.

oneOf
kindstringrequired

Tipo de solicitud de consulta.

Possible values: [all, specific, unspecified]

Example: all
data_categoriesstring[]nullable

Categorías de datos a solicitar. Requerido cuando kind es 'specific'. Debe ser una categoría válida de la taxonomía o 'other'.

Example: ["user.name","user.contact.email"]
detailstring

Detalle adicional de la solicitud.

Example: Solicitud de acceso a datos personales
filestringnullable

Archivo adjunto opcional. Se envía como data URI y se devuelve como URL.

kindstringrequired

Tipo de solicitud de consulta.

Possible values: [all, specific, unspecified]

Example: all
data_categoriesstring[]nullable

Categorías de datos a solicitar. Requerido cuando kind es 'specific'. Debe ser una categoría válida de la taxonomía o 'other'.

Example: ["user.name","user.contact.email"]
detailstring

Detalle adicional de la solicitud.

Example: Solicitud de acceso a datos personales
filestringnullable

Archivo adjunto opcional. Se envía como data URI y se devuelve como URL.

subject_provided_files object[]

Archivos proporcionados por el titular que pueden adjuntarse a la respuesta de resolución.

  • Array [
  • idstringrequired

    Identificador estable del archivo dentro de la solicitud. Nombra el derecho al que pertenece el archivo seguido de su identificador dentro de ese derecho.

    Example: dsrp_1B2M2Y8AsgTpgAmY7PhCfg:query
    file_urlstringrequired

    URL del archivo proporcionado por el titular.

    file_namestring | nullnullablerequired

    Nombre original del archivo.

    Example: antecedente.pdf
    byte_sizeinteger | nullnullablerequired

    Tamaño del archivo en bytes. Permite anticipar el límite de tamaño total de los adjuntos de la resolución, que suma estos archivos junto con los que sube el operador.

    Example: 20480
    descriptionstring | nullnullablerequired

    Justificación o detalle asociado al archivo.

    Example: Necesito revisar mis datos
  • ]
  • has_validation_attemptboolean

    Indica si la solicitud tiene un intento de validación activo o histórico.

    Example: true
    validation_sourcestring

    Origen de la validación de identidad del titular. soyio cuando existe al menos un intento de validación trazable; external cuando la solicitud avanzó a processing/resolved sin ningún intento (se validó fuera del producto); pending cuando la solicitud sigue abierta y aún no se valida.

    Possible values: [soyio, external, pending]

    Example: soyio
    authentication_metadata object | null

    Metadata libre que el cliente registra sobre cómo autenticó al titular cuando la validación fue externa (modo autenticado). El esquema lo define el cliente. null cuando no aplica.

    property name*anynullable

    Metadata libre que el cliente registra sobre cómo autenticó al titular cuando la validación fue externa (modo autenticado). El esquema lo define el cliente. null cuando no aplica.

    Example: {"method":"oauth2","provider":"Auth0","authenticated_at":"2026-06-08T10:30:00Z"}
    identity_verification_typeIdentityVerificationType

    Tipo semántico de validación de identidad configurado para el intento.

    Possible values: [biometric, document_scan, government_check, biometric_with_government_check, document_scan_with_government_check, unknown]

    Example: biometric_with_government_check
    validation_attempt object

    Resumen no sensible del intento de validación más reciente (excluye intentos cancelados).

    oneOf
    idstring

    ID del intento de validación.

    Example: va_1B2M2Y8AsgTpgAmY7PhCfg
    statusstring

    Estado del intento de validación.

    Possible values: [pending, in_progress, successful, failed, canceled]

    Example: successful
    identity_verification_typeIdentityVerificationType

    Tipo semántico de validación de identidad configurado para el intento.

    Possible values: [biometric, document_scan, government_check, biometric_with_government_check, document_scan_with_government_check, unknown]

    Example: biometric_with_government_check
    successful_atdate-timenullable

    Fecha en que el intento fue exitoso, si aplica.

    error_reasonstring | nullnullable

    Motivo del error del intento, si falló.

    Example: matcher_error
    created_atdate-time

    Fecha de creación del intento.

    government_id_validation object
    oneOf
    statusstring

    Estado de la validación gubernamental.

    Possible values: [pending, in_progress, verified, failed]

    Example: verified
    government_check_providerstring | nullnullable

    Proveedor usado para la validación gubernamental.

    Example: certificadora_del_sur
    error_reasonstring | nullnullable

    Motivo del error si la validación gubernamental falló.

    Example: document_not_valid
    validation_attempts object[]

    Intentos de validación con Soyio en orden cronológico (excluye los cancelados). Vacío cuando la validación fue externa.

  • Array [
  • idstring

    ID del intento de validación.

    Example: va_1B2M2Y8AsgTpgAmY7PhCfg
    statusstring

    Estado del intento de validación.

    Possible values: [pending, in_progress, successful, failed, canceled]

    Example: successful
    identity_verification_typeIdentityVerificationType

    Tipo semántico de validación de identidad configurado para el intento.

    Possible values: [biometric, document_scan, government_check, biometric_with_government_check, document_scan_with_government_check, unknown]

    Example: biometric_with_government_check
    successful_atdate-timenullable

    Fecha en que el intento fue exitoso, si aplica.

    error_reasonstring | nullnullable

    Motivo del error del intento, si falló.

    Example: matcher_error
    created_atdate-time

    Fecha de creación del intento.

    government_id_validation object
    oneOf
    statusstring

    Estado de la validación gubernamental.

    Possible values: [pending, in_progress, verified, failed]

    Example: verified
    government_check_providerstring | nullnullable

    Proveedor usado para la validación gubernamental.

    Example: certificadora_del_sur
    error_reasonstring | nullnullable

    Motivo del error si la validación gubernamental falló.

    Example: document_not_valid
  • ]
  • processes object[]

    Derechos que agrupa la solicitud, cada uno con su estado, su plazo y su responsable.

  • Array [
  • idstring

    Identificador único del proceso. Empieza con dsrp_

    Example: dsrp_1B2M2Y8AsgTpgAmY7PhCfg
    kindstring

    Derecho que este proceso ejerce.

    Example: suppression
    statusstring

    Estado del proceso.

    Possible values: [pending, resolved]

    Example: pending
    terminal_statestring | nullnullable

    Resultado del proceso una vez resuelto.

    Possible values: [approved, partially_approved, rejected, null]

    expires_atdate-timenullable

    Plazo legal de este derecho.

    resolved_atdate-timenullable

    Fecha de resolución del proceso.

    assignee object

    Responsable de este derecho.

    oneOf
    idstringrequired

    Token único del usuario de compañía.

    Example: cusr_1B2M2Y8AsgTpgAmY7PhCfg
    emailemailrequired

    Email del usuario de compañía.

    Example: dashboard.user@example.com
    namestringrequired

    Nombre del usuario de compañía.

    Example: Dashboard User
    created_atdate-timerequired

    Fecha y hora de creación del usuario.

    Example: 2024-03-20T15:30:00Z
    updated_atdate-timerequired

    Fecha y hora de última actualización del usuario.

    Example: 2024-03-20T15:30:00Z
    roles object[]required

    Roles actualmente asignados al usuario.

  • Array [
  • idstringrequired

    Token del rol asignado.

    Example: role_1B2M2Y8AsgTpgAmY7PhCfg
    namestringrequired

    Nombre del rol asignado.

    Example: editor
  • ]
  • permissionsDashboardPermission[]required

    Permisos efectivos del usuario, derivados de sus roles.

    Possible values: [dashboard.read, dashboard.write, dashboard.manage, consent.dashboard.read, consent.dashboard.write, consent.dashboard.config, consent.dashboard.manage, dsr.dashboard.read, dsr.dashboard.write, dsr.dashboard.config, dsr.dashboard.manage, disclosure.dashboard.read, disclosure.dashboard.write, disclosure.dashboard.config, disclosure.dashboard.manage, subjects.dashboard.read, users.dashboard.read, users.dashboard.manage, api_keys.dashboard.read, api_keys.dashboard.write, action_logs.dashboard.manage, webhooks.dashboard.read, webhooks.dashboard.write, workflows.dashboard.read, workflows.dashboard.write, workflows.dashboard.config, workflows.dashboard.manage, config.manage, dashboard.pii_access]

    enabled_environmentsCompanyUserEnvironment[]required

    Entornos del dashboard a los que puede acceder el usuario.

    Possible values: [sandbox, production], >= 1

    statusstringrequired

    Estado de la invitación. Es pending mientras el usuario no haya aceptado la invitación, y active una vez que la aceptó y configuró su contraseña.

    Possible values: [pending, active]

    Example: pending
    invitation_sent_atdate-timenullablerequired

    Fecha y hora del último envío de invitación. Es null si nunca se envió una.

    Example: 2024-03-20T15:30:00Z
    invitation_accepted_atdate-timenullablerequired

    Fecha y hora en que el usuario aceptó la invitación. Es null mientras siga pendiente.

    Example: 2024-03-21T09:12:00Z
    is_live_modebooleanrequired

    Indica si la compañía del usuario tiene el modo productivo habilitado.

    Example: false
    created_atdate-time
    updated_atdate-time

    Última vez que este derecho cambió.

  • ]
  • workflow_run_idstring

    ID del workflow run asociado a la solicitud.

    Example: wfr_1B2M2Y8AsgTpgAmY7PhCfg
    expires_atdate-time

    Fecha y hora de expiración de la solicitud. Cuando la solicitud incluye varios derechos, corresponde al vencimiento más próximo entre los que siguen abiertos, y se recalcula a medida que se resuelven. El bloqueo vence en 2 días hábiles, antes que el resto de los derechos.

    Example: 2024-03-20T15:30:00Z
    deadline_stagestring

    Etapa del plazo de la solicitud, calculada por Soyio al momento de la consulta.

    Possible values: [resolved, not_started, on_time, expires_soon, critical, expired]

    deadline_days_leftinteger | nullnullable

    Días corridos que restan del plazo (negativo si ya venció). Es null cuando la solicitud está resuelta o su plazo aún no corre.

    legal_deadline_metboolean | nullnullable

    Indica si la solicitud se resolvió dentro de su plazo legal. Es null mientras la solicitud no esté resuelta o cuando no tiene plazo.

    created_atdate-time

    Fecha y hora de creación de la solicitud.

    Example: 2024-03-20T15:30:00Z
    updated_atdate-time

    Fecha y hora de la última actualización de la solicitud.

    Example: 2024-03-20T15:30:00Z
    DataSubjectRequest
    {
    "id": "dsreq_1B2M2Y8AsgTpgAmY7PhCfg",
    "humanized_identifier": "FME4607",
    "subject_id": "ent_1B2M2Y8AsgTpgAmY7PhCfg",
    "user_reference": "user_123",
    "request_reference": "ticket-12345",
    "company_branch_id": "branch_1B2M2Y8AsgTpgAmY7PhCfg",
    "kind": "access",
    "kinds": [
    "portability",
    "suppression"
    ],
    "status": "awaiting_verification",
    "terminal_state": "approved",
    "data_usage_during_request": "block",
    "data_usage_block_justification": "El procesamiento de mis datos me está afectando mientras se resuelve la solicitud.",
    "rejection_reason": "Documentación insuficiente",
    "contact_information": {
    "nin": "123456785",
    "email": "user@example.com",
    "names": "Juan Carlos",
    "last_names": "Pérez Gómez",
    "phone": "+56 9 1234 5678"
    },
    "request_detail": {
    "kind": "all",
    "data_categories": [
    "user.name",
    "user.contact.email"
    ],
    "detail": "Solicitud de acceso a datos personales",
    "file": "string"
    },
    "subject_provided_files": [
    {
    "id": "dsrp_1B2M2Y8AsgTpgAmY7PhCfg:query",
    "file_url": "string",
    "file_name": "antecedente.pdf",
    "byte_size": 20480,
    "description": "Necesito revisar mis datos"
    }
    ],
    "has_validation_attempt": true,
    "validation_source": "soyio",
    "authentication_metadata": {
    "method": "oauth2",
    "provider": "Auth0",
    "authenticated_at": "2026-06-08T10:30:00Z"
    },
    "identity_verification_type": "biometric_with_government_check",
    "validation_attempt": {
    "id": "va_1B2M2Y8AsgTpgAmY7PhCfg",
    "status": "successful",
    "identity_verification_type": "biometric_with_government_check",
    "successful_at": "2024-07-29T15:51:28.071Z",
    "error_reason": "matcher_error",
    "created_at": "2024-07-29T15:51:28.071Z",
    "government_id_validation": {
    "status": "verified",
    "government_check_provider": "certificadora_del_sur",
    "error_reason": "document_not_valid"
    }
    },
    "validation_attempts": [
    {
    "id": "va_1B2M2Y8AsgTpgAmY7PhCfg",
    "status": "successful",
    "identity_verification_type": "biometric_with_government_check",
    "successful_at": "2024-07-29T15:51:28.071Z",
    "error_reason": "matcher_error",
    "created_at": "2024-07-29T15:51:28.071Z",
    "government_id_validation": {
    "status": "verified",
    "government_check_provider": "certificadora_del_sur",
    "error_reason": "document_not_valid"
    }
    }
    ],
    "processes": [
    {
    "id": "dsrp_1B2M2Y8AsgTpgAmY7PhCfg",
    "kind": "suppression",
    "status": "pending",
    "terminal_state": "approved",
    "expires_at": "2024-07-29T15:51:28.071Z",
    "resolved_at": "2024-07-29T15:51:28.071Z",
    "assignee": {
    "id": "cusr_1B2M2Y8AsgTpgAmY7PhCfg",
    "email": "dashboard.user@example.com",
    "name": "Dashboard User",
    "created_at": "2024-03-20T15:30:00Z",
    "updated_at": "2024-03-20T15:30:00Z",
    "roles": [
    {
    "id": "role_1B2M2Y8AsgTpgAmY7PhCfg",
    "name": "editor"
    }
    ],
    "permissions": [
    "dashboard.read"
    ],
    "enabled_environments": [
    "sandbox"
    ]
    },
    "created_at": "2024-07-29T15:51:28.071Z",
    "updated_at": "2024-07-29T15:51:28.071Z"
    }
    ],
    "workflow_run_id": "wfr_1B2M2Y8AsgTpgAmY7PhCfg",
    "expires_at": "2024-03-20T15:30:00Z",
    "deadline_stage": "resolved",
    "deadline_days_left": 0,
    "legal_deadline_met": true,
    "created_at": "2024-03-20T15:30:00Z",
    "updated_at": "2024-03-20T15:30:00Z"
    }