---
title: "List Projects"
method: GET
path: "/api/projects"
---

# List Projects

`GET /api/projects`

List projects for the current user with pagination

Args:
    page: Page number (1-indexed)
    limit: Number of items per page (default 12)
    status_filter: Filter by status (completed, processing, failed)
    search: Search by project name (case-insensitive)
    current_user: Authenticated user
    db: Database session
    
Returns:
    ListProjectsResponse with paginated projects and metadata

## Query parameters

- `page` integer
- `limit` integer
- `status_filter` string, nullable
- `search` string, nullable

## Response `200`

Successful Response

- ListProjectsResponse — Response schema for listing projects
  - `success` boolean
  - `projects` ProjectListItem[], required
    - `id` string, required
    - `projectId` string, required
    - `organizationId` string, nullable
    - `name` string, required
    - `status` string, required
    - `sceneCount` integer, required
    - `totalDuration` integer, nullable
    - `thumbnailUrl` string, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `completedAt` string, date-time, nullable
    - `totalCostCents` integer
  - `pagination` PaginationMeta, required — Pagination metadata for list responses
    - `page` integer, required
    - `limit` integer, required
    - `totalCount` integer, required
    - `totalPages` integer, required
    - `hasNext` boolean, required
    - `hasPrev` boolean, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/latted/apis/motion-graphics-designer-api.md) · [All operations](https://skmtc.dev/latted/apis/motion-graphics-designer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/latted/motion-graphics-designer-api/revisions/36d149b525df/schema)
