---
title: "Change Org Member Role"
method: PATCH
path: "/v1/orgs/{organization_id}/members/{membership_id}"
---

# Change Org Member Role

`PATCH /v1/orgs/{organization_id}/members/{membership_id}`

## Request

- Base URL: `https://api.graphify.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.graphify.com/v1/orgs/{organization_id}/members/{membership_id}`
- Auth: HTTP bearer

Change a member's role (owner/admin). Never sets OWNER; refuses demoting the last
owner.

## Path parameters

- `organization_id` string, uuid, required
- `membership_id` string, uuid, required

## Headers

- `X-Graphify-Tenant-ID` string, required

## Request body

- MembershipRoleUpdate: A change to a member's role. ``owner`` is intentionally not settable here -- the last-owner invariant and singular-owner posture are enforced server-side, so a role is never promoted to owner through this path.
  - `role` 'admin' | 'member' | 'billing', required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graphify/apis/graphify-control-plane.md) · [All operations](https://skmtc.dev/graphify/apis/graphify-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/graphify/apis/graphify-control-plane/revisions/0e75c82b5ea8?raw)
