PATCH
https://app.evoriqa.com/api/v1/members/{memberId}Update a member's role or status
Changes the member's role and/or status — at least one field is required (422 with neither). Reactivation is seat-checked (402). The workspace owner's own row cannot be changed — targeting it returns 403.
Requires scope team:write
Warning:
Access is gated — enable it before your first call
The API is off by default. A request succeeds only when all three switches are on: the platform master switch (off by default), your organisation’s API toggle, and your plan or client entitlement. Any one off returns 403 API access is not enabled for this workspace.
Parameters
| Name | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
| memberId | path | string uuid | Required | — | The membership row's id. |
Request body
Content type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
| role | string one of admin · member · viewer | Optional | New role. |
| status | string one of active · inactive | Optional | New status. |
Request
curl
curl -X PATCH "https://app.evoriqa.com/api/v1/members/{memberId}" \
-H "x-api-key: $EVORIQA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "role": "admin" }'Node.js
const res = await fetch("https://app.evoriqa.com/api/v1/members/{memberId}", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.EVORIQA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"role": "admin"
}),
});
const responseBody = await res.json();Python
import os
import requests
res = requests.patch(
"https://app.evoriqa.com/api/v1/members/{memberId}",
headers={"Authorization": f"Bearer {os.environ['EVORIQA_API_KEY']}"},
json={
"role": "admin"
},
)
body = res.json()Response
200 OK
{
"success": true,
"data": {
"role": "admin",
"status": "active"
}
}