Retract your vote on a work item
Remove your vote from a work item. Other users' votes stay. The request takes no body and returns 204 with an empty body.
Retracting is safe to repeat. If you haven't voted on the work item, the response is still 204, never 404.
You need the workitem:react permission on the work item, or the response is 403. Project admins, contributors, and commenters have it. Guests can't vote. A work item you can't see returns 404. By default, an archived work item also returns 404. Pass ?archived=true to reach one.
Path parameters
slug:requiredstringThe workspace slug. It appears in your Plane URLs. In https://app.plane.so/my-team/projects/, the slug is my-team.
project_id:requiredstringThe project the work item belongs to. Accepts the project UUID or its identifier, for example ENG.
pk:requiredstringThe work item. Accepts its UUID or its human identifier, for example ENG-142.
Scopes
projects.work_items:write
Errors
| Status | Code | Cause |
|---|---|---|
400 | invalid_request | The request could not be processed. |
401 | unauthorized | Missing or invalid credentials. |
403 | forbidden | You can't react to this work item, or your token scope doesn't allow this. |
404 | not_found | No such work item, project, or workspace, you can't see the work item, or it's archived and you didn't pass ?archived=true. |
406 | not_acceptable | The Accept header asks for a representation the API can't produce. |
409 | governance_migration_in_progress | A governance migration is running in this workspace, so writes are paused. Retry after it finishes. |
413 | payload_too_large | The request body is over the size limit. |
415 | unsupported_media_type | The Content-Type isn't one this endpoint accepts. |
429 | rate_limited | Throttled. Honor the Retry-After header before retrying. |
curl -X DELETE \
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-items/8c3d1f72-4a9e-4b65-9d20-6e1f3b7a5c48/votes/" \
-H "X-Api-Key: $PLANE_API_KEY"import requests
response = requests.delete(
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-items/8c3d1f72-4a9e-4b65-9d20-6e1f3b7a5c48/votes/",
headers={"X-Api-Key": "your-api-key"},
)
print(response.status_code)const response = await fetch(
"https://api.plane.so/api/v2/workspaces/my-team/projects/4af68566-94a4-4eb3-94aa-50dc9427067b/work-items/8c3d1f72-4a9e-4b65-9d20-6e1f3b7a5c48/votes/",
{
method: "DELETE",
headers: {
"X-Api-Key": "your-api-key",
},
},
);
console.log(response.status);No response body.

