curl --request GET \
--url https://api.tassyir.io/apps/2026-10/orders \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/apps/2026-10/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "<string>",
"orderNumber": "<string>",
"storeId": "<string>",
"status": "<string>",
"waiting": true,
"archived": true,
"dispatched": true,
"delivered": true,
"returned": true,
"currency": "<string>",
"total": "<string>",
"shippingPrice": "<string>",
"buyer": {
"provinceCode": 0,
"townOns": 0,
"name": "<string>",
"phone": "<string>",
"phone2": "<string>",
"email": "<string>",
"address": "<string>",
"address2": "<string>"
},
"delivery": {
"method": "home",
"speed": "<string>",
"deliveryAgentId": "<string>",
"trackingNumber": "<string>",
"carrierStatus": "<string>"
},
"items": [
{
"id": "<string>",
"productId": "<string>",
"variantId": "<string>",
"packParentItemId": "<string>",
"name": "<string>",
"variantName": "<string>",
"sku": "<string>",
"quantity": 0,
"unitPrice": "<string>",
"totalPrice": "<string>"
}
],
"source": "<string>",
"landingPageId": "<string>",
"utm": {
"source": "<string>",
"medium": "<string>",
"campaign": "<string>",
"content": "<string>"
},
"exchangeOfOrderId": "<string>",
"cancellation": {
"reasonId": "<string>",
"reasonLabel": "<string>",
"source": "<string>"
},
"scheduledFor": "2023-11-07T05:31:56Z",
"confirmedAt": "2023-11-07T05:31:56Z",
"dispatchedAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"returnedAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"note": "<string>",
"deliveryNote": "<string>"
}
],
"nextCursor": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 400,
"detail": "<string>",
"code": "INVALID_CURSOR",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 401,
"detail": "<string>",
"code": "APP_TOKEN_INVALID",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 403,
"detail": "<string>",
"code": "PERMISSION_DENIED",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 429,
"detail": "<string>",
"code": "BUSINESS_RATE_LIMITED",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 460,
"detail": "<string>",
"code": "STORE_SCOPE_FORBIDDEN",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 500,
"detail": "<string>",
"code": "INTERNAL_ERROR",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 503,
"detail": "<string>",
"code": "API_BUSY",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}List orders
Every stage in one list, archived included, newest first. Never an undecided abandoned checkout nor an exchange-return row. Without orders:read-all (an online token of a member who sees only their own orders), only the orders assigned to that member.
Needs the read_orders scope (permission orders:read).
Reference: docs/api/apps/orders.md.
curl --request GET \
--url https://api.tassyir.io/apps/2026-10/orders \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/apps/2026-10/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "<string>",
"orderNumber": "<string>",
"storeId": "<string>",
"status": "<string>",
"waiting": true,
"archived": true,
"dispatched": true,
"delivered": true,
"returned": true,
"currency": "<string>",
"total": "<string>",
"shippingPrice": "<string>",
"buyer": {
"provinceCode": 0,
"townOns": 0,
"name": "<string>",
"phone": "<string>",
"phone2": "<string>",
"email": "<string>",
"address": "<string>",
"address2": "<string>"
},
"delivery": {
"method": "home",
"speed": "<string>",
"deliveryAgentId": "<string>",
"trackingNumber": "<string>",
"carrierStatus": "<string>"
},
"items": [
{
"id": "<string>",
"productId": "<string>",
"variantId": "<string>",
"packParentItemId": "<string>",
"name": "<string>",
"variantName": "<string>",
"sku": "<string>",
"quantity": 0,
"unitPrice": "<string>",
"totalPrice": "<string>"
}
],
"source": "<string>",
"landingPageId": "<string>",
"utm": {
"source": "<string>",
"medium": "<string>",
"campaign": "<string>",
"content": "<string>"
},
"exchangeOfOrderId": "<string>",
"cancellation": {
"reasonId": "<string>",
"reasonLabel": "<string>",
"source": "<string>"
},
"scheduledFor": "2023-11-07T05:31:56Z",
"confirmedAt": "2023-11-07T05:31:56Z",
"dispatchedAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"returnedAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"note": "<string>",
"deliveryNote": "<string>"
}
],
"nextCursor": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 400,
"detail": "<string>",
"code": "INVALID_CURSOR",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 401,
"detail": "<string>",
"code": "APP_TOKEN_INVALID",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 403,
"detail": "<string>",
"code": "PERMISSION_DENIED",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 429,
"detail": "<string>",
"code": "BUSINESS_RATE_LIMITED",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 460,
"detail": "<string>",
"code": "STORE_SCOPE_FORBIDDEN",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 500,
"detail": "<string>",
"code": "INTERNAL_ERROR",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}{
"type": "<string>",
"title": "<string>",
"status": 503,
"detail": "<string>",
"code": "API_BUSY",
"fix": "<string>",
"docs": "<string>",
"requestId": "<string>",
"errors": [
"<string>"
]
}Authorizations
An app access token from POST /apps/oauth/token, valid 1 hour. An offline token acts as the app; an online token acts as the app on behalf of one dashboard user (the intersection of both permission sets).
Query Parameters
One status, or several separated by commas (confirmed,scheduled).
1000Only rows created at or after this time.
Only rows changed at or after this time.
Only this store's rows. A store outside the installation's stores is 460 STORE_SCOPE_FORBIDDEN.
^\d{1,24}$Return only these top-level fields, separated by commas; the id is always kept. The response schema describes the whole resource. An unknown name is 400 INVALID_FIELDS. Fields: id, orderNumber, storeId, status, waiting, archived, dispatched, delivered, returned, currency, total, shippingPrice, buyer, delivery, items, note, deliveryNote, source, landingPageId, utm, exchangeOfOrderId, cancellation, scheduledFor, confirmedAt, dispatchedAt, deliveredAt, returnedAt, canceledAt, createdAt, updatedAt.
1000Page size, 1 to 100 (default 50). A value outside that range is 400, never clamped.
1 <= x <= 100The nextCursor of the previous page, unchanged, with the same filters. Opaque; bound to this list and its filters (400 INVALID_CURSOR otherwise).
512