---
title: "Retrieve a Deployment"
method: GET
path: "/deployments/{deployment-id}"
tags: ["deployments"]
---

# Retrieve a Deployment

`GET /deployments/{deployment-id}`

## Request

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

Retrieves a single deployment. Its `routes` carry the effective state as of it — the newest route per (resource template, environment) key at or before the deployment, across every environment and template — including routes written by earlier deployments. Because the response is a snapshot, it can look similar to the list endpoint; it does not list other deployments.
This endpoint does not accept filters. To see only the routes a deployment wrote, use the list endpoint with `filter[changes-only]=true`.
This endpoint requires a production API key; sandbox API keys receive 401.

## Path parameters

- `deployment-id` string, required

## Query parameters

- `fields` object

## 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 Deployment object.

- DeploymentsRetrieveADeploymentResponse200
  - `data` Deployment, required: A Deployment object. A deployment is an atomic, immutable write of routing rules across a set of (resource, environment) keys — the state the deployment engine serves traffic from.
    - `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.

## 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** `5b288706d170`: 1 info
  - endpoint added

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

---

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