---
title: "Apply partial update to stack"
method: POST
path: "/v1/stacks/{id}/patch"
tags: ["Stacks"]
---

# Apply partial update to stack

`POST /v1/stacks/{id}/patch`

Update stack files using manifest + bundle format and/or individual operations. For multi-service stacks, changes are routed to appropriate services.

## Path parameters

- `id` string, required — Stack identifier

## Headers

- `base-etag` string — Current stack etag for conflict detection
- `idempotency-key` string, required — Unique key for idempotent requests

## Response `200`

Patch applied successfully

- object — Response after patching a stack
  - `id` string, required — Stack identifier
  - `phase` 'starting' | 'building' | 'deploying' | 'running' | 'failed' | 'stopped', required — Stack lifecycle phases
  - `applied` number, required — Number of operations applied
  - `etag` string, required — New ETag after changes
  - `restarted` boolean, required — Whether stack was restarted
  - `warnings` string[] — Optional warnings if patch partially failed
  - `affectedServices` string[] — Services affected by patch (for multi-service stacks)

## Other responses

- `400` — Bad request
- `404` — Stack not found
- `409` — Conflict - Base-Etag is outdated

## Changes

- **2025-10-29** `17a1ccb59fba` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/benchify/apis/benchify-api/changes/v1/stacks/:id/patch/post.md)

---

[API](https://skmtc.dev/benchify/apis/benchify-api.md) · [All operations](https://skmtc.dev/benchify/apis/benchify-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/benchify/benchify-api/revisions/1a65aea8dd7d/schema)
