Actualizar tus metadatos

PATCH /fapi/v1/me/metadata · llamado desde el host de inicio de sesión del entorno

Aplica un merge patch de RFC 7396 a user_metadata del usuario autenticado. app_metadata no se puede escribir aquí. El resultado puede tener como máximo 16 KiB, profundidad 5 y 100 claves de nivel superior. Requiere la cookie __Host-idp_session del usuario autenticado; no es necesaria una reverificación reciente. Una aplicación de primera parte en otro origen puede enviar en su lugar su token de acceso de la API frontal (Authorization: DPoP <token> con una prueba DPoP; consulte Token de acceso de la API frontal).

Solicitud

Encabezados:

Encabezado Obligatorio Descripción
Idp-Client sí Identificador del SDK.
Origin sí Debe ser exactamente https://<host de inicio de sesión>.
If-Match no Opcional. El ETag de una respuesta anterior (o *); el cambio solo se realiza si el perfil sigue en esa versión.

Cuerpo (application/merge-patch+json o application/json): el propio merge patch, un objeto JSON. Una clave establecida en null se elimina; los objetos anidados se combinan.

{
  "theme": null,
  "preferences": {
    "newsletter": false
  }
}

Respuesta

200 OK con el perfil actualizado (mismos campos que GET /fapi/v1/me) y un nuevo ETag.

Errores

Estado Código Cuándo
400 malformed_request El cuerpo no es un objeto JSON, o el encabezado If-Match está mal formado.
401 unauthenticated No hay una cookie de sesión válida.
403 origin_not_allowed Origin falta o es incorrecto.
404 not_found La cuenta no se puede leer (por ejemplo, está bloqueada o en proceso de eliminación).
412 precondition_failed If-Match no coincide con la versión actual; no se cambió nada.
413 payload_too_large El cuerpo supera los 16 KiB.
415 unsupported_media_type Content-Type no compatible.
422 validation_failed El patch está vacío o el resultado supera un límite (too_large, too_many_keys; el puntero es la raíz del cuerpo).
503 service_unavailable El directorio de usuarios no está disponible temporalmente; reintente después de los segundos indicados en Retry-After.

Ejemplo

curl -X PATCH https://example.keenauth.app/fapi/v1/me/metadata \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/merge-patch+json" \
  -b cookies.txt \
  -d '{"theme":null}'

Datos personales

Este endpoint contiene datos personales: perfil del usuario final. Datos personales en las APIs 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.