Skip to content

Get Deployment

GET
/apps/{app_id}/deployments/{deployment_id}

Fetch one deployment.

Polling a build is the most common loop in a deploy flow, and without this it required listing every deployment and filtering client-side.

REGISTERED AFTER GET /{app_id}/deployments/active, and the order is load-bearing rather than cosmetic. Both are three segments with a literal or a parameter in the same position, so declaring this first would capture active as a deployment id and that endpoint would 404 for everyone. GET /workflows/dispositions spent months doing exactly that in production.

404 rather than 403 for a deployment belonging to someone else’s app, because a 403 confirms the id exists. _own_deployment is the only way this module loads one, so a new route cannot skip the ownership check without also having nothing to work with.

Authorizations

Parameters

Path Parameters

app_id
required
string
deployment_id
required
string

Header Parameters

X-Org-Id
Any of:
string

Responses

200

Successful Response

object
data
required
object
app_id
required
string
build_finished_at
Any of:
string format: date-time
build_seconds
Any of:
number
build_started_at
Any of:
string format: date-time
created_at
Any of:
string format: date-time
deployed_at
Any of:
string format: date-time
deployment_id
required
string
image_digest
Any of:
string
last_error_sanitized
Any of:
string
schema_version_id
Any of:
string
source_ref
Any of:
string
status
required
string
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string