Aggiorna il tuo profilo

PATCH /fapi/v1/me · chiamato dall'host di accesso dell'ambiente

Modifica i campi del profilo dell'utente autenticato. Un campo presente nel corpo viene modificato, un campo assente resta invariato, e una stringa vuota o null cancella il campo. user_metadata, se fornito, viene unito come RFC 7396 merge patch. Si applicano le stesse regole sui campi dell'API di gestione. Richiede il cookie __Host-idp_session dell'utente autenticato; non è necessaria una verifica recente. Un'app first-party su un'altra origine può invece inviare il proprio access token dell'API front (Authorization: DPoP <token> con una prova DPoP; vedi Access token dell'API front).

Errori sui campi (422 validation_failed, in errors[]): invalid (formato o lunghezza; /locale anche quando la lingua non è abilitata per l'ambiente), too_large e too_many_keys (user_metadata oltre 16 KiB, profondità 5 o 100 chiavi di primo livello), identifier_type_disabled (i nomi utente sono disattivati nell'ambiente), profile_field_disabled (l'ambiente ha disattivato il campo; cancellarlo resta consentito) e profile_field_required (l'ambiente richiede il campo, quindi non può essere cancellato).

Richiesta

Header:

Header Obbligatorio Descrizione
Idp-Client sì Identificativo dell'SDK.
Origin sì Deve essere esattamente https://<sign-in host>.
If-Match no Facoltativo. Il ETag di una risposta precedente (o *); la modifica viene eseguita solo se il profilo è ancora a quella versione.

Corpo (application/json o application/merge-patch+json):

Campo Tipo Descrizione
given_name stringa o null Nome.
family_name stringa o null Cognome.
name stringa o null Nome completo.
picture stringa o null URL dell'immagine (https).
locale stringa o null Lingua (tag BCP 47).
zoneinfo stringa o null Fuso orario (nome IANA).
username stringa o null Nome utente.
user_metadata oggetto Merge patch applicata a user_metadata (RFC 7396).
{
  "given_name": "Ada",
  "zoneinfo": "",
  "user_metadata": {
    "theme": null
  }
}

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 o l'header If-Match è malformato.
400 unknown_field Il corpo contiene un campo che non può essere modificato qui (ad esempio email o app_metadata).
401 unauthenticated Cookie di sessione assente o non valido.
403 origin_not_allowed Origin manca o è errato.
404 not_found L'account non può essere letto (ad esempio bloccato o in cancellazione).
409 username_unavailable Il nome utente è riservato o già usato da un altro account (entrambi ricevono la stessa risposta).
412 precondition_failed If-Match non corrisponde alla versione attuale; non è cambiato nulla.
413 payload_too_large Il corpo supera 16 KiB.
415 unsupported_media_type Content-Type non supportato.
422 validation_failed Un campo viola una regola; errors[] indica il campo e il motivo (vedi sopra).
503 service_unavailable La directory utenti è temporaneamente non disponibile; riprova dopo i secondi indicati in Retry-After.

Esempio

curl -X PATCH https://example.keenauth.app/fapi/v1/me \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H 'If-Match: "7"' \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"given_name":"Ada","zoneinfo":""}'

Dati personali

Questo endpoint tratta 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.