Exportar los datos de un usuario

POST /v1/users/{user_id}:export · permiso users:export

Inicia un trabajo que empaqueta los datos personales que KeenAuth conserva sobre un usuario, para una solicitud de acceso o de portabilidad del interesado (artículos 15 y 20 de GDPR). El trabajo se ejecuta en segundo plano: consulte Obtener un trabajo de exportación de datos de usuario hasta que status sea completed, y después descargue el paquete. No se envía ningún correo electrónico al usuario final; la entrega del paquete a esa persona es responsabilidad suya.

Solicitud

Parámetro En Obligatorio Descripción
user_id path sí Identificador del usuario, con el prefijo usr_.
Idempotency-Key header no De 16 a 64 caracteres [A-Za-z0-9_-]. La misma clave desde la misma credencial devuelve el mismo trabajo.
include_ip body no true añade al paquete las direcciones IP de las sesiones y de los eventos. Requiere también audit-events:read_ip. Valor predeterminado: false.

El cuerpo es opcional; envíe {} o no envíe cuerpo para exportar sin direcciones IP.

{ "include_ip": false }

Respuesta

202 Accepted con el trabajo. Una solicitud repetida con la misma Idempotency-Key devuelve el trabajo original y Idempotent-Replayed: true.

{
  "id": "job_01j9xk3m7q8r2s4t6v8w0y2z4e",
  "kind": "subject",
  "source": "management_api",
  "user_id": "usr_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "status": "queued",
  "include_app_metadata": true,
  "include_ip": false,
  "file": null,
  "failure_reason": null,
  "requested_by": { "type": "api_key", "id": "key_01j9xk3m7q8r2s4t6v8w0y2z4b" },
  "created_at": "2026-10-28T09:00:00Z",
  "started_at": null,
  "completed_at": null,
  "expires_at": null
}

El paquete es un archivo ZIP:

Archivo Contenido
manifest.json Versión del esquema, identificadores del trabajo y del usuario, fecha de creación, origen y el SHA-256 y el número de registros de cada uno de los demás archivos.
profile.json, emails.json, phones.json Campos del perfil, direcciones de correo electrónico y números de teléfono.
metadata.json user_metadata y app_metadata.
identities.json Identidades sociales y empresariales vinculadas.
authenticators.json, sessions.json Claves de acceso y otros autenticadores (sin secretos), y sesiones.
organizations.json, oauth_grants.json, consents.json Membresías de organizaciones, concesiones de OAuth y registros de consentimiento.
auth_events.ndjson Eventos de autenticación, un objeto JSON por línea.

Nunca se incluyen los hashes de contraseñas, las semillas TOTP, los códigos de recuperación, los tokens de sesión ni los tokens SAML o de ID sin procesar. El paquete se conserva durante 7 días después de que el trabajo se complete.

Errores

Todo error es un cuerpo application/problem+json con un code estable.

HTTP code Cuándo
400 malformed_request El cuerpo o el encabezado Idempotency-Key tienen un formato incorrecto.
401 unauthenticated La clave de API falta, no es válida o ha sido revocada.
403 insufficient_permissions La clave no tiene users:export, o include_ip es true y la clave no tiene audit-events:read_ip (required_permissions enumera ambos).
404 not_found El usuario no existe en este entorno, o el identificador tiene un formato incorrecto.
422 idempotency_key_reuse La Idempotency-Key se usó con una solicitud diferente.
429 rate_limited Hay demasiados trabajos de exportación en cola o en ejecución en este entorno, o se superó el límite de solicitudes; respete Retry-After.
503 service_unavailable Una dependencia no está disponible temporalmente; vuelva a intentarlo más tarde.

Ejemplo

curl -X POST https://api.eu.keenauth.com/v1/users/usr_01j9xk3m7q8r2s4t6v8w0y2z4a:export \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: dsar-2026-10-28-0001" \
  -H "Content-Type: application/json" \
  -d '{"include_ip": false}'

CLI: keenauth users export usr_01j9xk3m7q8r2s4t6v8w0y2z4a

Datos personales

Este endpoint contiene datos personales: el perfil del usuario final. Datos personales en las API de KeenAuth describe qué se almacena, durante cuánto tiempo se conserva y cómo se elimina. No envíe categorías especiales de datos personales (salud, datos biométricos, religión, opiniones políticas, orientación sexual) en ningún campo.