For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Contact UsDashboard
DocumentationAPI ReferenceChangelog
DocumentationAPI ReferenceChangelog
  • API Reference
      • GETList catalog entries
      • POSTCreate a catalog entry
      • GETRetrieve a catalog entry
      • PATCHUpdate a catalog entry
      • GETList catalog allowances
      • POSTCreate a catalog allowance
      • PATCHUpdate a catalog allowance
      • GETList catalog variances
      • POSTBulk create/update catalog entries (async)
      • POSTBulk create/update catalog allowances (async)
      • POSTBulk create catalog prices (async)
      • GETGet invoice items for a catalog entry
      • GETList exported catalog variance batches
      • POSTExport a catalog variance batch (local only)
      • GETList catalog prices
      • POSTCreate a catalog price
LogoLogo
Contact UsDashboard
API ReferenceCatalog

Update a catalog entry

PATCH
/catalog/entries/:id
PATCH
/v1/catalog/entries/:id
$curl -X PATCH https://api.ottimate.com/v1/catalog/entries/racc_90832490382904802384 \
> -H "X-Api-Key: your-api-key-here" \
> -H "X-API-Version: 1.0.0" \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "item_name": "Roma Tomatoes Premium 6CT",
> "size": "6 CT",
> "price": 26.99
>}'
1{
2 "id": "cte_12345",
3 "ottimate_company_id": 15196,
4 "item_name": "Roma Tomatoes Premium 6CT",
5 "reference_id": "sysco-tomato",
6 "description": "Roma Tomatoes Premium 6CT",
7 "sku": "SKU-TOM-001",
8 "upc": "634987654321",
9 "pack_size": "6 CT",
10 "uom": "CASE",
11 "price": "26.99",
12 "unit_price": "4.50",
13 "last_purchased_price": "25.50",
14 "erp_vendor_id": "Sysco Foods",
15 "erp_vendor_name": "Sysco",
16 "is_split_case": false,
17 "dimensions": {
18 "Account": "5000",
19 "Department": "Kitchen"
20 },
21 "display_name": "Roma Tomatoes Premium 6CT - Sysco",
22 "last_purchased_date": "2024-12-01T00:00:00Z",
23 "created_date": "2024-01-15T10:30:00Z",
24 "last_modified_date": "2024-12-05T14:22:00Z",
25 "prices": [],
26 "allowances": []
27}
Updates an existing catalog entry by ID.
Was this page helpful?
Previous

List catalog allowances

Next
Built with

Authentication

AuthorizationBearer
OAuth2 authentication flows. Auth server URLs will vary by environment

Path parameters

idstringRequired
The unique ID of the catalog entry

Headers

X-Api-KeystringRequired
API key for authentication
X-API-VersionenumOptional

API version to use (optional, defaults to latest)

Allowed values:

Request

erp_vendor_idstringOptional

ERP Vendor id from ERP/accounting system

item_namestringOptional
Item name for the catalog entry
descriptionstringOptional

Deprecated: use item_name instead. This field will be removed in a future API version.

original_descriptionstringOptional
Original item description
skustringOptional
SKU code
upcstringOptional
UPC code
buying_formatstring or nullOptional

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.

sizestringOptional
Pack size
uomstringOptional
Unit of measure
pricedoubleOptional
Price
unit_pricedoubleOptional
Unit price
is_split_casebooleanOptional
Split case indicator
authorized_vendorbooleanOptional
Whether vendor is authorized
erp_vendor_namestring or nullOptional

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.

dimensionsobject or nullOptional
Dimension values keyed by type. Standard supported types include department, sub_department, category, subcategory, plus any custom Dimension types configured for the company (e.g. PROJECT, CLASS). Keys are case-insensitive on input; responses return uppercased keys (e.g. DEPARTMENT, CATEGORY). Each value is the ERP external_id of the dimension. When provided, REPLACES all existing dimensions on the entry — include every dimension you want to keep. Omit the field or pass null to leave dimensions unchanged. Passing {} returns 400.
propertiesobjectOptional
Additional properties

Response

Catalog entry updated successfully
idstring

Unique identifier (prefixed with cte_)

ottimate_company_idinteger
Company ID
item_namestring
Item name for the catalog entry
reference_idstring
Unique key for the catalog entry
descriptionstring

Deprecated: use item_name instead. This field will be removed in a future API version.

skustring
SKU code
upcstring
UPC code
buying_formatstring or null

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_sizestring
Pack size
uomstring
Unit of measure
pricestring

Price (decimal string)

unit_pricestring

Unit price (decimal string)

last_purchased_pricestring

Last purchased price (decimal string)

erp_vendor_idstring

ERP Vendor id from ERP/accounting system

ottimate_vendor_namestring or null

Deprecated. Use erp_vendor_name instead. Same value, kept for backward compatibility; will be removed in a future API version.

erp_vendor_namestring or null

(Beta — this field is available in sandbox and not yet in production.) Human-readable vendor name attached to erp_vendor_id, sourced from the originating system. Nullable when not provided.

is_split_caseboolean
Split case indicator
dimensionsobject or null

Resolved dimensions keyed by uppercase dimension type (e.g. DEPARTMENT, SUB_DEPARTMENT, CATEGORY, SUBCATEGORY, PROJECT, CLASS). Each value is the dimension name (or code if name is unavailable).

display_namestring
Display name for the item
last_purchased_datestring
Last purchased date
created_datestringformat: "date-time"
Record creation date
last_modified_datestringformat: "date-time"
Record last modified date
priceslist of objects

List of catalog prices (only in retrieve or when expand=prices)

allowanceslist of objects

List of catalog allowances (only in retrieve or when expand=allowances)

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error

Dimension values keyed by type. Standard supported types include department, sub_department, category, subcategory, plus any custom Dimension types configured for the company (e.g. PROJECT, CLASS). Keys are case-insensitive on input; responses return uppercased keys (e.g. DEPARTMENT, CATEGORY). Each value is the ERP external_id of the dimension. When provided, REPLACES all existing dimensions on the entry — include every dimension you want to keep. Omit the field or pass null to leave dimensions unchanged. Passing returns 400.