---
title: "List workspace deployments"
method: GET
path: "/deployments"
tags: ["Deployments"]
---

# List workspace deployments

`GET /deployments`

Returns deployments from one workspace owned by the authenticated Account, ordered by publish time and project ID descending.
Deleted, admin-hidden, personal-workspace, and cross-Account projects are excluded.
When projectId is supplied, the project must belong to the selected workspace or the list is empty.

## Query parameters

- `workspaceId` string, required
- `limit` integer
- `cursor` string
- `projectId` string, uuid
- `status` 'pending' | 'building' | 'security_scanning' | 'running' | 'promoting' | 'failed' | 'success' | 'updating_tier' | 'suspending' | 'suspended' | 'resuming' — Current serving build lifecycle status.

## Response `200`

Deployment list.

- DeploymentListResponse
  - `data` Deployment[], required
    - `id` string, uuid, required
    - `project` DeploymentProject, required
      - `id` string, uuid, required
      - `title` string, required
    - `workspace` ProjectWorkspace, required
      - `id` string, required
      - `name` string, required
      - `slug` string, required
    - `url` string, uri, nullable, required — Primary routable deployment URL, or null when no provider URL or verified custom domain can be resolved.
    - `deploymentPrivacy` 'public' | 'password' | 'private', required — Privacy of the current serving build.
    - `status` 'pending' | 'building' | 'security_scanning' | 'running' | 'promoting' | 'failed' | 'success' | 'updating_tier' | 'suspending' | 'suspended' | 'resuming', required — Current serving build lifecycle status.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required — Latest deployment or current serving build update timestamp, falling back to createdAt.
  - `pagination` union, required
    - object
      - `cursor` string, required — Opaque cursor for the next page.
      - `hasMore` true, required
    - object
      - `cursor` unknown, required
      - `hasMore` false, required

## Other responses

- `400` — The request parameters are invalid.
- `401` — The API key is missing, malformed, unknown, revoked, or expired.
- `403` — The API key lacks the required scope or Account entitlement.
- `404` — The requested resource does not exist or is not visible to this key.
- `429` — The API key or operation exceeded its rate limit.
- `500` — The server encountered an unexpected error.
- `503` — A required API dependency is temporarily unavailable.

## Changes

> 8 revisions in range; 1 could not be searched.

- **2026-08-08** `c57911e5fe90` — 21 warning
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `400`
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `401`
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `403`
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `404`
  - …17 more
- **2026-07-31** `fd00f60ae053` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/replit/apis/replit-api/changes/deployments/get.md)

---

[API](https://skmtc.dev/replit/apis/replit-api.md) · [All operations](https://skmtc.dev/replit/apis/replit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/replit/replit-api/revisions/7293f5108d59/schema)
