list
GET /v1/organizations — the organizations this credential reaches. Orgless: it answers on a person session, which is what makes org switching possible.
create
POST /v1/organizations. The reply carries two objects: the organization and the first admin API key that opens it — api_key.secret is returned here and never again. A caller signed in as a person also becomes the founding owner.
get
GET /v1/organizations/{id} — including balance_micro_usd, integer micro-USD.
update
PATCH /v1/organizations/{id}.
members
GET /v1/organizations/{id}/members, cursor-paginated.
addMember
POST /v1/organizations/{id}/members. Role is "owner" | "admin" | "member".
setRole
PATCH /v1/organizations/{id}/members/{user_id}, body { role }. Recorded in the audit log as member.role_changed.
removeMember
DELETE /v1/organizations/{id}/members/{user_id}. Removal does not cascade: keys that member created keep working and their sessions keep running — revoke each one with keys.revoke, reading keys.list first, since a key’s created_by is the only record of who minted it.