Get your effective workspace permissions
Return your relation on the workspace and every permission you hold there, in one call. Use it to set up a client once, for example to hide controls a user can't use.
The response is a fixed object with two keys, relation and permission_grants. See the effective permissions object. It doesn't take ?fields= or ?expand=.
relationis the role you hold directly on the workspace:owner,admin,member,guest, or a custom role's slug. It isnullwhen you hold no grant on the workspace itself.permission_grantscovers every resource type Plane knows, sorted. Each entry is<resource_type>:<action>. A permission you hold only under a condition appears once per condition, with the condition as a suffix, for examplewiki:delete+creator. Permissions you don't hold are left out.
The answer is about the workspace, so a role you hold on one project doesn't change it. For a project, call Get your effective project permissions.
Every answer is about the caller. Any member of the workspace can call this endpoint, guests included.
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.
Scopes
workspaces.permissions:read. The global read scope doesn't satisfy this endpoint.
Errors
| Status | Code | Cause |
|---|---|---|
401 | unauthorized | Missing or invalid credentials. |
403 | forbidden | You aren't a member of the workspace, or your token scope doesn't allow this. |
404 | not_found | No such workspace. |
406 | not_acceptable | The Accept header asks for a representation the API can't produce. |
429 | rate_limited | Throttled. Honor the Retry-After header before retrying. |
curl -X GET \
"https://api.plane.so/api/v2/workspaces/my-team/permissions/me/" \
-H "X-Api-Key: $PLANE_API_KEY"import requests
response = requests.get(
"https://api.plane.so/api/v2/workspaces/my-team/permissions/me/",
headers={"X-Api-Key": "your-api-key"},
)
print(response.json())const response = await fetch("https://api.plane.so/api/v2/workspaces/my-team/permissions/me/", {
method: "GET",
headers: {
"X-Api-Key": "your-api-key",
},
});
const data = await response.json();{
"relation": "member",
"permission_grants": [
"dashboard:create",
"dashboard:delete+creator",
"dashboard:edit+creator",
"dashboard:view",
"initiative:react",
"initiative:view",
"project:browse",
"project:create+member_project_creation",
"wiki:create",
"wiki:delete+creator",
"wiki:edit",
"wiki:view",
"workspace:view",
"workspace_member:view"
]
}
