---
title: "Update or rebuild one Compose service"
method: POST
path: "/api/stacks/{stackName}/services/{serviceName}/update"
tags: ["Stacks"]
---

# Update or rebuild one Compose service

`POST /api/stacks/{stackName}/services/{serviceName}/update`

Manually pulls or builds one declared service, then recreates only that
service with `--no-deps --force-recreate`. Multi-service stacks only.
Requires `stack:deploy`. Automation paths continue to update the full stack.

## Path parameters

- `stackName` string, required
- `serviceName` string, required

## Headers

- `x-node-id` integer

## Response `200`

Service update completed.

- object
  - `serviceName` string, required
  - `healthGateId` string, nullable, required
  - `observing` boolean, required
  - `recoveryId` string, nullable
  - `recoveryAvailable` boolean, required
  - `recheckWarning` string

## Other responses

- `400` — Service update rejected (single-service stack, missing service, or unavailable capability).
- `403` — Insufficient permissions or license tier.
- `500` — Service update failed.

---

[API](https://skmtc.net/studio-saelix/apis/sencho-api.md) · [All operations](https://skmtc.net/studio-saelix/apis/sencho-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/studio-saelix/sencho-api/versions/f36f82acae1d/schema)
