---
title: "List projects (newest first)."
method: GET
path: "/projects"
tags: ["Shorts"]
---

# List projects (newest first).

`GET /projects`

## Request

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

## Query parameters

- `status` 'queued' | 'processing' | 'complete' | 'failed' | 'expired'
- `tool` 'story' | 'transformation' | 'clips' | 'clip' | 'compilation'
- `posted` 'true' | 'false'
- `q` string
- `cursor` string
- `limit` integer

## Response `200`

Success

- object
  - `items` Project[], required
    - `id` string, required: The project's public id.
    - `name` string
    - `tool` 'story' | 'transformation' | 'clips' | 'clip' | 'compilation'
    - `status` 'queued' | 'processing' | 'complete' | 'failed' | 'expired', required
    - `step` string
    - `progress` integer
    - `errorCode` string, nullable
    - `errorMessage` string, nullable
    - `retryable` boolean
    - `title` string, nullable
    - `durationSec` number, nullable
    - `videoUrl` string, uri, nullable: Signed link, valid 24 hours.
    - `downloadUrl` string, uri, nullable
    - `thumbnailUrl` string, uri, nullable
    - `captionsUrl` string, uri, nullable
    - `creditsCharged` integer
    - `creditsRefunded` integer
    - `createdAt` string, date-time
    - `completedAt` string, date-time, nullable
    - `expiresAt` string, date-time, nullable
  - `nextCursor` string, nullable, required

## Other responses

- `400`: Invalid request (VALIDATION_ERROR and other 400 codes).
- `401`: Missing or revoked API key (INVALID_API_KEY).
- `403`: The plan has no API access, or the account is blocked.
- `429`: Rate limit (RATE_LIMITED) — see the Retry-After header.

---

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