What this audit checks
Authentication & access
- API-KEY header + api_password Basic auth still issue 200s against /shipping/v1/accounts (no 401)
- Account number resolves to an active contracted rate-card (no ‘unknown account’ on shipping endpoints)
- Merchant is on production tier, not sandbox - sandbox responses return mock data and must not be charted
- Auth failures in last 24h within tolerance (rotated or expired API key signal)
On-time delivery & transit
- Express Post next-business-day OTD < 95% rolling 30D (refund-clause exposure)
- Express Post address-eligibility rate < 90% (postcode reclassification at annual review)
- Standard / Parcel Post OTD vs published AusPost delivery estimate per zone
- Avg domestic transit days drifting above zone baseline (5 metro + 4 regional zones)
Exceptions & failed deliveries
- Exception rate > 3% rolling 30D (status = Exception across tracking events)
- AttemptedDelivery / Refused events with no follow-up redelivery within 48h
- ReturnedToSender rate climbing vs prior period (address-quality or refusal signal)
- Out-for-delivery shipments stuck >24h with no Delivered or Exception event
Damaged / lost parcels
- Lost-parcel rate > 0.2% (status = Lost) rolling 90D
- Damaged-parcel claim rate > 0.5% rolling 90D
- AwaitingCustoms parcels aged > 14d with no clearance event (lost-in-customs candidate)
- Claim value as % of AusPost spend > 1% rolling 90D
Tracking data completeness
- Shipments with a tracking_number but zero TrackingEvent records (tracking gap)
- Domestic tracking-event gap > 24h with shipment still InTransit
- International tracking-event gap > 5d (customs grace window) then stale
- Article number not in expected AP[0-9]AU format (mislabel / mismatch signal)
Cross-platform fulfilment SLA
- Cross-platform: AU ecom order with no AusPost shipment after 48h -> dispatch SLA breach per channel
- Cross-platform: Express Post shipment delivered later than next business day * sibling.order.total -> revenue at risk
- Cross-platform: AusPost cost per zone vs Sendle cost per zone (carrier-mix savings candidates)
- Cross-platform: ReturnedToSender / lost shipments joined to commerce orders -> refund-propensity exposure
Severity thresholds
Data sources
GET https://digitalapi.auspost.com.au/shipping/v1/accounts- Account validation + rate-card / tier checkGET https://digitalapi.auspost.com.au/shipping/v1/shipments- Shipment list (OTD, cost, service mix, eligibility)GET https://digitalapi.auspost.com.au/shipping/v1/track- Tracking events (transit, exceptions, customs)POST https://digitalapi.auspost.com.au/shipping/v1/returns- Return labels (reverse-logistics volume, write-side)