Remove workspace member
POST/api/v1/workspaces/{slug}/members/remove/
Removes a member from a workspace. This deactivates them across all projects, removes them from teamspaces and pages, and optionally reduces seat count.
Path parameters
slug:requiredstringThe unique identifier (slug) for the workspace.
Body Parameters
email:requiredstringEmail address of the member to remove.
remove_seat:optionalbooleanReduce purchased seat count by 1. Defaults to false.
Scopes
write or workspaces:members:write
Responses
| Status | Description |
|---|---|
| 204 | Member removed successfully (no body) |
| 400 | Validation error (see below) |
| 403 | You are not a member of this workspace |
| 404 | Workspace or member not found |
400 Validation Errors:
emailfield is required.- Cannot remove yourself. You'll need leave the workspace from the application.
- Cannot remove a member with a higher role than yours.
- Member is the sole admin of one or more projects — promote another admin first.
What happens
- Member is deactivated in all projects.
- Member is removed from all teamspaces and shared pages
- If
remove_seatistrueand unused seats exist, one seat is removed from your plan.
Remove workspace member
bash
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/members/remove/" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "jane@example.com",
"remove_seat": true
}'python
import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/members/remove/",
headers={"X-API-Key": "your-api-key"},
json={
"email": "jane@example.com",
"remove_seat": True
}
)
print(response.status_code) # 204 on successjavascript
const response = await fetch("https://api.plane.so/api/v1/workspaces/my-workspace/members/remove/", {
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
email: "jane@example.com",
remove_seat: true,
}),
});
console.log(response.status); // 204 on successResponse204
json
No Content
