catalog

Create a catalog price

Creates a new catalog price for a catalog entry.

post/catalog/prices

Headers

Authorizationstring required

OAuth2 authentication flows. Auth server URLs will vary by environment

X-Api-Keystring required

API key for authentication

X-API-Versionstring

API version to use (optional, defaults to latest). Supported values: 1.0.0, 1.1.0.

Idempotency-Keystring

Client-generated unique key (UUID/ULID recommended). JSON requests: the first 2xx response is cached for 24h and replayed on a same-key retry with a matching body; a different body returns 422. Non-JSON requests (e.g. file uploads): the key is single-use — any same-key retry returns 422 regardless of body. See Idempotency for full details.

Request body

ottimate_company_idinteger required

The Ottimate company ID this price belongs to

catalog_entry_idstring required

The ID of the catalog entry this price applies to

pricenumber double required

Price amount for the pack size

unit_pricenumber double

Price amount per individual unit (optional)

price_type'company' | 'location_group' | 'location'

Price type: company (default), location_group, or location

ottimate_location_idinteger

Location ID. Required when price_type is 'location' — omitting it in that case returns a 400. Ignored (silently dropped, no error) if supplied while price_type is 'company'. Cannot be supplied together with ottimate_group_id — doing so returns a 400 regardless of price_type.

ottimate_group_idinteger

Location group ID. Required when price_type is 'location_group' — omitting it in that case returns a 400. Ignored (silently dropped, no error) if supplied while price_type is 'company'. Cannot be supplied together with ottimate_location_id — doing so returns a 400 regardless of price_type.

start_datestring date-time required

Price effective start date (ISO 8601). Stored and returned as a calendar date in the account's local timezone, not UTC — a timestamp near UTC midnight (e.g. 00:00:00Z) can be stored as the previous calendar day locally. Submit a time comfortably within the day (e.g. midday UTC) to avoid this.

end_datestring date-time

Price effective end date (ISO 8601, optional). If omitted, defaults to 36,500 days (~100 years) after start_date rather than staying null. Subject to the same local-timezone date truncation as start_date.

reference_idstring

External reference ID for the price. Currently not persisted — the stored reference_id is always auto-generated from the price's identifying fields, regardless of what you submit here.

Response

Price created successfully

idstring required

Price ID

catalog_entry_idstring

Catalog entry ID

ottimate_company_idinteger

Company ID

pricestring required

Price amount (decimal string)

unit_pricestring

Unit price (decimal string)

price_typeinteger required

Price type

price_type_display'company' | 'location_group' | 'location'

Human-readable price type

ottimate_location_idinteger

Location ID

ottimate_group_idinteger

Location group ID

start_datestring date required

Price start date. Date-only (e.g. "2026-07-24").

end_datestring date

Price end date. Date-only (e.g. "2126-07-24"). Defaults to 36,500 days (~100 years) after start_date when not supplied at creation, rather than staying null.

reference_idstring

Unique key

created_datestring date-time

Record creation date

created_date_utcstring date-time nullable

UTC equivalent of created_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".

last_modified_datestring date-time

Record last modified date

last_modified_date_utcstring date-time nullable

UTC equivalent of last_modified_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".

Changes