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

# Update a catalog entry

`PATCH /catalog/entries/{id}`

Updates an existing catalog entry by ID.

## Path parameters

- `id` string, required

## Headers

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

## Request body

- object
  - `erp_vendor_id` string — ERP Vendor id from ERP/accounting system
  - `item_name` string — Item name for the catalog entry
  - `description` string — Deprecated: use item_name instead. This field will be removed in a future API version.
  - `original_description` string — Original item description
  - `sku` string — SKU code
  - `upc` string — UPC code
  - `buying_format` string, nullable — Buying format distinguishing multiple purchasing formats for the same item (e.g., 'CASE', 'EACH'). Used as part of the composite unique key for integrations that differentiate catalog entries by buying format. Optional — null or omitted for integrations that do not use buying format.
  - `size` string — Pack size
  - `uom` string — Unit of measure
  - `price` number, double — Price
  - `unit_price` number, double — Unit price
  - `is_split_case` boolean — Split case indicator
  - `authorized_vendor` boolean — Whether vendor is authorized
  - `erp_vendor_name` string, nullable — Optional. Human-readable vendor name attached to erp_vendor_id, sourced from the originating system. Note: reads return the resolved vendor name for the entry, which may come from upstream ERP/sync sources rather than this field. Omit to leave unchanged; pass empty string to clear.
  - `dimensions` unknown
  - `properties` CatalogEntriesIdPatchRequestBodyContentApplicationJsonSchema — Additional properties

## Response `200`

Catalog entry updated successfully

- CatalogEntryObject — Full catalog entry object returned for retrieve operations
  - `id` string, required — Unique identifier (prefixed with cte_)
  - `ottimate_company_id` integer, required — Company ID
  - `reference_id` string — Unique key for the catalog entry
  - `item_name` string, required — Item name for the catalog entry
  - `description` string — Deprecated: use item_name instead. This field will be removed in a future API version.
  - `sku` string — SKU code
  - `upc` string — UPC code
  - `buying_format` string, nullable — Buying format distinguishing multiple purchasing formats for the same item (e.g., 'CASE', 'EACH'). Used as part of the composite unique key for integrations that differentiate catalog entries by buying format. Optional — null or omitted for integrations that do not use buying format.
  - `pack_size` string — Pack size
  - `uom` string — Unit of measure
  - `price` string — Price (decimal string)
  - `unit_price` string — Unit price (decimal string)
  - `last_purchased_price` string — Last purchased price (decimal string)
  - `erp_vendor_id` string — ERP Vendor id from ERP/accounting system
  - `ottimate_vendor_name` string, nullable — Deprecated. Use `erp_vendor_name` instead. Same value, kept for backward compatibility; will be removed in a future API version.
  - `erp_vendor_name` string, nullable — Human-readable vendor name attached to erp_vendor_id, sourced from the originating system. Nullable when not provided.
  - `is_split_case` boolean — Split case indicator
  - `dimensions` unknown
  - `display_name` string — Display name for the item
  - `last_purchased_date` string — Last purchased date
  - `last_purchased_date_utc` string, date-time, nullable — UTC equivalent of last_purchased_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
  - `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".
  - `prices` CatalogEntryObjectPricesItems[] — List of catalog prices (only in retrieve or when expand=prices)
    - `id` string, required — Price ID
    - `price` string, required — Price amount (decimal string)
    - `unit_price` string — Unit price (decimal string)
    - `price_type` integer, required — Price type
    - `price_type_display` 'company' | 'location_group' | 'location' — Human-readable price type
    - `ottimate_location_id` integer — Location ID
    - `ottimate_group_id` integer — Location group ID
    - `start_date` string, date-time, required — Price 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 — Price 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".
  - `allowances` CatalogEntryObjectAllowancesItems[] — List of catalog allowances (only in retrieve or when expand=allowances)
    - `id` string, required — Allowance ID
    - `allowance_type` 'allowance' | 'discount' | 'rebate', required — Type of allowance
    - `amount` string, required — 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
    - `ottimate_location_id` integer — Location ID
    - `ottimate_group_id` integer — Location group ID
    - `start_date` string, date-time, required — Allowance 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 — Allowance 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".
  - `warnings` CatalogEntryObjectWarningsItems[] — Soft-validation warnings. Present when the prices or allowances field was absent from the request.
    - `message` string — Warning message describing the missing field

## 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)
