API docs: Orders
List orders
/api/v1/ordersorders:readReturns orders, newest first. The list includes every checkout status, including abandoned or failed checkouts - not just completed sales. item_types lists the kinds of items in the order - product, digital, service, or event - since one order can mix products, downloads, and services (event tickets are always ordered on their own). List entries don't include items or tracking; retrieve the order for those.
Query parameters
| Parameter | Description |
|---|---|
statusstring | Only orders with this status code, e.g. CONF, SHIP, DEL. |
created_sincedate | ISO 8601 date or date-time. Inclusive. |
created_beforedate | ISO 8601 date or date-time. Exclusive. |
limitinteger | 1–100, default 25. |
cursorstring | The next_cursor from the previous page. |
curl "https://e2c.store/api/v1/orders?created_since=2026-09-01&limit=2" \
-H "Authorization: Bearer $E2C_API_KEY"{
"data": [
{
"order_number": 1042,
"created_at": "2026-09-01T14:03:00Z",
"status": "SHIP",
"status_label": "Shipped",
"currency": "CAD",
"subtotal": 39.98,
"shipping_price": 5.5,
"total": 45.48,
"paid": true,
"payment_method": "stripe",
"shipping_method": "Standard",
"item_types": ["product"],
"note": "",
"customer": { "name": "Ada Lovelace" },
"shipping_address": { "line1": "1 Main St", "line2": "", "city": "Toronto", "state": "ON", "postal_code": "M5V 1A1", "country": "Canada" }
}
],
"has_more": true,
"next_cursor": "ml-k3Q58S106wVawzKYPjKh88VSVcUhMVINaOHqpYMiBAA"
}Retrieve an order
/api/v1/orders/{order_number}orders:readReturns one order with its items and tracking. Use the order number shown in your dashboard.
curl "https://e2c.store/api/v1/orders/1042" \
-H "Authorization: Bearer $E2C_API_KEY"{
"data": {
"order_number": 1042,
"created_at": "2026-09-01T14:03:00Z",
"status": "SHIP",
"status_label": "Shipped",
"currency": "CAD",
"subtotal": 39.98,
"shipping_price": 5.5,
"total": 45.48,
"paid": true,
"payment_method": "stripe",
"shipping_method": "Standard",
"item_types": ["product"],
"note": "",
"customer": { "name": "Ada Lovelace", "email": "[email protected]", "phone": "555-0100" },
"shipping_address": { "line1": "1 Main St", "line2": "", "city": "Toronto", "state": "ON", "postal_code": "M5V 1A1", "country": "Canada" },
"items": [
{ "type": "product", "product_code": "linen-tee", "product_name": "Linen Tee", "variant": "Size: M", "quantity": 2, "unit_price": 19.99, "shipping_per_item": 2.75 }
],
"tracking": { "carrier": "UPS", "tracking_number": "1Z999", "tracking_details": "", "ready_for_pickup": false, "updated_at": "2026-09-02T09:00:00Z" }
}
}customer.email and customer.phone appear only when the key also has customers:read. Each item's type is product, digital, service, or event, and its product_code is the code on the matching Products, Services, or Events endpoint - or null if the listing has since been deleted. variant is null for products without variants, and tracking is null until you add shipping details. payment_method is one of stripe, paypal, cash, interac, or zelle.
Order statuses
Every order has a status code and a readable status_label. Orders move through these as the buyer pays and you fulfill them.
Building a "new order" automation? Poll List orders without a status filter and skip the checkout states marked below. Filtering on a single status like CONF misses cash (CAP) and pay-after-service (SCHEDULED) orders, and orders that move on before your next poll.
| Code | Label | Checkout completed |
|---|---|---|
ABORT |
Aborted | No |
PP |
Pending Payment | No |
PROC-PAY |
Processing Payment | No |
PAY-FAIL |
Payment Failed | No |
CONF |
Confirmed | Yes |
PROC-ORD |
Processing Order | Yes |
SHIP |
Shipped | Yes |
RFP |
Ready For Pickup | Yes |
CAP |
Cash at Pickup | Yes |
DEL |
Delivered | Yes |
REFUND |
Refunded | Yes |
RETURN |
Returned | Yes |
CANCEL |
Cancelled | Yes |
CLOSE |
Closed | Yes |
COMP |
Complete | Yes |
SCHEDULED |
Scheduled | Yes |