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

# List Projects

`GET /projects`

## Request

- Base URL: `https://api.presentations.ai/api/v1`
- URL: `https://api.presentations.ai/api/v1/projects`
- Auth: HTTP bearer

List accessible projects; a project-bound key sees only its bound project.

## Query parameters

- `page` integer
- `limit` integer

## Response `200`

Successful Response

- PageProject
  - `data` Project[], required
    - `id` string, uuid, required
    - `workspace_id` string, uuid, required
    - `name` string, required
    - `slug` string, required
    - `default_member_role` 'LEAD' | 'EDITOR' | 'VIEWER', required: Project membership role.
    - `workspace_visible` boolean, required
    - `created_by` string, uuid, nullable, required
    - `archived_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
    - `knowledge_id` string, uuid, nullable
    - `has_share_link` boolean
  - `page` integer, required
  - `limit` integer, required
  - `total` integer, required

## Other responses

- `401`: Missing, malformed, expired, or revoked Bearer API key.
- `403`: The API key, workspace role, project scope, or plan lacks permission.
- `422`: A path, query, header, or request-body field failed validation.
- `429`: The caller exceeded the API rate limit.
- `500`: Unexpected server failure. Retry only idempotent operations and retain trace_id.

---

[API](https://skmtc.dev/presentations/apis/presentation-services-api.md) · [All operations](https://skmtc.dev/presentations/apis/presentation-services-api/llms.txt) · [OpenAPI document](https://skmtc.dev/presentations/apis/presentation-services-api/revisions/da06cb2e2f32?raw)
