Skip to content

Resume scaling processes.

POST
/v1/projects/{projectId}/asg/groups/{autoScalingGroupId}/actions/resume-processes
Code sample: Shell / cURL
curl --request POST \
--url https://stratum.example.com/v1/projects/example/asg/groups/example/actions/resume-processes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "processes": [ "Launch" ] }'

Removes processes from the suspended set; an empty list resumes every process. Cedar-gated on asg:ResumeProcesses.

projectId
required
string
/^p-[a-z0-9-]+$/
autoScalingGroupId
required
string
/^asg-[a-z0-9]+$/
Media typeapplication/json
object
processes

Empty = every process (AWS parity).

Array<string>
Allowed values: Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification ScheduledActions AddToLoadBalancer InstanceRefresh

Applied.

Media typeapplication/json
object
id
required

asg-…

string
arn
required

arn:stratum:asg:<region>:<projectId>:auto-scaling-group/<id>

string
projectId
required
string
name
required
string
description
string
region
required
string
subnetIds
required
Array<string>
vpcId
required

The VPC every subnet is on; immutable.

string
availabilityZones
required

Derived from the subnets (amended 2026-09-15), never stored.

Array<string>
launchTemplateId
required
string
launchTemplateVersion
required

$LATEST, $DEFAULT or an ltv-… id; resolved at every launch.

string
minSize
required
integer
maxSize
required
integer
desiredSize
required
integer
healthCheckType
required
string
Allowed values: instance load_balancer
healthCheckGracePeriodSeconds
required
integer
targetGroupIds
required
Array<string>
defaultCooldownSeconds
required

Holds back policy-driven scaling after a scaling action; customer set-desired, replace-unhealthy and delete are immediate.

integer
terminationPolicies
required
Array<string>
Allowed values: Default OldestInstance NewestInstance OldestLaunchTemplate ClosestToNextInstanceHour
suspendedProcesses
required
Array<string>
Allowed values: Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification ScheduledActions AddToLoadBalancer InstanceRefresh
lastScalingActionAt
string format: date-time
lastScalingReason

api, policy:<id> or scheduled:<id> — what last moved desiredSize.

string
lastLaunchError

Why the controller’s most recent launch was refused (capacity, quota, a bad launch template); absent once a launch goes through. The group’s audit trail (asg.group.instance_launch_failed) has the history.

string
lastLaunchErrorAt
string format: date-time
state
required

deleting while the reconciler drains the instances; the group disappears once drained.

string
Allowed values: active deleting
tags
required
object
key
additional properties
string
createdBy
required
string
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
loadBalancer

The group’s owned front door: the spec as asked, what the reconciler has made of it, and the ids of the owned rows. status moves creating → active; updating while a spec change is applied (a scheme change replaces the load balancer, a listener change replaces the listener, a health-check change is applied in place); deleting while the set is torn down; error with reason when the last pass failed — it is retried every tick. Each id is recorded the moment its row exists, so a restart resumes rather than creating twice.

object
scheme
required
string
Allowed values: internet-facing internal
port
required
integer
protocol
required
string
healthCheck

Prober config, passed through to the axlbd data plane. Property names are the data-plane JSONB contract (snake_case). The prober only runs when enabled; disabled or empty means every target is treated healthy and no probing happens.

object
enabled
boolean
protocol
string
Allowed values: http tcp
path

HTTP health-check path, e.g. /healthz

string
interval_ms
integer
timeout_ms
integer
healthy_threshold
integer
unhealthy_threshold
integer
expect_status

Accepted status codes, e.g. “200”, “200,302”, “200-299”

string
listener
required
object
port
required
integer
protocol
required
string
certificateId

The HTTPS listener’s certificate; absent for HTTP.

string
status
required
string
Allowed values: creating active updating deleting error
reason
string
loadBalancerId
string
targetGroupId
string
listenerId
string
dnsName

The load balancer’s DNS name, once it exists.

string
internalIp

The load balancer’s VPC-internal address, once it exists.

string
deletingAt
string format: date-time

Example

{
"healthCheckType": "instance",
"terminationPolicies": [
"Default"
],
"suspendedProcesses": [
"Launch"
],
"state": "active",
"loadBalancer": {
"scheme": "internet-facing",
"healthCheck": {
"protocol": "http"
},
"status": "creating"
}
}

Bad request.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
>= 400 <= 599
detail
string
instance
string format: uri-reference
requestId
required
string
code
required
string
issues

The findings of a rejected IAM policy document (custom and resource policies).

Array<object>

One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.

