POST /accounts/{account_id}/containers/applications/{application_id}/rollouts

Creates a rollout to update the application's configuration across instances with minimal downtime. Rollouts apply only to scheduler-backed applications with scheduling_policy: "default". Versions and rollouts do not apply to applications with scheduling_policy: "durable_object".

Servers

Path parameters

Name Type Required Description
application_id String Yes
account_id String Yes

Account identifier.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
target_configuration Object Yes

User-specified container configuration changes.

target_configuration.instance_type String No

The instance type configures vCPU, memory, and disk.

  • "lite": 1/16 vCPU, 256 MiB memory, 2 GB disk
  • "basic": 1/4 vCPU, 1 GiB memory, 4 GB disk
  • "standard-1": 1/2 vCPU, 4 GiB memory, 8 GB disk
  • "standard-2": 1 vCPU, 6 GiB memory, 12 GB disk
  • "standard-3": 2 vCPU, 8 GiB memory, 16 GB disk
  • "standard-4": 4 vCPU, 12 GiB memory, 20 GB disk

Default value: "lite"

target_configuration.command[] Array No

The command that runs when the container starts, passed to the entrypoint. You can override this at run-time. If you override only the command, it gets passed to the default entrypoint specified in the image.

target_configuration.environment_variables[] Array No

Container environment variables.

target_configuration.environment_variables[].name String Yes

An environment variable name.

target_configuration.environment_variables[].value String Yes

An environment variable value.

target_configuration.image String No

Image url.

target_configuration.observability Object No

Settings for deployment observability such as logging.

target_configuration.observability.logs Object No

Observability logging settings.

target_configuration.observability.logs.enabled Boolean No

Default value: false

target_configuration.entrypoint[] Array No

The entry point for the container, specifying the executable to run when the container starts. You can override this at run-time. If you do, the default command from the image is ignored. Specify both entrypoint and command at run-time to completely replace the image defaults.

target_configuration.authorized_keys[] Array No
target_configuration.authorized_keys[].name String No

Optional human readable name for this key.

target_configuration.authorized_keys[].public_key String Yes

An SSH public key.

percentage Integer No

Initial target version percentage (0-100). Version sync actively replaces instances to match. Required when strategy is "new_instances" and kind is "full_manual". When strategy is "new_instances" and kind is "full_auto", omitted percentage starts at 10% or the smallest percentage that targets at least one instance. Unused for "rolling".

description String Yes

Description of the rollout process.

step_percentage Integer No

Percentage of rollout to increase in each step when "steps" is absent. Applicable values: 5, 10, 20, 25, 50, 100. These create rollouts with 20, 10, 5, 4, 2, 1 steps respectively. Only valid for "rolling" strategy.

Valid values:

  • 100
  • 25
  • 5
  • 50
  • 20
  • 10
steps[] Array No

Steps defining the rollout process, used when "step_percentage" is absent. Specify only one of "step_percentage" or "steps" when creating a rollout. "steps" allow granular control over each step. Only valid for "rolling" strategy.

steps[].step_size Object Yes
steps[].step_size.percentage Integer Yes

Percentage of instances affected in this step. Min 10% and Max 100%.

steps[].description String Yes

Description of the rollout step.

strategy String Yes

Strategy used for the rollout.

  • "rolling": Step-based rollout with health gates. Actively replaces instances to reach each step's target percentage.
  • "new_instances": Percentage control over version distribution. Version sync actively replaces instances to match the configured percentage. The "full_auto" kind advances through fixed percentage targets after target-version health is observed.

Valid values:

  • "rolling"
  • "new_instances"
kind String No

Kind of the rollout process. Defaults to "full_auto".

  • "full_auto": For rolling rollouts, starts progressing steps upon rollout creation. For new_instances rollouts, advances percentage targets automatically after target-version health is observed.
  • "full_manual": Requires manually progressing each step in the rollout using the UpdateRollout's action parameter.

Valid values:

  • "full_auto"
  • "full_manual"

Default value: "full_auto"

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.