---
title: "Get a deployment"
method: GET
path: "/v1/projects/{projectId}/deployments/{deploymentId}"
tags: ["Deployments"]
---

# Get a deployment

`GET /v1/projects/{projectId}/deployments/{deploymentId}`

## Request

- Base URL: `https://api.spice.ai`
- URL: `https://api.spice.ai/v1/projects/{projectId}/deployments/{deploymentId}`
- Auth: HTTP bearer

Returns a single deployment for the specified project. The body matches one item from GET /v1/projects/{projectId}/deployments. Not cacheable. Poll this path for stored status after POST create.

## Path parameters

- `projectId` integer, required
- `deploymentId` integer, required

## Headers

- `X-Org-Name` string

## Response `200`

Deployment

- Deployment
  - `id` integer: Unique identifier for the deployment
  - `status` 'queued' | 'in_progress' | 'succeeded' | 'failed' | 'created': Current status of the deployment
  - `created_at` string, date-time: Timestamp when the deployment was created
  - `updated_at` string, date-time, nullable: Timestamp when the deployment was last updated
  - `image_tag` string, nullable: Runtime image tag used for this deployment
  - `replicas` integer: Number of replicas
  - `branch` string, nullable: Git branch name
  - `commit_sha` string, nullable: Git commit SHA
  - `commit_message` string, nullable: Git commit message
  - `error_code` string, nullable: Set with error_message on failed and on in_progress while Cloud is retrying a scheduling block. Null on succeeded, on ordinary waiting in_progress, and on writers that predated this column. Older failed rows may still have a message with a null code.
  - `error_message` string, nullable: Catalog copy for the current error_code. Older failed rows may still have a message with a null error_code.
  - `creation_source` string, nullable: Source that triggered the deployment
  - `created_by` integer, nullable: User ID who created the deployment

## Other responses

- `400`: Invalid project ID or deployment ID
- `401`: Unauthorized
- `403`: Insufficient scope
- `404`: Project or deployment not found
- `500`: Internal server error

---

[API](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api.md) - [All operations](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spice/apis/spice-cloud-control-plane-api/revisions/5f3b75dd847d?raw)
