Remove a member, or leave
const url = 'https://beta-api.plune.ai/v1/members/example';const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://beta-api.plune.ai/v1/members/example \ --header 'Authorization: Bearer <token>'An owner removes anybody; a member removes only themself — that is “Leave” (api.ts → removeMember). Their records stay: a case somebody wrote is the project’s, not theirs. The last owner can do neither (409). A reader cannot leave — the read-only rule has no exceptions, so an owner removes them. Recorded in the audit feed as removed <email> or <email> left.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The member’s userId — your own to leave
Header Parameters
Section titled “Header Parameters ”Which of your projects to act in — an id from GET /v1/projects. Absent, your default project. A project you are not a member of answers 404, the same as one that does not exist. Ignored under a bearer token, which is bound to the project it was minted in.
Responses
Section titled “ Responses ”Removed
No / invalid token or session
A member asked about somebody else, or a reader asked at all
object
Example
{ "error": "project owner only"}No such member in this project
object
Example generated
{ "error": "example"}The last owner
object
Example
{ "error": "a project needs an owner — make somebody else one first"}Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers ”Seconds until the window rolls over