List projects
List the Data Studio projects in an organization. Bearer-authenticated, organization-scoped, requires the DATA_STUDIO_ACCESS permission.
List projects
Session-authenticated portal API — authenticate with a portal Bearer token (session JWT), not an API key. It also requires the relevant organization permissions (DATA_STUDIO_ACCESS / DATA_STUDIO_CREATE / DATA_STUDIO_EXECUTE) and the Data Studio add-on on the organization.
Data Studio is a project-based workspace for building and working with datasets. Every project belongs to one organization, so the API is organization-scoped and authenticated with a Bearer token, not an API key.
Endpoint
GET /v1/organization/:organizationId/data-studio/projects
The :organizationId is the UUID of an organization you are a member of. Projects are isolated per organization, you only ever see the projects of the organization in the path.
Authentication
Data Studio endpoints are account/portal endpoints, so they use a Bearer JWT, not X-API-Key. See Authentication for how to obtain a token. To call this endpoint you must:
- be a member of the organization (
requireMember), - hold the
DATA_STUDIO_ACCESSorganization permission, and - have the data-studio addon enabled on the organization.
curl -H "Authorization: Bearer eyJhbGci..." \
"https://api.topolab.nl/v1/organization/8f0c2e1a-4b6d-4c2a-9e3f-1a2b3c4d5e6f/data-studio/projects"
Response
The response is a JSON array of the organization's projects.
[
{
"id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
"name": "Hotels near Restaurants",
"description": "Hospitality clusters in the Randstad",
"status": "draft",
"visibility": "private",
"isLocked": false,
"createdById": "9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d",
"createdAt": "2026-05-20T09:14:00.000Z"
},
{
"id": "a0b1c2d3-e4f5-4061-8273-849506172839",
"name": "Retail catchment analysis",
"description": null,
"status": "ready",
"visibility": "organization",
"isLocked": false,
"createdById": "9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d",
"createdAt": "2026-05-18T16:02:30.000Z"
}
]
| Field | Description |
|---|---|
id |
Project UUID. Used in every per-project endpoint. |
name |
Human-readable project name. |
description |
Optional free text, or null. |
status |
Lifecycle state, for example draft or ready. |
visibility |
private (creator only) or organization (all org members). |
isLocked |
Whether the project is locked against edits. |
createdById |
UUID of the user who created the project. |
createdAt |
Creation timestamp, ISO 8601. |
Errors
| Status | Meaning |
|---|---|
401 |
Missing or invalid Bearer token. |
403 |
Not a member of the organization, lacking DATA_STUDIO_ACCESS, or the data-studio addon is not enabled. |
404 |
Unknown organizationId. |
429 |
Rate limited, see Rate limits & credits. |
Next
- Create a project, start a new workspace.
- Need Data Studio for your organization? Contact us for the data-studio addon.