Resume Rollout
const url = 'https://example.com/api/rollouts/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/resume?organization_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url 'https://example.com/api/rollouts/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/resume?organization_id=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \ --header 'Authorization: Bearer <token>'Operator-initiated resume. Only valid from PAUSED — the advancer loop NEVER auto-resumes a paused group (design 3B), so this is the only way a paused rollout continues.
Fable review R2: resume does NOT just flip state back to ACTIVE on the
same batch — that batch is already all-terminal and already over
max_failure_percent (that is WHY it paused), so the very next advancer
tick would immediately re-evaluate it and re-pause, and resume could
never make progress. advance_past_paused_batch moves past it
unconditionally (the operator has accepted those failures by resuming):
activates the next batch, or completes the group if the paused batch
was the last one. updated_at is reset (inside that call) so a
batch_interval_s-based advance gets a fresh interval window from the
moment of resume, not from whenever the new batch’s predecessor
activated.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Query Parameters
Section titled “ Query Parameters ”Responses
Section titled “ Responses ”Successful Response
Validation Error
object
object
object
Example generated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}