Skip to main content
GET
Fetch the menu tree (store-level or business-level)

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.

Query Parameters

brand_id
integer

Brand id of the target store. Required when branch_id is also passed. Omit (along with branch_id) to read the business-level tree.

Required range: x >= 1
branch_id
integer

Branch id of the target store. Required when brand_id is also passed. Omit (along with brand_id) to read the business-level tree.

Required range: x >= 1
tz
string

Optional IANA timezone used to compute availability flags.

Example:

"Asia/Singapore"

Response

Menu tree. The example below is one section / one category / one item sliced verbatim from a prod store-mode response (brand 5297, branch 1293). Business-mode responses share the same shape and key names but with a much larger tree (no trimming applied server-side); the full payload weighs in at several MB on real businesses, so partners should expect to stream-parse if pulling business mode.

The data.menu payload is a recursive tree:

On the wire the modifier-group key is groups; modifier options are under modifiers. A modifier (option) carries the same shape as a regular item — id, title, price, visibilities, image, plus its own groups array, so combos like pizza → size → toppings nest naturally. Map your SKUs to the id you see at each level.

Most fields are language maps keyed by locale code ({"en": "...", "id": "..."}) so the same payload serves multiple storefronts.

request_id
string
required
Example:

"req_4d1b7e3f-..."

data
object

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: