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

# List projects

`GET /projects`

## Request

- Base URL: `https://api.vidmoat.com/v1`
- URL: `https://api.vidmoat.com/v1/projects`
- Auth: HTTP bearer

List your projects, most recently updated first. Add `?workspace=<id>` to list one folder, or `?workspace=unfiled` for the ones in none.

## Query parameters

- `limit` integer
- `cursor` string
- `view` 'summary' | 'clips'
- `workspace` string

## Response `200`

List projects

- object
  - `data` object[]: Projects, in the requested view.
    - `id` string: Project id.
    - `name` string: Project name.
    - `createdAt` string: ISO 8601 time.
    - `updatedAt` string: ISO 8601 time.
    - `durationSec` number: End of the last clip, in seconds.
    - `clipCount` integer: Number of clips on the timeline.
    - `settings` object: Output settings.
      - `aspectRatio` string: For example `16:9`.
      - `width` integer: Pixels.
      - `height` integer: Pixels.
      - `fps` number: Frames per second.
      - `background` string: CSS colour.
    - `workspace` object, nullable: The workspace it is filed in: `{ id, name }`, or `null`.
    - `tracks` unknown[]: Only in the `clips` and `document` views. The timeline tracks.
      - unknown
    - `clips` unknown[]: Only in the `clips` view: a summary per clip (`id`, `type`, `name`, `start`, `duration`, `trackIndex`, and `src`, `text`, `effects`, `speed`, `keyframedProps` when set).
      - unknown
    - `document` object: Only in the `document` view: the full edit document, verbatim.
  - `hasMore` boolean: Whether another page exists.
  - `nextCursor` string, nullable: Pass as `cursor` for the next page.

---

[API](https://skmtc.dev/vidmoat/apis/vidmoat-api.md) · [All operations](https://skmtc.dev/vidmoat/apis/vidmoat-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vidmoat/apis/vidmoat-api/revisions/23e24e25c756?raw)
