---
title: "Update a catalog allowance"
method: PATCH
path: "/catalog/allowances/{id}"
tags: ["catalog"]
---

# Update a catalog allowance

`PATCH /catalog/allowances/{id}`

Updates an existing catalog allowance by ID.

## Path parameters

- `id` string, required

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string

## Request body

- object
  - `allowance_type` 'allowance' | 'discount' | 'rebate' — Type of allowance
  - `amount` number, double — Allowance amount (default: 0). Mutually exclusive with percent_allowance.
  - `unit_allowance` number, double — Unit allowance amount
  - `percent_allowance` number, double — Percentage-based allowance (0-999.99). Mutually exclusive with amount and unit_allowance. Setting this auto-zeros amount and unit_allowance.
  - `target` 'company' | 'location_group' | 'location' — Allowance target: company, location_group, or location
  - `ottimate_location_id` integer — Location ID
  - `ottimate_group_id` integer — Restaurant group ID
  - `start_date` string, date-time — Start date
  - `end_date` string, date-time — End date

## Response `200`

Catalog allowance updated successfully

- CatalogAllowanceObject — Catalog allowance object for standalone list endpoint
  - `id` string, required — Unique identifier
  - `catalog_entry_id` string, required — Associated catalog entry ID (prefixed with cte_)
  - `ottimate_company_id` integer, required — Company ID
  - `ottimate_location_id` integer — Location ID
  - `allowance_type` 'allowance' | 'discount' | 'rebate', required — Type of allowance
  - `amount` string — Allowance amount (decimal string)
  - `unit_allowance` string — Unit allowance amount (decimal string)
  - `percent_allowance` string, nullable — Percentage-based allowance (decimal string). Non-null when allowance is percent-mode.
  - `target` integer, required — Target code (10=company, 15=location_group, 20=location)
  - `target_type` 'company' | 'location_group' | 'location' — Human-readable target type
  - `start_date` string, date-time, required — Start date
  - `start_date_utc` string, date-time, nullable — UTC equivalent of start_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
  - `end_date` string, date-time — End date
  - `end_date_utc` string, date-time, nullable — UTC equivalent of end_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
  - `reference_id` string — Unique key
  - `created_date` string, date-time — Record creation date
  - `created_date_utc` string, date-time, nullable — UTC equivalent of created_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
  - `last_modified_date` string, date-time — Record last modified date
  - `last_modified_date_utc` string, date-time, nullable — UTC equivalent of last_modified_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".

## Other responses

- `400` — Bad request - Invalid parameters or request format
- `403` — Forbidden - Access denied or insufficient permissions
- `404` — Not found - Resource does not exist

---

[API](https://skmtc.net/ottimate/apis/api-reference.md) · [All operations](https://skmtc.net/ottimate/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ottimate/api-reference/versions/3b3756010473/schema)
