Skip to content

`GET /v1/orgs/{org}/proposals/{proposal_id}/rollout`.

GET
/v1/orgs/{org}/proposals/{proposal_id}/rollout
curl --request GET \
--url https://api.updawg.net/v1/orgs/example/proposals/example/rollout
org
required
string

Organization slug.

proposal_id
required
string

The prp_… id.

The stages and their hosts. strategy is null, with no stages, when the rule named no rollout and every host goes at once.

Media typeapplication/json
object
halt_on
One of:

When the rollout stops itself. Null when there is no rollout.

object
failed_health_checks
required

Failed health checks that halt the rollout. Zero means none do.

integer format: int32
failed_jobs
required

Failed jobs that halt the rollout. Zero means none do.

integer format: int32
halt_reason

Why it halted, in words, when it did.

string | null
stages
required

In order. A stage may have no hosts: a canary stage with no canaries.

Array<object>
object
finished_at
string | null format: date-time
hosts
required
Array<object>
object
display_name
string | null
hostname
required
string
id
required
string
job

Its current job’s status, or null before it has one.

string | null
name
required
string
soak_seconds

How long to wait after this stage before the next. Null for none.

integer | null format: int64
soak_until

When its soak ends, while it soaks.

string | null format: date-time
started_at
string | null format: date-time
status

Null until the rollout starts; then pending, running, soaking, completed, halted or cancelled.

string | null
status

Null until it starts; then running, soaking, halted, completed or cancelled.

string | null
strategy

The rollout’s name in the policy, or null for every host at once.

string | null
Examplegenerated
{
"halt_on": {
"failed_health_checks": 1,
"failed_jobs": 1
},
"halt_reason": "example",
"stages": [
{
"finished_at": "2026-04-15T12:00:00Z",
"hosts": [
{
"display_name": "example",
"hostname": "example",
"id": "example",
"job": "example"
}
],
"name": "example",
"soak_seconds": 1,
"soak_until": "2026-04-15T12:00:00Z",
"started_at": "2026-04-15T12:00:00Z",
"status": "example"
}
],
"status": "example",
"strategy": "example"
}

No session.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

No such proposal here.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Over the organization’s request limit. Retry-After says when to try again; RateLimit-Limit is the burst.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}