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

# List all Deployments

`GET /deployments`

## Request

- Base URL: `https://api.withpersona.com/api/v1`
- URL: `https://api.withpersona.com/api/v1/deployments`
- Auth: HTTP bearer

Returns a list of your organization's deployments, newest first. Results are returned in reverse chronological order.
Each deployment's `routes` carry the effective state as of that deployment — the newest route per (resource template, environment) key at or before it. Pass `filter[changes-only]=true` to render only the rows each deployment wrote, so the list reads as a change history. `filter[environment-id]` and `filter[template-id]` narrow both the deployments listed and the routes each one carries.
This endpoint requires a production API key; sandbox API keys receive 401.

## Query parameters

- `page` DeploymentsGetParametersPage
  - `after` string: Object ID for pagination cursor
  - `before` string: Object ID for pagination cursor
  - `size` number, double: Limit on the number of objects returned
- `fields` object
- `filter` DeploymentsGetParametersFilter
  - `environment-id` string: Filter deployments and routes to a single environment.
  - `template-id` string: Filter deployments and routes to a single resource template.
  - `changes-only` boolean: When true, each deployment renders only the routes it wrote rather than the effective state as of it.

## Headers

- `Key-Inflection` 'camel' | 'kebab' | 'snake'
- `Idempotency-Key` string
- `Persona-Version` '2026-09-29' | '2025-12-08' | '2025-10-27' | '2023-01-05' | '2022-09-01' | '2021-08-18' | '2021-07-05' | '2021-02-21' | '2020-05-18': Server API version. More info on versioning can be found [here](https://docs.withpersona.com/versioning).

## Response `200`

This endpoint returns a collection of Deployment objects.

- DeploymentsListAllDeploymentsResponse200
  - `data` Deployment[], required: An array of Deployments
    - `type` 'deployment'
    - `id` string
    - `attributes` DeploymentAttributes
      - `created-at` string, date-time
      - `routes` DeploymentAttributesRoutesItems[]: The routes this deployment puts in force. Each route binds a (resource template, environment) key to a rules tree. Without `filter[changes-only]` this is the effective state as of the deployment — including routes written by earlier deployments — so a route whose `source-deployment-id` is set was authored by the deployment named there. With `filter[changes-only]` it is exactly the rows this deployment wrote.
        - `resource-type` string: The platform resource type the route targets. `inquiry-template` is the only supported resource type today; `workflow` and `scheduled-run-config` support is planned for a future deploy-manager release.
        - `template-id` string: The token of the resource template the route targets.
        - `environment` DeploymentAttributesRoutesItemsEnvironment: The environment the route applies to.
          - `token` string, required
          - `name` string, required
        - `rules` DeploymentAttributesRoutesItemsRulesItems[]: The routing rules evaluated for the key. An empty list undeploys the resource from the environment. Each rule has a strategy and may have a criteria tree with `and`, `or`, and `!` operators over context or resource origins.
          - `criteria` union: A deployment route criteria node: an `and`/`or`/`!` operator tree whose `origin` leaves are either `{ context }` or `{ resource-type, template-id, version }`. Version references carry the version token and its deployment tag object (null when the version is untagged). Each operator's operand may be a single node or a non-empty array of nodes.
            - RouteCriteria0
              - …
            - RouteCriteria1
              - …
            - RouteCriteria2
              - …
            - RouteCriteria3
              - …
          - `strategy` union, required
            - DeploymentAttributesRoutesItemsRulesItemsStrategy0
              - …
            - DeploymentAttributesRoutesItemsRulesItemsStrategy1
              - …
        - `source-deployment-id` string, nullable: The token of the deployment that wrote this route, when it predates this deployment; null when this deployment wrote it.
  - `links` DeploymentsGetResponsesContentApplicationJsonSchemaLinks, required
    - `next` string, nullable, required
    - `prev` string, nullable, required

## Other responses

- `400`: The request was unacceptable, often due to invalid parameters.
- `401`: An invalid API key was provided.
- `403`: The given API key doesn’t have permissions to perform the request or a quota has been exceeded.
- `404`: The requested resource doesn’t exist.
- `429`: Your organization’s rate limit has been exceeded. We recommend an exponential backoff on requests.

## Changes

- **2026-10-14** `97d7b2044016`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/withpersona/apis/withpersona-7/changes/deployments/get.md)

---

[API](https://skmtc.dev/withpersona/apis/withpersona-7.md) - [All operations](https://skmtc.dev/withpersona/apis/withpersona-7/llms.txt) - [OpenAPI document](https://skmtc.dev/withpersona/apis/withpersona-7/revisions/904c4b28844f?raw)
