Skip to content

List resources you can access ​

GET/api/v2/workspaces/{slug}/permissions/accessible/

Return the ids of every resource of one type in the workspace that you can perform an action on. The action defaults to view. The response is an object with one array, resource_ids, and isn't paginated.

An id is in the list when one of these is true:

  • You hold a grant on the resource, either the grant's relation allows the action or its permissions_grant names the action, and its permissions_deny doesn't name the action.
  • The resource is granted to a teamspace you belong to, and that grant's relation allows the action.

Access that comes only from a parent doesn't add an id. For example, a workspace admin who hasn't joined a project can still open it, but the project isn't listed for resource_type=project. To test one resource, including inherited access, call Check a permission.

Any member of the workspace can call this endpoint, guests included.

Path Parameters ​

slug:requiredstring

The workspace slug. It appears in your Plane URLs. In https://app.plane.so/my-team/projects/, the slug is my-team.

Query Parameters ​

resource_type:requiredstring

The kind of resource to list, as the permission engine names it, for example project, cycle, module, initiative, or teamspace. Leaving it out returns 400 with resource_type is required.

action:optionalstring

The action you need to be able to perform. Plane joins it to resource_type to form a permission such as project:edit. Defaults to view.

Scopes ​

workspaces.permissions:read

Errors ​

StatusCodeCause
400invalid_requestresource_type is missing.
401unauthorizedMissing or invalid credentials.
402payment_requiredThe feature this endpoint belongs to isn't enabled on your plan, or is switched off.
403forbiddenYou aren't a member of the workspace, or your token scope doesn't allow this.
404not_foundNo such workspace.
406not_acceptableThe Accept header asks for a representation the API can't produce.
429rate_limitedThrottled. Honor the Retry-After header before retrying.
List resources you can access
bash
curl -X GET \
  "https://api.plane.so/api/v2/workspaces/my-team/permissions/accessible/?resource_type=project&action=edit" \
  -H "X-Api-Key: $PLANE_API_KEY"
Response200
json
{
  "resource_ids": ["4af68566-94a4-4eb3-94aa-50dc9427067b", "b2d94e71-6c3a-4f58-8e1d-7a0c5b9f2e46"]
}
Response400
json
{
  "type": "invalid_request",
  "code": "invalid_request",
  "detail": "resource_type is required."
}