---
title: "Update a Scalix Run service."
method: PUT
path: "/v1/run/services/{id}"
tags: ["Compute"]
---

# Update a Scalix Run service.

`PUT /v1/run/services/{id}`

## Request

- Base URL: `https://api.scalix.world`
- URL: `https://api.scalix.world/v1/run/services/{id}`
- Auth: HTTP bearer

Updates a Scalix Run service (e.g. scaling) and returns the new state.

## Path parameters

- `id` string, required

## Request body

- RunServiceUpdateRequest: Changes to apply to an existing Scalix Run service. Every field is optional; omitted fields are left as-is. Changing `image_ref` is what triggers a new revision and a rollout.
  - `image_ref` string, nullable
  - `env` object, nullable
  - `memory_mb` integer, nullable
  - `vcpus` integer, nullable
  - `min_instances` integer, nullable
  - `max_instances` integer, nullable
  - `target_concurrency` integer, nullable
  - `scale_down_delay_secs` integer, nullable
  - `health_check_path` string, nullable
  - `timeout_secs` integer, nullable
  - `rollout_strategy` string, nullable: Strategy for the rollout this update triggers.
  - `rollout_stages` object, nullable: Canary stages, e.g. `[{"pct":10,"soak_secs":60}]`.
  - `ready_threshold` integer, nullable: Instances that must pass the probe before the revision is promoted.
  - `gate_deadline_secs` integer, nullable: Seconds the new revision has to pass its readiness gate before it is rolled back to the previous revision. Raise it for apps with a slow cold start (model loading, large runtimes) - a revision that boots fine but warms up slowly is otherwise reverted, leaving the older revision serving with its own resource settings.

## Response `200`

Service updated

## Other responses

- `401`: Missing or invalid API key
- `500`: Internal error

---

[API](https://skmtc.dev/scalix/apis/scalix-cloud-api.md) · [All operations](https://skmtc.dev/scalix/apis/scalix-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalix/apis/scalix-cloud-api/revisions/2c04ca0a90bb?raw)
