Aggiorna i tuoi metadati
PATCH /fapi/v1/me/metadata · chiamato dall'host di accesso dell'ambiente
Applica un merge patch RFC 7396 a user_metadata dell'utente autenticato. app_metadata non può essere scritto qui. Il risultato può essere al massimo 16 KiB, con profondità 5 e 100 chiavi di primo livello. Richiede il cookie __Host-idp_session dell'utente autenticato; non serve una verifica recente. Un'app first-party su un'altra origine può invece inviare il proprio access token Front API (Authorization: DPoP <token> con una prova DPoP; vedi Token di accesso Front API).
Richiesta
Intestazioni:
| Intestazione | Obbligatoria | Descrizione |
|---|---|---|
Idp-Client |
sì | Identificatore dell'SDK. |
Origin |
sì | Deve essere esattamente https://<host di accesso>. |
If-Match |
no | Facoltativa. Il ETag di una risposta precedente (oppure *); la modifica viene eseguita solo se il profilo è ancora a quella versione. |
Corpo (application/merge-patch+json o application/json): il merge patch stesso, un oggetto JSON. Una chiave impostata a null viene rimossa; gli oggetti annidati vengono uniti.
{
"theme": null,
"preferences": {
"newsletter": false
}
}
Risposta
200 OK con il profilo aggiornato (stessi campi di GET /fapi/v1/me) e un nuovo ETag.
Errori
| Stato | Codice | Quando |
|---|---|---|
| 400 | malformed_request |
Il corpo non è un oggetto JSON, oppure l'intestazione If-Match non è valida. |
| 401 | unauthenticated |
Cookie di sessione assente o non valido. |
| 403 | origin_not_allowed |
Origin manca oppure è errato. |
| 404 | not_found |
Impossibile leggere l'account (per esempio perché bloccato o in fase di eliminazione). |
| 412 | precondition_failed |
If-Match non corrisponde alla versione attuale; non è cambiato nulla. |
| 413 | payload_too_large |
Il corpo supera i 16 KiB. |
| 415 | unsupported_media_type |
Content-Type non supportato. |
| 422 | validation_failed |
Il patch è vuoto, oppure il risultato supera un limite (too_large, too_many_keys; il puntatore è la radice del corpo). |
| 503 | service_unavailable |
La directory utenti non è disponibile temporaneamente; riprova dopo i secondi indicati in Retry-After. |
Esempio
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}'
Dati personali
Questo endpoint contiene dati personali: profilo dell'utente finale. Dati personali nelle API di KeenAuth descrive cosa viene memorizzato, per quanto tempo viene conservato e come viene cancellato. Non inviare categorie particolari di dati personali (salute, dati biometrici, religione, opinioni politiche, orientamento sessuale) in nessun campo.