---
title: "List branches"
method: GET
path: "/v2/storage/dev-branches"
tags: ["Development Branches"]
---

# List branches

`GET /v2/storage/dev-branches`

## Request

- Base URL: `https://connection.keboola.com`
- URL: `https://connection.keboola.com/v2/storage/dev-branches`
- Auth: one of:
  - API key in header `X-StorageApi-Token`
  - API key in header `X-KBC-ManageApiToken`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/keboola/apis/keboola-storage-api/docs/v2/storage/dev-branches/get.ts> (a function with typed inputs; its response is checked against the schema)

**EXPERIMENTAL**

Development branches allow you to prepare changes to configuration and tables in isolation. When ready, you can replace the production with the development branch.

You can use development branch in selected API calls by changing url. For example, you want to list configurations:
- `GET /v2/storage/components/ex-foo/configs` - in default branch (common usage)
- `GET /v2/storage/branch/default/components/ex-foo/configs` - in default branch (with `default` as branch prefix) - same result as above
- `GET /v2/storage/branch/123/components/ex-foo/configs` - in development branch (with `ID` as branch prefix)

Lists all branches of the project, including the default branch.

## Response `200`

List of branches.

- DevBranchResponse[]
  - `id` integer, required: Branch ID.
  - `name` string, required: Branch name.
  - `description` string, required: Branch description.
  - `created` string, required: Creation time, ISO 8601 with a `+hhmm` offset.
  - `isDefault` boolean, required: True for the default (production) branch.
  - `creatorToken` union, required: Token that created the branch; `[]` for a branch with no creator token, such as the default branch.
    - object
      - `id` integer, required: Creator token ID; 0 when the creator is not backed by a token.
      - `name` string, required: Creator token description.
    - unknown[]
      - unknown
  - `actor` ActorResponse, required: Who performed the action and through which credential.
    - `type` 'token' | 'session' | 'pat' | 'system', required: Credential the action came through: a Storage token, a programmatic session, a personal access token, or system work.
    - `id` string, required: Token id as a string, session or personal access token UUID, or the system subject.
    - `name` string, required: Token description, the admin email for a session or personal access token, or the system label, as it was when the action happened.
    - `adminId` integer, nullable, required: Admin behind the credential; null for a token without an admin, for system work, and when the admin was not recorded (an object whose creator is known only from its token columns, including rows backfilled from them).

## Other responses

- `403`: Returned when the token is not allowed to view development branches.

---

[API](https://skmtc.dev/keboola/apis/keboola-storage-api.md) - [All operations](https://skmtc.dev/keboola/apis/keboola-storage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/keboola/apis/keboola-storage-api/revisions/34b5ceac0317?raw)
