
# Exportar mis datos

`POST /fapi/v1/me/exports` · llamado desde el host de inicio de sesión del entorno

Inicia una exportación de los datos propios del usuario que ha iniciado sesión (artículos 15 y 20 de GDPR). El paquete se prepara en segundo plano; cuando está listo, el usuario recibe un correo electrónico en el idioma de la solicitud, y el archivo puede descargarse con [Descargar una exportación](/docs/api/fapi/me/exports/download) durante 7 días.

El paquete es un archivo ZIP con un archivo JSON por cada tipo de dato: perfil, direcciones de correo electrónico y números de teléfono, identidades vinculadas, autenticadores (sin secretos), sesiones con sus direcciones IP, pertenencias a organizaciones, concesiones de OAuth, consentimientos y eventos de inicio de sesión. Nunca contiene un hash de contraseña, una semilla TOTP, códigos de recuperación, tokens ni `app_metadata`.

Requiere un inicio de sesión reciente: si la sesión no se verificó en los últimos 5 minutos, o el usuario tiene un segundo factor y la sesión no lo utilizó, la respuesta es `401 step_up_required` y no se inicia nada. Si una exportación del usuario todavía se está preparando, se devuelve esa exportación y no se inicia una nueva. Un usuario puede solicitar como máximo 2 exportaciones en 24 horas.

## Solicitud

Encabezados:

| Encabezado | Obligatorio | Descripción |
| --- | --- | --- |
| `Idp-Client` | sí | Identificador del SDK. |
| `Origin` | sí | Debe ser exactamente `https://<host de inicio de sesión>`. |

Cuerpo:

```json
{}
```

## Respuesta

`202 Accepted`:

```json
{"id": "job_01jbx4k6v8m2c9w5s7r3t1q0zy", "status": "queued", "file": null, "failure_reason": null,
 "created_at": "2026-11-03T09:30:00Z", "started_at": null, "completed_at": null, "expires_at": null}
```

## Errores

| Estado | Código | Cuándo |
| --- | --- | --- |
| 401 | `unauthenticated` | No hay una cookie de sesión válida. |
| 401 | `step_up_required` | El inicio de sesión tiene más de 5 minutos, o se requiere un segundo factor; el encabezado `WWW-Authenticate` incluye `max_age=300` (y `acr_values` cuando se requiere un segundo factor). |
| 403 | `origin_not_allowed` | `Origin` falta o es incorrecto. |
| 429 | `export_rate_limited` | Ya se solicitaron dos exportaciones en las últimas 24 horas; reintente después de `Retry-After`. |
| 429 | `rate_limited` | Se están preparando demasiadas exportaciones en el entorno; reintente después de `Retry-After`. |
| 503 | `service_unavailable` | El directorio de usuarios no está disponible temporalmente; reintente después de `Retry-After`. |

## Ejemplo

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/exports \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -d '{}' \
  -b cookies.txt
```

## Datos personales

Este endpoint contiene datos personales: solicitudes de privacidad (los registros de exportación propios del usuario). [Datos personales en las API de KeenAuth](/docs/policies/personal-data) 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.
