Skip to main content
POST

Authorizations

Authorization
string
header
required

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

application/json
title
object
required

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.

Example:
vat
number
required

VAT percentage (0 if VAT-exempt).

Required range: x >= 0
visibilities
object
required

Per-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".

Example:
prices
object
required

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.

Example:
description
object

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.

Example:
skuID
string

Optional partner-side SKU identifier.

Maximum string length: 50
isEnabled
boolean
default:true
onlyModifier
boolean
default:false

Set 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.

groupPrices
object

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.

Example:
allergenIDs
integer[]
yieldCount
integer
default:1
preparationTime
integer

Minutes the kitchen needs to prepare.

isHalal
boolean
default:false
fromAPI
boolean
default:true

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.

request_id
string
required
Example:

"req_4d1b7e3f-..."

data
any

Endpoint-specific payload on success.

error
object

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: