---
title: "Update strategy"
method: PATCH
path: "/api/v1/strategies/{id}"
tags: ["strategies"]
---

# Update strategy

`PATCH /api/v1/strategies/{id}`

Partially updates a strategy by its identifier. The code is immutable. When `cluster_id` is provided it must reference an existing cluster owned by the same account. When `state_machine_id` is provided it must reference an active FULFILLMENT_ORDER state machine; sending `null` re-resolves the account default.

## Path parameters

- `id` string, uuid, required

## Request body

- StrategyUpdate
  - `name` string
  - `description` string, nullable
  - `type` 'STORE' | 'DC' | 'DARK_STORE' | 'SELLER' | 'FULFILLMENT_NODE'
  - `category` 'SALES' | 'OPERATIONS' | 'SALES_AND_OPERATIONS'
  - `active` boolean
  - `daily_capacity` number
  - `sfs` boolean
  - `endless_aisle` boolean
  - `operates_on_holidays` boolean
  - `cluster_id` string, nullable
  - `state_machine_id` string, nullable
  - `color` string, nullable
  - `address` StrategyAddressUpdate
    - `street` string, required
    - `number` string, required
    - `complement` string, nullable
    - `district` string, required
    - `city` string, required
    - `state` string, required
    - `country` string, required
    - `zip_code` string, required
  - `contact` StrategyContactUpdate
    - `name` string, nullable
    - `email` string, email, nullable
    - `phone` string, nullable
  - `operating_hours` StrategyOperatingHourUpdate[], nullable
    - `day` string, required
    - `is_24h` boolean
    - `opens_at` string, nullable
    - `closes_at` string, nullable
  - `holiday_operating_hours` StrategyHolidayHoursUpdate
    - `is_24h` boolean
    - `opens_at` string, nullable
    - `closes_at` string, nullable
  - `tags` string[], nullable
  - `metadata` object, nullable

## Response `200`

Strategy updated.

- StrategyUpdateResponse
  - `id` string, required
  - `code` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `type` 'STORE' | 'DC' | 'DARK_STORE' | 'SELLER' | 'FULFILLMENT_NODE', required
  - `category` 'SALES' | 'OPERATIONS' | 'SALES_AND_OPERATIONS', required
  - `active` boolean, required
  - `sfs` boolean, required
  - `endless_aisle` boolean, required
  - `operates_on_holidays` boolean, required
  - `cluster_id` string, nullable, required
  - `state_machine_id` string, nullable, required
  - `color` string, nullable, required
  - `daily_capacity` number, required
  - `address` object, required
    - `street` string, required
    - `number` string, required
    - `complement` string, nullable, required
    - `district` string, required
    - `city` string, required
    - `state` string, required
    - `country` string, required
    - `zip_code` string, required
  - `contact` object, required
    - `name` string, nullable, required
    - `email` string, nullable, required
    - `phone` string, nullable, required
  - `operating_hours` object[], required
    - `day` string, required
    - `is_24h` boolean, required
    - `opens_at` string, nullable, required
    - `closes_at` string, nullable, required
  - `holiday_operating_hours` object, required
    - `is_24h` boolean, required
    - `opens_at` string, nullable, required
    - `closes_at` string, nullable, required
  - `tags` string[], nullable, required
  - `metadata` object, nullable, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `400` — Request payload, query string, or path parameter failed validation.
- `401` — Authentication is missing, malformed, expired, or refers to a session that is no longer active.
- `403` — The caller is authenticated but lacks the required permission for this action.
- `404` — One of the referenced resources (Strategy, Cluster, StateMachine) was not found in the caller account.
- `422` — The payload passed schema validation but breaks a domain invariant.
- `500` — Unexpected server error. The response body never leaks internal details.

---

[API](https://skmtc.net/kruzer-corp/apis/oms-api.md) · [All operations](https://skmtc.net/kruzer-corp/apis/oms-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kruzer-corp/oms-api/revisions/38ef6e16a7a8/schema)