object
code
required

The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.

string
statement
required

Index of the statement at fault; -1 for the document as a whole.

integer
>= -1
detail
required
string
action

The offending action, where one is at fault (ACTION_NOT_APPLICABLE).

string
errors

Field errors, for codes that carry them: each problem at its field (see FieldError). Documented on the responses that set it, e.g. approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED. Absent otherwise.

Array<object>

One field’s problem, the stage-2 installer API’s shape. field is the field’s path, message what is wrong with it.

object
field
required

The field’s path, e.g. links[0].interface, disks[1].confirm, mgmt.address or role; empty for the whole request.

string
message
required
string
details

Structured facts about the refusal, for codes that carry them. The shape is fixed per code and documented on the response that answers it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and IMAGE_IN_USE. Absent for codes that carry none.

object
key
additional properties
any

Example

{
"issues": [
{
"code": "ACTION_NOT_APPLICABLE",
"action": "compute:CreateVpc"
}
]
}

Authenticated but not authorized.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
>= 400 <= 599
detail
string
instance
string format: uri-reference
requestId
required
string
code
required
string
issues

The findings of a rejected IAM policy document (custom and resource policies).

Array<object>

One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.

object
code
required

The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.

string
statement
required

Index of the statement at fault; -1 for the document as a whole.

integer
>= -1
detail
required
string
action

The offending action, where one is at fault (ACTION_NOT_APPLICABLE).

string
errors

Field errors, for codes that carry them: each problem at its field (see FieldError). Documented on the responses that set it, e.g. approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED. Absent otherwise.

Array<object>

One field’s problem, the stage-2 installer API’s shape. field is the field’s path, message what is wrong with it.

object
field
required

The field’s path, e.g. links[0].interface, disks[1].confirm, mgmt.address or role; empty for the whole request.

string
message
required
string
details

Structured facts about the refusal, for codes that carry them. The shape is fixed per code and documented on the response that answers it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and IMAGE_IN_USE. Absent for codes that carry none.

object
key
additional properties
any

Example

{
"issues": [
{
"code": "ACTION_NOT_APPLICABLE",
"action": "compute:CreateVpc"
}
]
}

Resource not found.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
>= 400 <= 599
detail
string
instance
string format: uri-reference
requestId
required
string
code
required
string
issues

The findings of a rejected IAM policy document (custom and resource policies).

Array<object>

One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.

object
code
required

The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.

string
statement
required

Index of the statement at fault; -1 for the document as a whole.

integer
>= -1
detail
required
string
action

The offending action, where one is at fault (ACTION_NOT_APPLICABLE).

string
errors

Field errors, for codes that carry them: each problem at its field (see FieldError). Documented on the responses that set it, e.g. approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED. Absent otherwise.

Array<object>

One field’s problem, the stage-2 installer API’s shape. field is the field’s path, message what is wrong with it.

object
field
required

The field’s path, e.g. links[0].interface, disks[1].confirm, mgmt.address or role; empty for the whole request.

string
message
required
string
details

Structured facts about the refusal, for codes that carry them. The shape is fixed per code and documented on the response that answers it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and IMAGE_IN_USE. Absent for codes that carry none.

object
key
additional properties
any

Example

{
"issues": [
{
"code": "ACTION_NOT_APPLICABLE",
"action": "compute:CreateVpc"
}
]
}

Conflicting state.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
>= 400 <= 599
detail
string
instance
string format: uri-reference
requestId
required
string
code
required
string
issues

The findings of a rejected IAM policy document (custom and resource policies).

Array<object>

One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.

object
code
required

The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.

string
statement
required

Index of the statement at fault; -1 for the document as a whole.

integer
>= -1
detail
required
string
action

The offending action, where one is at fault (ACTION_NOT_APPLICABLE).

string
errors

Field errors, for codes that carry them: each problem at its field (see FieldError). Documented on the responses that set it, e.g. approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED. Absent otherwise.

Array<object>

One field’s problem, the stage-2 installer API’s shape. field is the field’s path, message what is wrong with it.

object
field
required

The field’s path, e.g. links[0].interface, disks[1].confirm, mgmt.address or role; empty for the whole request.

string
message
required
string
details

Structured facts about the refusal, for codes that carry them. The shape is fixed per code and documented on the response that answers it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and IMAGE_IN_USE. Absent for codes that carry none.

object
key
additional properties
any

Example

{
"issues": [
{
"code": "ACTION_NOT_APPLICABLE",
"action": "compute:CreateVpc"
}
]
}