---
title: "PUT /PriceRules/{id}"
method: PUT
path: "/PriceRules/{id}"
tags: ["PriceRules"]
---

# PUT /PriceRules/{id}

`PUT /PriceRules/{id}`

## Path parameters

- `id` string, required

## Request body

- SavePriceRuleDto — Create/update payload for a price rule.
  - `name` string
  - `description` string, nullable
  - `isActive` boolean
  - `displayOrder` union
    - integer
    - string, int32
  - `priority` union
    - integer
    - string, int32
  - `ruleType` string
  - `scope` string
  - `groupCodeId` string, nullable
  - `validFrom` string, date-time, nullable
  - `validTo` string, date-time, nullable
  - `maxUsageCount` union
    - integer
    - string, int32
  - `minimumOrderAmount` union
    - number, double
    - string, double
  - `maxDiscountAmount` union
    - number, double
    - string, double
  - `stackingOverride` string, nullable
  - `payload` PriceRulePayloadDto — Typed parameters for a price rule; relevant fields depend on RuleType.
    - `buyQuantity` union
      - integer
      - string, int32
    - `getQuantity` union
      - integer
      - string, int32
    - `getDiscountPercent` union
      - number, double
      - string, double
    - `thresholdAmount` union
      - number, double
      - string, double
    - `discountType` string, nullable — "Percentage" or "Fixed" (SpendThreshold only).
    - `discountValue` union
      - number, double
      - string, double
    - `tiers` PriceRuleTierDto[], nullable
      - `minQuantity` union
        - number, double
        - string, double
      - `unitPrice` union
        - number, double
        - string, double
  - `targets` PriceRuleTargetDto[]
    - `id` string, nullable
    - `targetKind` string — One of: CatalogItem, Category, GroupCodeMembership, AnyLineItem, InventoryItemTag.
    - `role` string — One of: Qualifying, Reward.
    - `serviceCatalogItemId` string, nullable
    - `retailItemId` string, nullable
    - `inventoryItemId` string, nullable
    - `category` string, nullable
    - `tagId` string, nullable — Set when TargetKind is InventoryItemTag — the inventory-item Smart Tag id.
  - `clientTagIds` string[] — Customer-tag ids that gate this rule (empty = applies to any client).

## Response `200`

OK

- PriceRuleDto — API representation of a price rule.
  - `id` string
  - `name` string
  - `description` string, nullable
  - `isActive` boolean
  - `displayOrder` union
    - integer
    - string, int32
  - `priority` union
    - integer
    - string, int32
  - `ruleType` string — One of: BuyXGetYFree, BuyXGetYPercentOff, SpendThreshold, QuantityTier.
  - `scope` string — One of: GroupCode, Global.
  - `groupCodeId` string, nullable
  - `validFrom` string, date-time, nullable
  - `validTo` string, date-time, nullable
  - `maxUsageCount` union
    - integer
    - string, int32
  - `usageCount` union
    - integer
    - string, int32
  - `minimumOrderAmount` union
    - number, double
    - string, double
  - `maxDiscountAmount` union
    - number, double
    - string, double
  - `stackingOverride` string, nullable — One of: BestWins, Stack, or null to inherit the tenant setting.
  - `payload` PriceRulePayloadDto — Typed parameters for a price rule; relevant fields depend on RuleType.
    - `buyQuantity` union
      - integer
      - string, int32
    - `getQuantity` union
      - integer
      - string, int32
    - `getDiscountPercent` union
      - number, double
      - string, double
    - `thresholdAmount` union
      - number, double
      - string, double
    - `discountType` string, nullable — "Percentage" or "Fixed" (SpendThreshold only).
    - `discountValue` union
      - number, double
      - string, double
    - `tiers` PriceRuleTierDto[], nullable
      - `minQuantity` union
        - number, double
        - string, double
      - `unitPrice` union
        - number, double
        - string, double
  - `targets` PriceRuleTargetDto[]
    - `id` string, nullable
    - `targetKind` string — One of: CatalogItem, Category, GroupCodeMembership, AnyLineItem, InventoryItemTag.
    - `role` string — One of: Qualifying, Reward.
    - `serviceCatalogItemId` string, nullable
    - `retailItemId` string, nullable
    - `inventoryItemId` string, nullable
    - `category` string, nullable
    - `tagId` string, nullable — Set when TargetKind is InventoryItemTag — the inventory-item Smart Tag id.
  - `clientTagIds` string[] — Customer-tag ids that gate this rule. Empty = applies to any client; when non-empty the rule fires only for clients carrying at least one of them.
  - `createdAt` string, date-time
  - `updatedAt` string, date-time

## Other responses

- `400` — Bad Request
- `404` — Not Found

---

[API](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1.md) · [All operations](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clinicos/pawthosx-business-api-v1/revisions/a905bde4e796/schema)
