identity

PATCH /v1/me

Set this person's language and display currency.

Όλα τα τελικά σημεία identity

Πισtoποίηση

Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Αυτό το τελικό σημείο δεν ορίζει μια συγκεκριμένη άδεια στην προδιαγραφή, οπότε δώστε στο κλειδί σας τα ελάχιστα δυνατά δικαιώματα και ελέγξτε την απόκριση αντί να κάνετε υποθέσεις.

Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.

Δοκιμάστε το

Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.

curl -X PATCH https://api.zinndigital.com/v1/me \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API

Λεπτομέρειες

The write path that did not exist — twice, for the same reason, one product surface apart. `User.locale` has been read by the notification renderer since notifications were built, and until 2026-07-30 exactly one code path in the whole platform ever wrote it — the public guest checkout. Anyone who signed up any other way received every email, notice and notification in English for the lifetime of their account, with no endpoint, no screen and no way to change it, while a fully built 58-locale pipeline sat one field-read away. `User.currency` had the same shape until 2026-08-04 (#460). The dashboard's currency switcher wrote a cookie plus `localStorage` and made **no server call at all**, so a customer who chose GBP on their laptop saw USD on their phone, and USD again after clearing cookies. `Organization.default_currency` is not that field: it is the tenant's **billing** currency — what a converting trial is charged in — and it belongs to the org because an invoice is issued to an org, while what a person browses in belongs to the person. Requires only an authenticated user session: this is a person changing a fact about themselves, not an act on an organization, so it carries no permission key. Both fields are optional and independent — send the one that changed. Setting either marks it **chosen**, which is not cosmetic in either case. For language, an explicit choice outranks the `locale` claim the identity provider puts on every token. For currency, it outranks the geo/locale inference that runs on every request (docs/29 §3.1). Without that distinction the inference silently re-decides the value on the next request and the bug looks like "it does not save". `name` and `email` are deliberately NOT writable here. Both belong to Keycloak, and a second writable copy in the engine would drift from the identity the tokens are minted against.

Σώμα αίτησης

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
localeLocaleCodeΌχιA code from the language registry. Case- and region-tolerant on the way in (`PT-BR` and `pt-BR` are the same choice), stored exactly as the catalogues are keyed. A code this pla…
currencyCurrencyCodeΌχιAn ISO-4217 code this platform can actually charge in — enabled in the currency registry, presentable by at least one payment gateway, and not policy-blocked. Anything else is R…
analytics_opted_outbooleanΌχιAsk not to have your use of the app measured, or ask to be measured again. ⚖️ Owner ruling 2026-08-24 — product analytics in the signed-in app runs on legitimate interest with t…

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
userUserΝαι
capabilitiesobjectΝαιWhat this **deployment** is wired to do — not what this person is permitted to do. ⛔ The two fail differently: a missing permission means the control is correctly absent, while…
membershipsMembership[]ΝαιThe user's org memberships and roles (docs/02 §1).

Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο

401 · 403 · 422 · 429