access

PATCH /v1/orgs/{orgId}/members/{userId}

Change a member's role.

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

Πισtoποίηση

Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα members.role.assign· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.

Πού μπαίνει το αναγνωριστικό του οργανισμού σας

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

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

Δοκιμάστε το

Ατικ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/orgs/{orgId}/members/{userId} \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "role": <string> }'

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

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

Sets this member's role in the organization. Requires `members.role.assign` **on that org**. ⛔ **Replaces** the member's roles with the one given rather than adding to them — a person may hold several `Membership` rows, and collapsing them can only ever reduce what they hold, so no path through this endpoint escalates by accident. Three refusals, and they are the same rules an invitation is held to: **403** if the member holds a permission the caller does not (`more_privileged`), **403** if the *role being granted* holds one (`role_not_grantable` — this is what stops any holder of the key promoting themselves to `owner`), and **409** for the org's last owner (`last_owner`). An unknown role is a **422**, never a 403, so a typo is distinguishable from a permission you lack.

Παράμετροι

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
orgId (path)UuidΝαιOrganization ID (UUIDv7).
userId (path)UuidΝαιThe user to remove from the organization.

Σώμα αίτησης

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
rolestringΝαιA role key from `GET /v1/orgs/{orgId}/roles`.

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
user_idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
emailstringΝαι
namestringΝαιDisplay name; may be empty for an account that never set one.
rolesstring[]ΝαιEvery role this person holds in this org, sorted.
joined_atstringΝαιWhen their EARLIEST membership of this org was created.
is_selfbooleanΝαιWhether this row is the calling user.
removablebooleanΝαι
not_removable_reasonOrgMemberRemovalBlock | nullΝαιWhy not, when `removable` is false. Null when removable — and also null for a caller lacking `members.remove`, because "you cannot remove anyone here" is a fact about the caller…
role_assignablebooleanΝαιWhether `PATCH` on this member would be accepted — the caller holds `members.role.assign` here, does not outrank themselves, and this is not the last owner. ⛔ *Which* role may t…

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

401 · 403 · 404 · 409 · 422 · 429