curl --request GET \
--url https://api.dev.shadowchef.co/v1/partner/orders/statuses \
--header 'Authorization: Basic <encoded-value>'const url = 'https://api.dev.shadowchef.co/v1/partner/orders/statuses';
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/statuses"
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/statuses"
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/statuses",
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": "8591cb6fa8ce518302af4ab3210b2a42",
"data": [
{
"id": 1,
"status": "PLACED",
"translation": {
"en": "PLACED",
"id": "Ditempatkan",
"ja": "配置されました",
"km": "ទាន់សម័យ",
"ms": "Diletakkan",
"th": "วาง",
"tl": "Placed",
"vi": "Đặt",
"zh": "放置",
"zh-tw": "下訂"
}
},
{
"id": 2,
"status": "ACCEPTED",
"translation": {
"en": "ACCEPTED",
"id": "Diterima",
"ja": "承認されました",
"km": "បានទទួលយក",
"ms": "Diterima",
"th": "ยอมรับ",
"tl": "Accepted",
"vi": "Đã chấp nhận",
"zh": "接受",
"zh-tw": "接受"
}
},
{
"id": 3,
"status": "CANCELLED",
"translation": {
"en": "CANCELLED",
"id": "Dibatalkan",
"ja": "キャンセルされました",
"km": "បោះបង់",
"ms": "Dibatalkan",
"th": "ยกเลิก",
"tl": "Cancelled",
"vi": "Hủy bỏ",
"zh": "取消",
"zh-tw": "取消"
},
"translation_btn": [
{
"order_type_id": 1,
"action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan",
"ja": "キャンセル",
"tl": "Kinansela",
"vi": "Đã hủy"
},
"past_order_action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan",
"ja": "キャンセル",
"tl": "Kinansela",
"vi": "Đã hủy"
}
},
{
"order_type_id": 2,
"action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
},
"past_order_action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
}
},
{
"order_type_id": 3,
"action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
},
"past_order_action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
}
}
]
},
{
"id": 4,
"status": "READY",
"translation": {
"en": "READY",
"id": "Sedia",
"ja": "準備完了",
"tl": "Ready",
"vi": "Sẵn sàng"
},
"translation_btn": [
{
"order_type_id": 1,
"action_btn_text": {
"en": "Ready",
"id": "Siap",
"vi": "Sẵn sàng"
}
},
{
"order_type_id": 2,
"action_btn_text": {
"en": "Ready",
"id": "Siap"
}
},
{
"order_type_id": 3,
"action_btn_text": {
"en": "Ready",
"id": "Siap"
}
}
]
},
{
"id": 5,
"status": "DELIVERED",
"translation": {
"en": "DELIVERED",
"id": "Dikirim",
"ja": "配達されました",
"tl": "Delivered",
"vi": "Giao hàng"
},
"translation_btn": [
{
"order_type_id": 1,
"action_btn_text": {
"en": "Complete",
"vi": "Hoàn thành"
},
"past_order_action_btn_text": {
"en": "Completed",
"id": "Selesai"
}
},
{
"order_type_id": 2,
"action_btn_text": {
"en": "Complete"
},
"past_order_action_btn_text": {
"en": "Completed"
}
},
{
"order_type_id": 3,
"action_btn_text": {
"en": "Complete"
},
"past_order_action_btn_text": {
"en": "Completed"
}
}
]
},
{
"id": 6,
"status": "SCHEDULED",
"translation": {
"en": "SCHEDULED",
"id": "Jadual",
"tl": "Scheduled",
"vi": "Lên lịch"
}
},
{
"id": 7,
"status": "DRIVER ASSIGNED",
"translation": {
"en": "DRIVER ASSIGNED",
"id": "Penunggang Ditugaskan",
"tl": "Driver Assigned",
"vi": "Tài xế đã được chỉ định"
}
},
{
"id": 8,
"status": "DRIVER ARRIVED",
"translation": {
"en": "DRIVER ARRIVED",
"id": "Pengemudi Tiba",
"tl": "Driver Arrived",
"vi": "Tài xế đã đến"
}
},
{
"id": 9,
"status": "PICKED UP",
"translation": {
"en": "PICKED UP",
"id": "Diambil",
"tl": "Picked Up",
"vi": "Được nhặt lên"
}
},
{
"id": 10,
"status": "PENDING",
"translation": {
"en": "PENDING",
"id": "Tertunda",
"tl": "Pending",
"vi": "Đang chờ xử lý"
}
},
{
"id": 11,
"status": "VOID",
"translation": {
"en": "VOID",
"id": "Batal",
"tl": "Pending",
"vi": "Vô hiệu"
}
}
]
}Enum of valid order statuses
Returns the 11 canonical order-status rows. Each row carries the
numeric id (which is what appears as status on an
Order record), the canonical
English status code, and per-locale translations. Rows that
terminate the operator flow (CANCELLED, READY, DELIVERED)
additionally carry translation_btn — per-order-type button
labels keyed by order type id.
Treat this as a one-time reference fetch; values are stable across releases.
curl --request GET \
--url https://api.dev.shadowchef.co/v1/partner/orders/statuses \
--header 'Authorization: Basic <encoded-value>'const url = 'https://api.dev.shadowchef.co/v1/partner/orders/statuses';
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/statuses"
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/statuses"
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/statuses",
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": "8591cb6fa8ce518302af4ab3210b2a42",
"data": [
{
"id": 1,
"status": "PLACED",
"translation": {
"en": "PLACED",
"id": "Ditempatkan",
"ja": "配置されました",
"km": "ទាន់សម័យ",
"ms": "Diletakkan",
"th": "วาง",
"tl": "Placed",
"vi": "Đặt",
"zh": "放置",
"zh-tw": "下訂"
}
},
{
"id": 2,
"status": "ACCEPTED",
"translation": {
"en": "ACCEPTED",
"id": "Diterima",
"ja": "承認されました",
"km": "បានទទួលយក",
"ms": "Diterima",
"th": "ยอมรับ",
"tl": "Accepted",
"vi": "Đã chấp nhận",
"zh": "接受",
"zh-tw": "接受"
}
},
{
"id": 3,
"status": "CANCELLED",
"translation": {
"en": "CANCELLED",
"id": "Dibatalkan",
"ja": "キャンセルされました",
"km": "បោះបង់",
"ms": "Dibatalkan",
"th": "ยกเลิก",
"tl": "Cancelled",
"vi": "Hủy bỏ",
"zh": "取消",
"zh-tw": "取消"
},
"translation_btn": [
{
"order_type_id": 1,
"action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan",
"ja": "キャンセル",
"tl": "Kinansela",
"vi": "Đã hủy"
},
"past_order_action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan",
"ja": "キャンセル",
"tl": "Kinansela",
"vi": "Đã hủy"
}
},
{
"order_type_id": 2,
"action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
},
"past_order_action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
}
},
{
"order_type_id": 3,
"action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
},
"past_order_action_btn_text": {
"en": "Canceled",
"id": "Dibatalkan"
}
}
]
},
{
"id": 4,
"status": "READY",
"translation": {
"en": "READY",
"id": "Sedia",
"ja": "準備完了",
"tl": "Ready",
"vi": "Sẵn sàng"
},
"translation_btn": [
{
"order_type_id": 1,
"action_btn_text": {
"en": "Ready",
"id": "Siap",
"vi": "Sẵn sàng"
}
},
{
"order_type_id": 2,
"action_btn_text": {
"en": "Ready",
"id": "Siap"
}
},
{
"order_type_id": 3,
"action_btn_text": {
"en": "Ready",
"id": "Siap"
}
}
]
},
{
"id": 5,
"status": "DELIVERED",
"translation": {
"en": "DELIVERED",
"id": "Dikirim",
"ja": "配達されました",
"tl": "Delivered",
"vi": "Giao hàng"
},
"translation_btn": [
{
"order_type_id": 1,
"action_btn_text": {
"en": "Complete",
"vi": "Hoàn thành"
},
"past_order_action_btn_text": {
"en": "Completed",
"id": "Selesai"
}
},
{
"order_type_id": 2,
"action_btn_text": {
"en": "Complete"
},
"past_order_action_btn_text": {
"en": "Completed"
}
},
{
"order_type_id": 3,
"action_btn_text": {
"en": "Complete"
},
"past_order_action_btn_text": {
"en": "Completed"
}
}
]
},
{
"id": 6,
"status": "SCHEDULED",
"translation": {
"en": "SCHEDULED",
"id": "Jadual",
"tl": "Scheduled",
"vi": "Lên lịch"
}
},
{
"id": 7,
"status": "DRIVER ASSIGNED",
"translation": {
"en": "DRIVER ASSIGNED",
"id": "Penunggang Ditugaskan",
"tl": "Driver Assigned",
"vi": "Tài xế đã được chỉ định"
}
},
{
"id": 8,
"status": "DRIVER ARRIVED",
"translation": {
"en": "DRIVER ARRIVED",
"id": "Pengemudi Tiba",
"tl": "Driver Arrived",
"vi": "Tài xế đã đến"
}
},
{
"id": 9,
"status": "PICKED UP",
"translation": {
"en": "PICKED UP",
"id": "Diambil",
"tl": "Picked Up",
"vi": "Được nhặt lên"
}
},
{
"id": 10,
"status": "PENDING",
"translation": {
"en": "PENDING",
"id": "Tertunda",
"tl": "Pending",
"vi": "Đang chờ xử lý"
}
},
{
"id": 11,
"status": "VOID",
"translation": {
"en": "VOID",
"id": "Batal",
"tl": "Pending",
"vi": "Vô hiệu"
}
}
]
}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.
Response
Order-status enum
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.
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