Pickup/destination state, packageContents, and pickupTimeWindow are now validated against supported reference lists (full state names are normalized automatically). Previously-accepted values outside these lists are now rejected with a validation error pointing to reference endpoints such as GET /package-contents-list.
Booking with authorityToLeave enabled on a StarTrack service that requires a signature on delivery now fails validation immediately with a clear error, instead of being accepted and failing later at the carrier.
POST /quotes previously had no overall timeout, so one slow or unavailable carrier could stall the whole request. It now returns within a bounded time budget (20s by default) with whatever quotes are available, or a clear message asking you to retry.
Additional raw carrier tracking messages now map to standard status values (e.g. under_investigation, missed_delivery) instead of being returned as unmapped raw carrier text via GET /order-tracking/{id}.
Insurance value and fee submitted with save-order-details are now checked against a valid insurance catalog entry. Insurance is automatically set to zero for BYOR couriers and excluded content types, and content/package type checks are now case-insensitive.
Your saved default Stripe payment method must now be a card (credit/debit) for instant order bookings via POST /order-booking/{id}. BECS Direct Debit is rejected with a clear validation error, since it cannot clear in time for an instant booking.
Once an order has moved into processing (booked with a carrier), POST /save-order-details/{id} now returns a 409 Conflict on attempts to update its details, protecting completed orders from accidental changes. Updates remain allowed only while the order is still in one of the pre-booking stages.
GET /order-status/{id} and GET /bookings now include an articleId field (nullable, applicable to BYOR couriers) for cross-referencing with carrier systems.
Pickup and destination suburb, state, and postcode combinations submitted to POST /quotes are now validated against Fast Courier's suburb reference table before a quote is returned, catching invalid addresses earlier instead of failing later at booking.
The maximum package weight accepted on quote and booking requests was raised, allowing heavier shipments to be quoted and booked.
MyPost is now included as an eligible courier in Enterprise API quotes for BYOR-active accounts, aligning Enterprise quote results with your account-level courier access.
The Enterprise API was missing the existing rule restricting PO Box destinations to Star Track only. As part of a wider package-eligibility centralization, this gap is now closed, matching behavior on other Fast Courier booking channels.
The public Enterprise API documentation (GET /docs) now specifies explicit minimum/maximum limits for weight, dimensions, and quantity, and marks additional fields as required.
CRL, FreightFlex, TSS, BSH, and TGE (Toll Global Express) are now available for quoting and booking through the Enterprise API, each with their own serviceable zones and service restrictions.
The documents object returned by GET /order-status/{id} changed from arrays of URLs per document type to a single URL string (or null) per type. If your integration reads the previous array format, update your parsing.
GET /order-status/{id} gained a documents object with label, invoice, and manifest download URLs (later changed to single-URL-per-type, see the breaking change above).
Enterprise API quote validation errors on POST /quotes now consistently return a structured {status, message, errors} response shape. PO Box drop-off quotes are restricted to StarTrack only.