Memberships
The link between a user and a brand. Org-scoped. Used to manage who’s on the team and what role they hold.
Resource shape
Section titled “Resource shape”{ "id": 12, "role": "admin", "is_owner": true, "created_at": "2026-04-01T10:00:00Z", "updated_at": "2026-04-01T10:00:00Z", "user": { "id": 7, "name": "Yaro", "email": "yaro@example.com" }}role is member or admin. is_owner is true for the brand owner — the owner cannot be removed or demoted.
GET /organizations/:organization_id/members.jsonReturns members of the brand, ordered admins-first. Paginated.
Update
Section titled “Update”PATCH /organizations/:organization_id/members/:id.json
{ "membership": { "role": "admin" } }Requires admin role on the brand. Cannot demote the only remaining admin. Cannot demote the brand owner.
Delete (remove member or leave)
Section titled “Delete (remove member or leave)”DELETE /organizations/:organization_id/members/:id.jsonRemoves the membership. If you remove yourself, you’ve left the brand.
Cannot remove:
- The brand owner
- Yourself if you are the sole member
- The only remaining admin
Returns 204 No Content on success, 422 with errors on a guarded failure.
Errors
Section titled “Errors”| Code | When |
|---|---|
401 | Missing token, or read token attempting a write |
403 | Authenticated but you’re not an admin |
404 | Membership or brand does not exist for you |
422 | Guard failed (last admin, owner demote, etc.) |