---
title: "List accessible projects"
method: GET
path: "/api/v2/projects"
tags: ["Projects"]
---

# List accessible projects

`GET /api/v2/projects`

## Request

- Base URL: `https://davinci-app.com`
- URL: `https://davinci-app.com/api/v2/projects`
- Auth: HTTP bearer

Returns the caller's projects split into `owned` and `shared`. Each entry
carries an `inUse` flag and the most recently active running branch
associated with the caller. Clients should use `main` when `activeBranch`
is null.

## Response `200`

The caller's owned and shared projects.

- ListProjectsResponse
  - `owned` ProjectSummary[], required
    - `id` string, required
    - `name` string, required
    - `slug` string, nullable
    - `description` string, nullable
    - `owner` string: User id or organization id that owns the project.
    - `createdBy` string, nullable
    - `visibility` string
    - `version` string
    - `created` string, date-time, nullable
    - `lastModified` string, date-time, nullable
    - `storageUsedBytes` integer
    - `transferState` string, nullable
    - `collaborators` string[]: User ids with effective access, including access inherited from an organization.
    - `pendingCollaborators` string[]
    - `inUse` boolean: True when a Design Engine instance is currently running for this project.
    - `activeBranch` string, nullable: Most recently active running branch associated with the caller, or null.
  - `shared` ProjectSummary[], required
    - `id` string, required
    - `name` string, required
    - `slug` string, nullable
    - `description` string, nullable
    - `owner` string: User id or organization id that owns the project.
    - `createdBy` string, nullable
    - `visibility` string
    - `version` string
    - `created` string, date-time, nullable
    - `lastModified` string, date-time, nullable
    - `storageUsedBytes` integer
    - `transferState` string, nullable
    - `collaborators` string[]: User ids with effective access, including access inherited from an organization.
    - `pendingCollaborators` string[]
    - `inUse` boolean: True when a Design Engine instance is currently running for this project.
    - `activeBranch` string, nullable: Most recently active running branch associated with the caller, or null.

## Other responses

- `401`: No credential was supplied, or the supplied credential is malformed, expired, or revoked. A credential that is present but unusable is never downgraded to an anonymous request.
- `403`: API key lacks a required scope. Error code is `INSUFFICIENT_SCOPES`.
- `429`: Request rate exceeded, either globally or for this key.
- `500`: Unexpected server error.

## Changes

- **2026-09-15** (v2) `13704a1fbd9a`: 2 warning, 2 info
  - removed the optional property `owned/items/allOf[subschema #2]/git` from the response with the `200` status
  - removed the optional property `shared/items/allOf[subschema #2]/git` from the response with the `200` status
  - added the optional property `owned/items/allOf[subschema #2]/activeBranch` to the response with the `200` status
  - added the optional property `shared/items/allOf[subschema #2]/activeBranch` to the response with the `200` status
- **2026-09-15** (v2) `67c8b8616dbb`: 4 info
  - the `success` response property const value `false` was added for the status `401`
  - the `success` response property const value `false` was added for the status `403`
  - the `success` response property const value `false` was added for the status `429`
  - the `success` response property const value `false` was added for the status `500`
- **2026-09-15** (v2) `48948af37797`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/changes/api/v2/projects/get.md)

---

[API](https://skmtc.dev/celedon-solutions/apis/davinci-public-api.md) - [All operations](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/revisions/279218ca2e8d?raw)
