List Orders
Returns a paginated list of orders, ordered by creation date (most recent first). Supports filtering by status, customer, payment status, and date range.Authentication
Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Number of results per page (default: 10, max: 100) |
starting_after | string | Cursor for pagination (order ID) |
status | enum | Filter by status: pending, processing, completed, failed, cancelled |
payment_status | enum | Filter by payment status: pending, authorized, captured, failed, refunded, disputed |
customer_email | string | Filter by customer email |
created_after | timestamp | Filter orders created after this date |
created_before | timestamp | Filter orders created before this date |
test_mode | boolean | Filter by test mode (true/false) |
Request
Response
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | Array of order objects |
has_more | boolean | Whether more results are available |
next_cursor | string | Cursor for next page (use as starting_after) |
Examples
List All Orders
Filter by Status
Filter by Payment Status
Filter by Customer
Pagination
Date Range Filter
Test Mode Filter
Use Cases
Revenue Dashboard
Fulfillment Queue
Customer Order History
Failed Orders Report
HSA/FSA Analytics
Export Orders
Errors
| Status Code | Error Code | Description |
|---|---|---|
| 400 | invalid_request | Invalid query parameters |
| 401 | unauthorized | Invalid or missing API key |
| 429 | rate_limit_exceeded | Too many requests |
Best Practices
Use Pagination
Always paginate large result sets using
limit and cursorsFilter Efficiently
Use filters to reduce data transfer and improve performance
Cache Results
Cache historical order data to minimize API calls
Use Webhooks
Don’t poll for new orders. Use webhooks instead.
Related Endpoints
- Get Order - GET /v2/orders/
- Create Refund - POST /v2/refunds
