Projects and branches
List projects and branches with an API key
These actions let a key discover the projects and branches available to it. Project actions do not require x-project-id; branch actions do. All of them are GET actions with query parameters.
See Authentication and Scopes.
List projects
GET /v1/actions/projects.listScope: projects:read
Returns the projects in your organization. If the key is restricted to a single project, only that project is returned regardless of pagination parameters.
Query parameters
| Parameter | Type | Default | Notes |
|---|---|---|---|
limit | integer | 100 | Results per page. 1 to 1000. |
page | integer | 0 | Zero-based page index. |
lightweight | boolean | false | Return only { id, name } per project. |
Response
{
"data": [
{
"id": "3f8a1b2c-1111-2222-3333-444455556666",
"name": "Web shop",
"organizationId": "org-uuid",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-09-15T08:30:00.000Z"
}
]
}Get a project
GET /v1/actions/projects.getScope: projects:read
Returns a single project by ID. Requires an active subscription.
Query parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | UUID | yes | The project to read. |
A key restricted to another project gets 403.
Response
{
"data": {
"id": "3f8a1b2c-1111-2222-3333-444455556666",
"name": "Web shop",
"organizationId": "org-uuid",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-09-15T08:30:00.000Z"
}
}Status codes
| Status | Meaning |
|---|---|
200 | Project found |
404 | Project not found in your organization |
List branches
GET /v1/actions/branches.listScope: branches:read
Requires x-project-id. Returns all branches for the project.
Query parameters
| Parameter | Type | Default | Notes |
|---|---|---|---|
limit | integer | 100 | Results per page. 1 to 1000. |
page | integer | 0 | Zero-based page index. |
Response
{
"data": [
{
"id": "7a9d3e4f-aaaa-bbbb-cccc-888899990000",
"name": "main",
"projectId": "proj-uuid",
"isDefault": true,
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"activeBranchId": "7a9d3e4f-aaaa-bbbb-cccc-888899990000"
}Get a branch
GET /v1/actions/branches.getScope: branches:read
Requires x-project-id. Returns a single branch by ID.
Query parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
branchId | UUID | yes | The branch to read. |
Response
{
"data": {
"id": "7a9d3e4f-aaaa-bbbb-cccc-888899990000",
"name": "main",
"projectId": "proj-uuid",
"isDefault": true,
"createdAt": "2026-01-01T00:00:00.000Z"
}
}Status codes
| Status | Meaning |
|---|---|
200 | Branch found |
404 | Branch not found in this project |
Switching the active project or branch is session state and is not available to API keys. Pick the branch per request with the x-branch-id header instead.