List orders
List the e-commerce orders saved against your account: orders your store plugin synced, orders imported from a CSV file, and orders you created with the API.
GET /api/v5/ordersRequires your API key in the api-key header. See Authentication.
Orders and bookings
Section titled “Orders and bookings”An order is a sale from your store: who bought it, where it goes and what is in it. A booking is a shipment with a courier, created by a quote and confirmed to dispatch it. An order does not ship anything by itself.
You link the two by saving the booking’s id in the order’s transdirect_order_id field, together with the courier you chose. See Create an order.
Query parameters
Section titled “Query parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
since | string | No | Only return orders imported at or after this time. Accepts an ISO 8601 datetime (2026-10-01T00:00:00Z) or YYYY-MM-DD HH:MM:SS, which is read as UTC. |
sort | string | No | Sort ascending by this column. One of id, transdirect_order_id, transdirect_order_status, order_id, goods_summary, imported_from, imported_time, purchased_time, sale_price, selected_courier, courier_price, paid_time, buyer_name, buyer_email, last_updated. Without sort, orders come back newest first by import time. |
The response holds at most 50 orders and there is no paging. Use since to fetch only recent orders. Orders with status deleted are never returned.
Request
Section titled “Request”curl "https://api.transdirect.com.au/api/v5/orders?since=2026-10-01T00:00:00Z" \ -H "api-key: $TD_API_KEY"import { client, getApiV5Orders } from '@transdirect/api-sdk';
client.setConfig({ headers: { 'api-key': process.env.TD_API_KEY! } });
const { data, error } = await getApiV5Orders({ query: { since: '2026-10-01T00:00:00Z' },});Response
Section titled “Response”200 OK with an array of orders. An account with no matching orders gets an empty array [].
[ { "id": 88, "transdirect_order_id": null, "transdirect_member_id": 12345, "transdirect_order_status": "pending", "order_id": "WC-1042", "goods_summary": "2 x Ceramic planter", "goods_dump": "", "imported_from": "Woocommerce", "imported_time": "2026-10-15T23:30:00.000Z", "purchased_time": "2026-10-16 10:28:00", "sale_price": "89.90", "selected_courier": "", "courier_price": "0.00", "paid_time": "2026-10-16 10:29:00", "buyer_name": "Jane Citizen", "buyer_email": "jane@example.com.au", "delivery": { "name": "Jane Citizen", "email": "jane@example.com.au", "phone": "0412345678", "address": "1 Collins Street, MELBOURNE VIC 3000" }, "last_updated": "2026-10-15T23:30:00.000Z" }]Order fields
Section titled “Order fields”Every order endpoint returns this shape. Any field except id, transdirect_member_id and delivery can be null.
| Field | Type | Description |
|---|---|---|
id | integer | Transdirect’s id for the order. Use it in /api/v5/orders/{id}. |
order_id | string | Your order number from the store or system the order came from. |
transdirect_order_id | integer | The id of the Transdirect booking linked to this order, or null if none is linked yet. |
transdirect_member_id | integer | Your member id. |
transdirect_order_status | string | Order status. Any text you set. New orders start as pending; the members area also uses ready_to_book, quoted, booked, manually_dispatched and cancelled. |
goods_summary | string | Short description of the goods. |
goods_dump | string | Raw line-item data from the source platform. |
imported_from | string | Where the order came from, for example Woocommerce, Shopify or csv. |
imported_time | string | When the order was saved in Transdirect (ISO 8601, UTC). |
purchased_time | string | When the buyer placed the order, as sent by the source. |
paid_time | string | When the buyer paid, as sent by the source. |
sale_price | number or string | Order total in AUD. |
selected_courier | string | Courier key of the linked booking’s chosen quote, for example couriers_please. |
courier_price | number or string | Price of that courier’s quote in AUD. |
buyer_name, buyer_email | string | The buyer. |
delivery | object | Recipient name, email, phone and address. |
last_updated | string | When the order last changed. |
Errors
Section titled “Errors”| Status | Body | Cause |
|---|---|---|
400 | {"error":"invalid_since"} | since is not a date Transdirect can read. |
400 | {"error":"invalid_sort"} | sort is not one of the columns listed above. |
401 | {"error":"missing_api_key"} or {"error":"invalid_api_key"} | No key, or the key is unknown or deactivated. |
429 | {"error":"rate_limited"} | More than 600 requests in a minute on this key. Wait for the number of seconds in retry-after. |
Try it
Section titled “Try it”Open List saved orders in the API Explorer, paste your API key into the authentication box and send the request.