curl --request GET \
--url https://api.dev.shadowchef.co/v1/partner/orders/{id} \
--header 'Authorization: Basic <encoded-value>'const url = 'https://api.dev.shadowchef.co/v1/partner/orders/{id}';
const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.dev.shadowchef.co/v1/partner/orders/{id}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dev.shadowchef.co/v1/partner/orders/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.shadowchef.co/v1/partner/orders/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"request_id": "abde04ce73347f67a3ca97e907f80ca6",
"data": {
"additional_fee": 0,
"additional_fee_display": "0.000",
"additional_info": {
"vehicle_info": {}
},
"auto_accept": false,
"auto_ready": true,
"branch_id": 1293,
"brands": [
{
"id": 5297,
"logo": "/images/1a0cd999ecf8d62acb4f558ff8fb747ae5fe6b61.jpeg",
"title": "(DEMO) Cimol Bojot AA"
}
],
"business_id": 398,
"can_accept": false,
"can_cancel": true,
"can_ready": false,
"can_void": true,
"cart": [
{
"brand": {
"id": 5297,
"logo": "/images/1a0cd999ecf8d62acb4f558ff8fb747ae5fe6b61.jpeg",
"title": "(DEMO) Cimol Bojot AA"
},
"description": "Cimol Beef Porsi Besar Isi 14 Pcs",
"groups": [],
"item_id": 289379,
"klikit_category_id": 39118,
"klikit_category_name": "Cimol Beef",
"klikit_id": 289379,
"klikit_name": "Cimol Beef Porsi Besar",
"klikit_section_id": 6825,
"klikit_section_name": "Cimol Bojot AA Master Menu",
"klikit_sku_id": "CBA001",
"price": 0,
"quantity": 1,
"title": "Cimol Beef Porsi Besar",
"title_v2": {
"en": "Cimol Beef Porsi Besar"
},
"unit_price": 0,
"vat": 0
}
],
"cart_v2": [
{
"brand": {
"id": 5297,
"logo": "/images/1a0cd999ecf8d62acb4f558ff8fb747ae5fe6b61.jpeg",
"title": "(DEMO) Cimol Bojot AA"
},
"id": "289379",
"klikit_id": 289379,
"klikit_name": "Cimol Beef Porsi Besar",
"klikit_name_translation": {
"en": "Cimol Beef Porsi Besar"
},
"klikit_sku_id": "CBA001",
"klikit_unit_price": "0.00",
"menu_version": 2,
"modifier_group_price": "0.00",
"modifier_groups": [],
"name": "Cimol Beef Porsi Besar",
"price": "0.00",
"price_display": "0.000",
"quantity": 1,
"unit_price": "0.00",
"unit_price_display": "0.000"
}
],
"created_at": "2026-06-24T12:03:27Z",
"created_by": 11745,
"created_by_user": "Tiwi Support Testing Account",
"currency": "IDR",
"currency_symbol": "Rp",
"external_id": "1782302607204811041",
"fee_paid_by_customer": true,
"final_price": 0,
"final_price_display": "0.000",
"fulfillment_status_id": null,
"fulfillments": [],
"id": 71280866,
"identity": "e8481d02-550f-44b1-b489-e7b941b8c2f5",
"is_manual_order": true,
"is_offline_payment": true,
"is_vat_included": true,
"item_count": 1,
"item_price": 0,
"klikit_store_id": "KSID-5297-1293",
"order_queue": 4,
"order_status_histories": [
{
"id": 253820147,
"order_id": 71280866,
"status": 1,
"processed_at": "2026-06-24T12:03:27Z"
},
{
"id": 253820195,
"order_id": 71280866,
"status": 2,
"processed_at": "2026-06-24T12:03:35Z"
},
{
"id": 253820300,
"order_id": 71280866,
"status": 4,
"processed_at": "2026-06-24T12:03:49Z"
},
{
"id": 253820409,
"order_id": 71280866,
"status": 5,
"processed_at": "2026-06-24T12:04:02Z"
}
],
"owned_by": 11745,
"payment_channel_id": 39,
"payment_method": 1,
"payment_status": 1,
"preparation_time": 10,
"provider_id": 1,
"qr_code_url": "https://me.klikit.io/order/AAAAAAQ_qOIAAAAAajz3yaRvUcUfMoHEBxwoEEfLqsU",
"shift_session_id": 12933,
"short_id": "1004",
"source": 9,
"status": 5,
"status_updated_by": 11745,
"type": 3,
"unique_item_count": 1,
"updated_at": "2026-06-24T12:04:02Z",
"user_full_name": "Tiwi Support Testing Account",
"user_role": "branch_manager",
"vat": 0
}
}{
"request_id": "req_4d1b7e3f-...",
"data": "<unknown>",
"error": {
"code": "auth_invalid_credential",
"message": "<string>",
"details": "<unknown>"
}
}{
"request_id": "req_4d1b7e3f-...",
"data": "<unknown>",
"error": {
"code": "auth_invalid_credential",
"message": "<string>",
"details": "<unknown>"
}
}{
"request_id": "req_4d1b7e3f-...",
"data": "<unknown>",
"error": {
"code": "resource_not_found",
"message": "<string>",
"details": "<unknown>"
}
}Get one order
Returns the full Order record for
the given id. Same shape as the entries returned by
listOrders but with every field
populated (listOrders is not summary-only — both endpoints
share the model).
curl --request GET \
--url https://api.dev.shadowchef.co/v1/partner/orders/{id} \
--header 'Authorization: Basic <encoded-value>'const url = 'https://api.dev.shadowchef.co/v1/partner/orders/{id}';
const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.dev.shadowchef.co/v1/partner/orders/{id}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dev.shadowchef.co/v1/partner/orders/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.shadowchef.co/v1/partner/orders/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"request_id": "abde04ce73347f67a3ca97e907f80ca6",
"data": {
"additional_fee": 0,
"additional_fee_display": "0.000",
"additional_info": {
"vehicle_info": {}
},
"auto_accept": false,
"auto_ready": true,
"branch_id": 1293,
"brands": [
{
"id": 5297,
"logo": "/images/1a0cd999ecf8d62acb4f558ff8fb747ae5fe6b61.jpeg",
"title": "(DEMO) Cimol Bojot AA"
}
],
"business_id": 398,
"can_accept": false,
"can_cancel": true,
"can_ready": false,
"can_void": true,
"cart": [
{
"brand": {
"id": 5297,
"logo": "/images/1a0cd999ecf8d62acb4f558ff8fb747ae5fe6b61.jpeg",
"title": "(DEMO) Cimol Bojot AA"
},
"description": "Cimol Beef Porsi Besar Isi 14 Pcs",
"groups": [],
"item_id": 289379,
"klikit_category_id": 39118,
"klikit_category_name": "Cimol Beef",
"klikit_id": 289379,
"klikit_name": "Cimol Beef Porsi Besar",
"klikit_section_id": 6825,
"klikit_section_name": "Cimol Bojot AA Master Menu",
"klikit_sku_id": "CBA001",
"price": 0,
"quantity": 1,
"title": "Cimol Beef Porsi Besar",
"title_v2": {
"en": "Cimol Beef Porsi Besar"
},
"unit_price": 0,
"vat": 0
}
],
"cart_v2": [
{
"brand": {
"id": 5297,
"logo": "/images/1a0cd999ecf8d62acb4f558ff8fb747ae5fe6b61.jpeg",
"title": "(DEMO) Cimol Bojot AA"
},
"id": "289379",
"klikit_id": 289379,
"klikit_name": "Cimol Beef Porsi Besar",
"klikit_name_translation": {
"en": "Cimol Beef Porsi Besar"
},
"klikit_sku_id": "CBA001",
"klikit_unit_price": "0.00",
"menu_version": 2,
"modifier_group_price": "0.00",
"modifier_groups": [],
"name": "Cimol Beef Porsi Besar",
"price": "0.00",
"price_display": "0.000",
"quantity": 1,
"unit_price": "0.00",
"unit_price_display": "0.000"
}
],
"created_at": "2026-06-24T12:03:27Z",
"created_by": 11745,
"created_by_user": "Tiwi Support Testing Account",
"currency": "IDR",
"currency_symbol": "Rp",
"external_id": "1782302607204811041",
"fee_paid_by_customer": true,
"final_price": 0,
"final_price_display": "0.000",
"fulfillment_status_id": null,
"fulfillments": [],
"id": 71280866,
"identity": "e8481d02-550f-44b1-b489-e7b941b8c2f5",
"is_manual_order": true,
"is_offline_payment": true,
"is_vat_included": true,
"item_count": 1,
"item_price": 0,
"klikit_store_id": "KSID-5297-1293",
"order_queue": 4,
"order_status_histories": [
{
"id": 253820147,
"order_id": 71280866,
"status": 1,
"processed_at": "2026-06-24T12:03:27Z"
},
{
"id": 253820195,
"order_id": 71280866,
"status": 2,
"processed_at": "2026-06-24T12:03:35Z"
},
{
"id": 253820300,
"order_id": 71280866,
"status": 4,
"processed_at": "2026-06-24T12:03:49Z"
},
{
"id": 253820409,
"order_id": 71280866,
"status": 5,
"processed_at": "2026-06-24T12:04:02Z"
}
],
"owned_by": 11745,
"payment_channel_id": 39,
"payment_method": 1,
"payment_status": 1,
"preparation_time": 10,
"provider_id": 1,
"qr_code_url": "https://me.klikit.io/order/AAAAAAQ_qOIAAAAAajz3yaRvUcUfMoHEBxwoEEfLqsU",
"shift_session_id": 12933,
"short_id": "1004",
"source": 9,
"status": 5,
"status_updated_by": 11745,
"type": 3,
"unique_item_count": 1,
"updated_at": "2026-06-24T12:04:02Z",
"user_full_name": "Tiwi Support Testing Account",
"user_role": "branch_manager",
"vat": 0
}
}{
"request_id": "req_4d1b7e3f-...",
"data": "<unknown>",
"error": {
"code": "auth_invalid_credential",
"message": "<string>",
"details": "<unknown>"
}
}{
"request_id": "req_4d1b7e3f-...",
"data": "<unknown>",
"error": {
"code": "auth_invalid_credential",
"message": "<string>",
"details": "<unknown>"
}
}{
"request_id": "req_4d1b7e3f-...",
"data": "<unknown>",
"error": {
"code": "resource_not_found",
"message": "<string>",
"details": "<unknown>"
}
}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.
Path Parameters
Response
Order payload
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-..."
A single order record. The same shape is returned by
listOrders (inside data.orders[]),
getOrder (as data), and on the webhook
payloads (inside orders[]).
Only the most commonly consumed fields are documented below; the
wire response carries ~100+ fields per order including finance
breakdowns (provider_*, merchant_*, *_display), BIR
(Philippines) fields, fulfillment timeline, and operator
metadata. Partners should treat unknown fields as ignorable.
Show child attributes
Show child attributes
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:
| Code | HTTP | Meaning |
|---|---|---|
auth_missing | 401 | Authorization header absent / malformed |
auth_invalid_credential | 401 | partner_key or secret_key did not verify |
auth_revoked | 403 | Credential is revoked |
auth_forbidden | 403 | Credential not authorized for the requested scope |
request_invalid | 400 | Body / query parameters failed validation |
request_missing_idempotency_key | 400 | Write endpoint called without Idempotency-Key |
request_invalid_range | 400 | Date range > 90 days |
resource_not_found | 404 | Order / store / mapping does not exist |
resource_unmapped | 404 | Stock / availability call referenced an unknown SKU |
state_invalid_transition | 409 | Order PATCH not allowed by current state |
state_idempotency_conflict | 409 | Same Idempotency-Key reused with a different body |
rate_limit_exceeded | 429 | Per-credential rate cap hit |
downstream_unavailable | 502 | An internal klikit dependency is unreachable |
Show child attributes
Show child attributes