Skip to content

Latest commit

 

History

History
157 lines (110 loc) · 3.4 KB

File metadata and controls

157 lines (110 loc) · 3.4 KB
title Remove workspace member
description Remove a member from a workspace via Plane API. HTTP POST request to deactivate users across projects and teamspaces.
keywords plane api, remove member, delete member, workspace members, user management, rest api, api integration

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

The unique identifier (slug) for the workspace.

Body Parameters

Email address of the member to remove.

Reduce 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:

  • email field 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_seat is true and unused seats exist, one seat is removed from your plan.
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
}'
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 success
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 success
No Content