Skip to content

The projects you are in

GET
/v1/projects
curl --request GET \
--url https://beta-api.plune.ai/v1/projects \
--header 'Authorization: Bearer <token>'

Every project the caller is a member of, with their role in each, oldest first (api.tslistProjects; the dashboard reads it at boot to fill the project switcher). The one surface that takes no X-Plune-Project: it is how a client learns which ids it may put there. A brand-new account lists exactly one — its default project, provisioned on first sight — never none.

Your projects

Media type application/json
object
projects
required
Array<object>

A project the caller is a member of, with their role in it — one row of GET /v1/projects.

object
id
required
string
name
required
string
<= 100 characters
role
required

What a member may do (B8-team). owner runs the project — members, roles, its name; member does everything else; reader is refused every write at the boundary, before a handler runs.

string
Allowed values: owner member reader
createdAt
required
string format: date-time
Example
{
"projects": [
{
"id": "u-shop::default",
"name": "Checkout",
"role": "owner",
"createdAt": "2026-09-16T09:12:04.151Z"
},
{
"id": "9c4e7d10-0000-4000-8000-0000000000a4",
"name": "Mobile app",
"role": "member",
"createdAt": "2026-09-16T09:12:04.151Z"
}
]
}

No / invalid token or session