Create an item (or a modifier option)
Modifier options are items with onlyModifier: true. Use the
same endpoint and toggle that flag, then link the modifier into
a group via
linkModifiersToGroup.
Klikit prices are required: the klikit provider id ("1") must
be present in prices. Per-currency entries default to the
business’s primary currency.
To price the item differently per branch tier, add
groupPrices alongside
prices — outer key is a pricing-group id from
listPriceGroups (as a string),
and each entry repeats the full provider/currency map. Branches
assigned to that group use its entry instead of prices; see
the tier-priced-item example.
On success data.id is the item id.
Authorizations
Authorization: Basic base64(partner_key:secret_key).
Credentials are issued by a klikit operator. The plaintext
secret_key is shown once at issuance and cannot be retrieved
later — store it securely. If lost, ask your operator to rotate
the secret to receive a new one. The old secret stops working
immediately on rotation; there is no overlap window.
Body
Locale-keyed text. Keys are ISO 639-1 codes (en, id, ja, ...).
Use whichever key matches your storefront; klikit ships a value
for every locale your business is configured for.
VAT percentage (0 if VAT-exempt).
x >= 0Per-provider visibility flag. Keys are provider ids (as strings)
from GET /v1/partner/providers. Set a provider's value to
true to publish on that channel. Providers absent from the map
default to hidden.
Klikit's own marketplace is provider id "1".
Nested map: provider_id (string) → currency_code (ISO 4217) → EachPrice. The klikit provider (id "1") is mandatory for any
item that should be sellable on klikit's own marketplace.
Locale-keyed text. Keys are ISO 639-1 codes (en, id, ja, ...).
Use whichever key matches your storefront; klikit ships a value
for every locale your business is configured for.
Optional partner-side SKU identifier.
50Set true when this "item" is actually a modifier option
(e.g. a Size choice), not a sellable menu item. The same
POST endpoint is used to create both; the flag determines
where it can be referenced.
Per-pricing-group prices: price_group_id (string) → PriceMap.
One nesting level above PriceMap;
the outer key is a group id from
listPriceGroups, as a string.
A store whose branch carries that price_group_id uses the
matching entry instead of the base prices — wholesale, no
merge — so repeat every provider/currency pair you sell on.
Branches without a group (or groups without an entry) fall back
to base prices.
Minutes the kitchen needs to prepare.
Response
Item created. data.id is the item id.
Canonical response wrapper. Every response — success or error —
carries the request_id so you can quote one id to klikit
support to correlate a request end-to-end.
"req_4d1b7e3f-..."
Endpoint-specific payload on success.
Machine-readable error code + human message. The code is stable
across releases — switch on code in your client code rather
than parsing the message text.
Common codes you will encounter as a partner: