StolPost

StolPost API

For custom sites and developers. Send paid orders to StolPost, read tracking numbers back. Labels are printed in StolPost; your site never needs Australia Post credentials.

1. Get a key

In StolPost: Settings, API keys, Create API key. Keys start with sp_test_ while your account is in test mode and sp_live_ once Australia Post labels are live. Send it on every request as Authorization: Bearer sp_.... Keep it on your server, never in the browser.

2. Send paid orders

POST /api/v1/orders with up to 100 orders. Sending the same id again updates that order, so it is safe to retry. status defaults to processing (paid, ready to ship); send cancelled to take an order back out of the queue.

curl -X POST https://stolpost.example/api/v1/orders \
  -H "Authorization: Bearer sp_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "orders": [{
      "id": "10023",
      "number": "#10023",
      "customer": { "name": "Mia Thompson", "email": "mia@example.com" },
      "ship_to": {
        "line1": "12 Wattle Street", "suburb": "Glenelg",
        "state": "SA", "postcode": "5045", "country": "AU"
      },
      "items": [{ "name": "Club training tee, M", "qty": 1, "sku": "TEE-M" }],
      "shipping_method": "Standard"
    }]
  }'
{ "ok": true, "added": 1, "updated": 0 }

Required: id, ship_to.line1, ship_to.suburb, ship_to.postcode, and at least one item. A request with problems is refused whole (422), with a list of what to fix.

3. Read tracking back

GET /api/v1/shipments?order=ID for one order, or ?since=ISO-date for everything since a time (poll every few minutes). Show tracking_url to your customer: it opens StolPost's tracking page for the parcel.

curl "https://stolpost.example/api/v1/shipments?order=10023" \
  -H "Authorization: Bearer sp_test_YOUR_KEY"

{
  "shipments": [{
    "tracking_no": "TEST0537167197871296",
    "tracking_url": "https://stolpost.example/track/TEST0537167197871296",
    "status": "labelled",
    "service": "Parcel Post, small satchel",
    "order_id": "10023",
    "order_number": "#10023",
    "created_at": "2026-10-09 13:29:51",
    "mode": "test"
  }]
}

Platforms

Shopify and WooCommerce connect in Settings without any code. The StolPost WordPress plugin and a JavaScript SDK are open source and use this same API.

Test mode: until Australia Post approves StolPost as a platform partner, every label is a test label and nothing is lodged with Australia Post.