---
title: "List projects in tree structure"
method: GET
path: "/runners/projects/tree"
tags: ["Projects"]
---

# List projects in tree structure

`GET /runners/projects/tree`

Retrieves all projects in a hierarchical tree format

## Query parameters

- `searchQuery` string — Search query
- `variableSetId` string — Filter projects by variable set ID
- `consumedOnly` boolean — When used with variableSetId, only return projects that consume the variable set

## Response `200`

Projects retrieved successfully in tree format

- object
  - `data` ProjectTree[]
    - `data` object[]
      - `name` string — Name of the project
      - `description` string — Description of the project
      - `labels` string[] — Labels to assign to the project
      - `poolId` string, uuid — UUID of the runner pool associated with the project
      - `cronExecutionPattern` string — Cron pattern for scheduled executions
      - `variables` Variable[] — Variables associated with the project
        - `key` string
        - `value` string
        - `sensitivity` 'string' | 'secret'
        - `destination` 'env' | 'iac'
      - `oidcAuthentication` boolean, nullable — OIDC authentication setting.
      - `id` string — Unique identifier for the project
      - `accountId` string — ID of the account the project belongs to
      - `membersCount` integer — Number of members assigned to the project
      - `workspaceCount` integer — Number of workspaces in the project
      - `parentId` string — ID of the parent project (for nested projects)
      - `hasChildren` boolean — Indicates if the project has child projects
      - `children` Project[]
        - `name` string — Name of the project
        - `description` string — Description of the project
        - `labels` string[] — Labels to assign to the project
        - `poolId` string, uuid — UUID of the runner pool associated with the project
        - `cronExecutionPattern` string — Cron pattern for scheduled executions
        - `variables` Variable[] — Variables associated with the project
          - `key` string
          - `value` string
          - `sensitivity` 'string' | 'secret'
          - `destination` 'env' | 'iac'
        - `oidcAuthentication` boolean, nullable — OIDC authentication setting.
        - `id` string — Unique identifier for the project
        - `accountId` string — ID of the account the project belongs to
        - `membersCount` integer — Number of members assigned to the project
        - `workspaceCount` integer — Number of workspaces in the project
        - `parentId` string — ID of the parent project (for nested projects)
      - `ancestors` Project[] — Array of parent projects up to the root
        - `name` string — Name of the project
        - `description` string — Description of the project
        - `labels` string[] — Labels to assign to the project
        - `poolId` string, uuid — UUID of the runner pool associated with the project
        - `cronExecutionPattern` string — Cron pattern for scheduled executions
        - `variables` Variable[] — Variables associated with the project
          - `key` string
          - `value` string
          - `sensitivity` 'string' | 'secret'
          - `destination` 'env' | 'iac'
        - `oidcAuthentication` boolean, nullable — OIDC authentication setting.
        - `id` string — Unique identifier for the project
        - `accountId` string — ID of the account the project belongs to
        - `membersCount` integer — Number of members assigned to the project
        - `workspaceCount` integer — Number of workspaces in the project
        - `parentId` string — ID of the parent project (for nested projects)

## Other responses

- `400` — Bad Request Error
- `401` — Unauthorized Error
- `403` — Insufficient permissions
- `500` — Internal Server Error

---

[API](https://skmtc.net/firefly/apis/api-gateway.md) · [All operations](https://skmtc.net/firefly/apis/api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/firefly/api-gateway/revisions/eea119b4113f/schema)
