API 레퍼런스
Orders
Management API: GET /sites/{id}/orders, GET /sites/{id}/orders/{orderId}
List orders newest first with line items and shipment summary (amounts in minor units of order.currency). Refunds, payment settings and invoices are not available to agents. Errors: FORBIDDEN, INVALID_CURSOR.
Parameters
idstring · pathrequiredWebsite id. Get it from sites.list or from sites.create.
status"UNPAID" | "PAID" | "PARTIALLY_REFUNDED" | "REFUNDED" | "DISPUTED" | "PAYMENT_REVERSED" | "CANCELLED" · querylimitinteger · queryMaximum number of items to return, 1–100. Defaults to 20.
cursorstring · queryOpaque cursor from the previous page's nextCursor. Omit for the first page.
Response 200
dataobject[]requireddata[].idstringrequireddata[].orderNumberinteger | nullrequiredHuman-readable per-store number (#1001...).
data[].statusstringrequireddata[].currencystringrequireddata[].subtotalAmountintegerrequireddata[].discountAmountintegerrequireddata[].amountintegerrequiredItems after discount, excluding shipping.
data[].shippingFeeintegerrequireddata[].totalRefundedintegerrequireddata[].itemCountintegerrequireddata[].customerEmailstringrequireddata[].customerNamestring | nullrequireddata[].customerPhonestring | nullrequireddata[].buyerNotestring | nullrequireddata[].metadataobjectrequiredPublic integration fields on the order.
data[].privateMetadataobjectrequiredPrivate integration fields on the order (console, members and service accounts only).
data[].promotionCodestring | nullrequireddata[].paymentProviderstringrequireddata[].paidAtstring | nullrequireddata[].refundedAtstring | nullrequireddata[].createdAtstringrequireddata[].itemsobject[]requireddata[].items[].idstringrequireddata[].items[].productIdstringrequireddata[].items[].tierIdstring | nullrequireddata[].items[].productTitlestringrequireddata[].items[].tierNamestring | nullrequireddata[].items[].productTypestringrequireddata[].items[].unitPriceintegerrequireddata[].items[].quantityintegerrequireddata[].items[].lineAmountintegerrequireddata[].items[].refundedQuantityintegerrequireddata[].items[].refundedAmountintegerrequireddata[].shipmentsobject[]requireddata[].shipments[].idstringrequireddata[].shipments[].statusstringrequireddata[].shipments[].providerstringrequireddata[].shipments[].methodstringrequireddata[].shipments[].trackingNostring | nullrequireddata[].shipments[].trackingUrlstring | nullrequiredhasMorebooleanrequiredTrue when another page exists; pass nextCursor to fetch it.
nextCursorstring | nullrequiredCursor for the next page, or null on the last page.
Errors
FORBIDDEN403INVALID_CURSOR400
MCP tool orders_list
curl -X GET "https://app.kanorio.com/api/v1/sites/{id}/orders" \
-H "Authorization: Bearer $KANORIO_TOKEN"{
"data": [
{
"id": "order_example01",
"orderNumber": 1024,
"status": "PAID",
"currency": "TWD",
"subtotalAmount": 880,
"discountAmount": 0,
"amount": 980,
"shippingFee": 100,
"totalRefunded": 0,
"itemCount": 1,
"customerEmail": "customer@example.com",
"customerName": "Alex Chen",
"customerPhone": "+886912345678",
"buyerNote": "Pickup on Saturday at 2 p.m.",
"metadata": {},
"privateMetadata": {},
"promotionCode": null,
"paymentProvider": "STRIPE",
"paidAt": "2026-10-06T08:00:00.000Z",
"refundedAt": null,
"createdAt": "2026-10-06T08:00:00.000Z",
"items": [
{
"id": "item_example01",
"productId": "prod_example01",
"tierId": "tier_example01",
"productTitle": "Strawberry Birthday Cake",
"tierName": "6-inch",
"productType": "PHYSICAL",
"unitPrice": 880,
"quantity": 1,
"lineAmount": 880,
"refundedQuantity": 0,
"refundedAmount": 0
}
],
"shipments": [
{
"id": "ship_example01",
"status": "PENDING",
"provider": "MANUAL",
"method": "PICKUP",
"trackingNo": null,
"trackingUrl": null
}
]
}
],
"hasMore": false,
"nextCursor": null
}Get one order with line items and shipments. Errors: FORBIDDEN, ORDER_NOT_FOUND.
Parameters
idstring · pathrequiredWebsite id. Get it from sites.list or from sites.create.
orderIdstring · pathrequired
Response 200
idstringrequiredorderNumberinteger | nullrequiredHuman-readable per-store number (#1001...).
statusstringrequiredcurrencystringrequiredsubtotalAmountintegerrequireddiscountAmountintegerrequiredamountintegerrequiredItems after discount, excluding shipping.
shippingFeeintegerrequiredtotalRefundedintegerrequireditemCountintegerrequiredcustomerEmailstringrequiredcustomerNamestring | nullrequiredcustomerPhonestring | nullrequiredbuyerNotestring | nullrequiredmetadataobjectrequiredPublic integration fields on the order.
privateMetadataobjectrequiredPrivate integration fields on the order (console, members and service accounts only).
promotionCodestring | nullrequiredpaymentProviderstringrequiredpaidAtstring | nullrequiredrefundedAtstring | nullrequiredcreatedAtstringrequireditemsobject[]requireditems[].idstringrequireditems[].productIdstringrequireditems[].tierIdstring | nullrequireditems[].productTitlestringrequireditems[].tierNamestring | nullrequireditems[].productTypestringrequireditems[].unitPriceintegerrequireditems[].quantityintegerrequireditems[].lineAmountintegerrequireditems[].refundedQuantityintegerrequireditems[].refundedAmountintegerrequiredshipmentsobject[]requiredshipments[].idstringrequiredshipments[].statusstringrequiredshipments[].providerstringrequiredshipments[].methodstringrequiredshipments[].trackingNostring | nullrequiredshipments[].trackingUrlstring | nullrequired
Errors
FORBIDDEN403ORDER_NOT_FOUND404
MCP tool orders_get
curl -X GET "https://app.kanorio.com/api/v1/sites/{id}/orders/{orderId}" \
-H "Authorization: Bearer $KANORIO_TOKEN"{
"id": "order_example01",
"orderNumber": 1024,
"status": "PAID",
"currency": "TWD",
"subtotalAmount": 880,
"discountAmount": 0,
"amount": 980,
"shippingFee": 100,
"totalRefunded": 0,
"itemCount": 1,
"customerEmail": "customer@example.com",
"customerName": "Alex Chen",
"customerPhone": "+886912345678",
"buyerNote": "Pickup on Saturday at 2 p.m.",
"metadata": {},
"privateMetadata": {},
"promotionCode": null,
"paymentProvider": "STRIPE",
"paidAt": "2026-10-06T08:00:00.000Z",
"refundedAt": null,
"createdAt": "2026-10-06T08:00:00.000Z",
"items": [
{
"id": "item_example01",
"productId": "prod_example01",
"tierId": "tier_example01",
"productTitle": "Strawberry Birthday Cake",
"tierName": "6-inch",
"productType": "PHYSICAL",
"unitPrice": 880,
"quantity": 1,
"lineAmount": 880,
"refundedQuantity": 0,
"refundedAmount": 0
}
],
"shipments": [
{
"id": "ship_example01",
"status": "PENDING",
"provider": "MANUAL",
"method": "PICKUP",
"trackingNo": null,
"trackingUrl": null
}
]
}