Skip to content

List all teamspace members ​

GET/api/v1/workspaces/{workspace_slug}/teamspaces/{teamspace_id}/members/

List the members of a teamspace, one cursor page at a time. Each result is a user object.

Workspace Owners and Admins can list members of any teamspace. Other users must be members of that teamspace.

Path Parameters ​

workspace_slug:requiredstring

The workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL https://app.plane.so/my-team/projects/, the workspace slug is my-team.

teamspace_id:requiredstring

The unique identifier of the teamspace.

Query Parameters ​

cursor:optionalstring

Pagination cursor for getting next set of results

per_page:optionalinteger

Number of results per page (default: 20, max: 100)

Scopes ​

read, or both teamspaces:read and teamspaces.members:read. The teamspaces.members:read scope alone is not enough.

List all teamspace members
bash
curl -X GET \
  "https://api.plane.so/api/v1/workspaces/my-workspace/teamspaces/teamspace-uuid/members/?cursor=20:1:0&per_page=20" \
  -H "X-API-Key: $PLANE_API_KEY" \
  # Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN"
Response200
json
{
  "grouped_by": null,
  "sub_grouped_by": null,
  "total_count": 1,
  "next_cursor": "20:1:0",
  "prev_cursor": "20:0:0",
  "next_page_results": false,
  "prev_page_results": false,
  "count": 1,
  "total_pages": 1,
  "total_results": 1,
  "total_groups": null,
  "next_group_offset": null,
  "sub_total_groups": null,
  "sub_next_group_offset": null,
  "extra_stats": null,
  "results": [
    {
      "id": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
      "first_name": "John",
      "last_name": "Doe",
      "email": "user@example.com",
      "avatar": "",
      "avatar_url": "https://example.com/assets/example-image.png",
      "display_name": "john"
    }
  ]
}