---
title: "List deploy operations"
method: GET
path: "/organizations/{organization}/databases/{database}/deploy-requests/{number}/operations"
tags: ["Deploy requests"]
---

# List deploy operations

`GET /organizations/{organization}/databases/{database}/deploy-requests/{number}/operations`

List deploy operations for a deploy request
### Authorization
A service token or OAuth token must have at least one of the following access or scopes in order to use this API endpoint:

**Service Token Accesses**
 `read_deploy_request`

**OAuth Scopes**

 | Resource | Scopes |
| :------- | :---------- |
| Organization | `read_deploy_requests` |
| Database | `read_deploy_requests` |

## Path parameters

- `number` integer, required
- `organization` string, required
- `database` string, required

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Returns deploy operations for the deploy request

- object
  - `type` string, required — The response type. Always "list" for paginated responses.
  - `current_page` integer, required — The current page number
  - `per_page` integer, required — The maximum number of results per page
  - `next_page` integer, nullable, required — The next page number, or null when this is the last page
  - `next_page_url` string, nullable, required — The next page of results, or null when this is the last page
  - `prev_page` integer, nullable, required — The previous page number, or null when this is the first page
  - `prev_page_url` string, nullable, required — The previous page of results, or null when this is the first page
  - `data` object[], required
    - `id` string, required — The ID for the deploy operation
    - `state` 'pending' | 'queued' | 'in_progress' | 'complete' | 'cancelled' | 'error', required — The state of the deploy operation
    - `keyspace_name` string, required — The keyspace modified by the deploy operation
    - `table_name` string, required — The name of the table modifed by the deploy operation
    - `operation_name` string, required — The operation name of the deploy operation
    - `eta_seconds` number, nullable, required — The estimated seconds until completion for the deploy operation
    - `progress_percentage` number, nullable, required — The percent completion for the deploy operation
    - `deploy_error_docs_url` string, nullable, required — A link to documentation explaining the deploy error, if present
    - `ddl_statement` string, required — The DDL statement for the deploy operation
    - `syntax_highlighted_ddl` string, required — A syntax-highlighted DDL statement for the deploy operation
    - `created_at` string, required — When the deploy operation was created
    - `updated_at` string, required — When the deploy operation was last updated
    - `throttled_at` string, nullable, required — When the deploy operation was last throttled
    - `can_drop_data` boolean, required — Whether or not the deploy operation is capable of dropping data
    - `table_locked` boolean, required — Whether or not the table modified by the deploy operation is currently locked
    - `table_recently_used` boolean, required — Whether or not the table modified by the deploy operation was recently used
    - `table_recently_used_at` string, nullable, required — When the table modified by the deploy operation was last used
    - `removed_foreign_key_names` string[], nullable, required — Names of foreign keys removed by this operation
    - `deploy_errors` string, nullable, required — Deploy errors for the deploy operation

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-08-11** `4b2e4f05bda2` — 1 info
  - added the required property `per_page` to the response with the `200` status
- **2026-06-01** `72506953f367` — 11 breaking, 1 info
  - the response property `data/items/deploy_error_docs_url` became nullable for the status `200`
  - the response property `data/items/deploy_errors` became nullable for the status `200`
  - the response property `data/items/eta_seconds` became nullable for the status `200`
  - the response property `data/items/progress_percentage` became nullable for the status `200`
  - …8 more
- **2025-12-09** `d710019068fb` — 3 breaking
  - for the `path` request parameter `number`, the type/format was changed from `number`/`` to `integer`/``
  - for the `query` request parameter `page`, the type/format was changed from `number`/`` to `integer`/``
  - for the `query` request parameter `per_page`, the type/format was changed from `number`/`` to `integer`/``
- **2025-12-06** `477c6ebdabdf` — 1 breaking
  - for the `path` request parameter `number`, the type/format was changed from `string`/`` to `number`/``

[Change history](https://skmtc.dev/planetscale/apis/planetscale-api/changes/organizations/:organization/databases/:database/deploy-requests/:number/operations/get.md)

---

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