---
title: "List projects of a workspace"
method: GET
path: "/api/v1/workspaces/{workspaceId}/projects"
tags: ["Projects"]
---

# List projects of a workspace

`GET /api/v1/workspaces/{workspaceId}/projects`

## Request

- Base URL: `https://otprun.com`
- URL: `https://otprun.com/api/v1/workspaces/{workspaceId}/projects`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` integer, required

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

OK

- PageOutputBody1
  - `items` ProjectBody[], nullable, required
    - `created_at` string, date-time, required
    - `default_locale` string, required
    - `id` integer, required
    - `name` string, required
    - `routing_policy` RoutingStepBody[], nullable, required: Ordered channels tried with fallback when a verification omits channels
      - `channel` 'whatsapp_gateway' | 'telegram' | 'whatsapp_official', required
      - `wait_ms` integer, required: Milliseconds to wait for delivery before the next step
    - `sender_name` string, required
    - `telegram_bot_id` string, nullable, required: Bot that carries Telegram codes, null for the shared OTP Run bot
    - `updated_at` string, date-time, required
    - `workspace_id` integer, required
  - `next_cursor` string

## Other responses

- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/otprun/apis/otp-run-api.md) · [All operations](https://skmtc.dev/otprun/apis/otp-run-api/llms.txt) · [OpenAPI document](https://skmtc.dev/otprun/apis/otp-run-api/revisions/43d40d5f4050?raw)
