# Carrier API Errors & Scan Status Reference

URL: https://docs.lastscanned.com/troubleshooting

Calling carrier tracking endpoints directly from serverless runtimes (Cloudflare Workers, Vercel Functions, AWS Lambda) or legacy webhook aggregators often fails due to WAF blocks, multi-step OAuth handshakes, or asynchronous registration queues.

Use our interactive [Carrier API Error Decoder](https://lastscanned.com/tools/carrier-api-error-decoder) or the reference below to replace brittle carrier integrations with a single `GET https://api.lastscanned.com/v1/track/{number}` request.

## Common Carrier API Errors & Fixes

| Carrier / Provider | Error Code / Symptom | Why It Happens | `lastscanned` Resolution |
| --- | --- | --- | --- |
| **UPS** | `HTTP 403 Forbidden` / `428 Precondition Required` / `250003 Invalid Access License` | UPS deprecated XML Access Keys (`250003`) and gates its REST Track API behind Akamai Bot Manager, blocking cloud datacenter ASNs. | Call `GET /v1/track/1Z...` — zero UPS shipper account credentials or OAuth token caches required. |
| **USPS** | Web Tools TrackV2 XML retired / v3 OAuth `401` & `429` / `92…` blind spots | USPS retired legacy Web Tools XML and requires Business Customer Gateway OAuth 2.0, while omitting OSM/Pitney Bowes middle-mile scans. | Call `GET /v1/track/9400...` (and pass `?carrier=osm` or `?carrier=pitneybowes` on `92…` consolidator labels). |
| **FedEx** | `HTTP 422 Unprocessable Entity` / `NOT.AUTHORIZED.ERROR` | Short-lived OAuth bearer token churn in stateless edge workers and production key validation gates. | Call `GET /v1/track/{number}` with your static `lsk_live_...` key; 12/15/20/22-digit FedEx numbers auto-detect. |
| **Veho / UniUni / SpeedX / GOFO / OnTrac** | `HTTP 401` / `403` Firebase App Check / No public self-serve API | Regional e-commerce couriers gate tracking behind browser-minted Firebase App Check tokens or enterprise contracts. | All regional couriers (`veho`, `uniuni`, `speedx`, `gofo`, `ontrac`, `bettertrucks`, `intelcom`) work out of the box via `GET /v1/track/{number}`. |
| **17TRACK** | `-18019902` ("Not registered yet") / `-18010020` ("Additional parameters incorrect") | 17TRACK requires async `POST /register` before querying, charges 10 quotas/call for `getRealTimeTrackInfo`, and requires extra params (`mid`, `postal_code`) on 150 carriers. | Synchronous on the first `GET` for **1 quota**, with zero extra parameters required. See [Migrating from 17TRACK](/migrate-from-17track). |

## Top 45 Cryptic Carrier Scan Statuses (`statusDescription` → `status`)

Every carrier uses different raw phrasing for middle-mile consolidator handoffs, customs clearance, and delivery exceptions. `lastscanned` preserves the verbatim carrier text in `statusDescription` and `events[].description` while mapping it to our 7-value normalized `status` enum (`pre_shipment`, `in_transit`, `out_for_delivery`, `delivered`, `exception`, `expired`, `unknown`):

- **USPS & Consolidators**: [`Picked Up by Shipping Partner, USPS Awaiting Item`](https://lastscanned.com/status/picked-up-by-shipping-partner-usps-awaiting-item) · [`Shipping Label Created, USPS Currently Awaiting Package`](https://lastscanned.com/status/shipping-label-created-usps-currently-awaiting-package) · [`Arrived Shipping Partner Facility, USPS Awaiting Item`](https://lastscanned.com/status/arrived-shipping-partner-facility-usps-awaiting-item) · [`Departed Shipping Partner Facility, USPS Awaiting Item`](https://lastscanned.com/status/departed-shipping-partner-facility-usps-awaiting-item) · [`Accepted at USPS Destination Facility`](https://lastscanned.com/status/accepted-at-usps-destination-facility) · [`In Transit to Next Facility, Arriving Late`](https://lastscanned.com/status/in-transit-to-next-facility-arriving-late) · [`Held at Post Office, At Customer Request`](https://lastscanned.com/status/held-at-post-office-at-customer-request) · [`Available for Pickup`](https://lastscanned.com/status/available-for-pickup-usps) · [`No Access to Delivery Location`](https://lastscanned.com/status/no-access-to-delivery-location) · [`Receptacle Blocked`](https://lastscanned.com/status/receptacle-blocked) · [`Alert: Awaiting Delivery Scan`](https://lastscanned.com/status/awaiting-delivery-scan)
- **Regional Last-Mile (UniUni, SpeedX, GOFO, Veho, OnTrac)**: [`Gateway transit in`](https://lastscanned.com/status/gateway-transit-in-uniuni) · [`Gateway transit out`](https://lastscanned.com/status/gateway-transit-out-uniuni) · [`Parcel is out for delivery`](https://lastscanned.com/status/parcel-is-out-for-delivery-uniuni) · [`Arrived at SpeedX Facility`](https://lastscanned.com/status/arrived-at-speedx-facility) · [`Processing at Designated Facility`](https://lastscanned.com/status/processing-at-designated-facility-gofo) · [`Match to Manifesto`](https://lastscanned.com/status/match-to-manifesto-veho) · [`Unable to Locate`](https://lastscanned.com/status/unable-to-locate-ontrac)
- **Cross-Border (Cainiao, YunExpress, Yanwen, 4PX, CNE)**: [`Import customs clearance complete`](https://lastscanned.com/status/import-customs-clearance-complete) · [`Handed over to local carrier`](https://lastscanned.com/status/handed-over-to-local-carrier) · [`Arrived at linehaul office`](https://lastscanned.com/status/arrived-at-linehaul-office) · [`Leaving from departure country/region`](https://lastscanned.com/status/leaving-from-departure-country-region)
- **National & Canadian (UPS, FedEx, Purolator, Intelcom/Dragonfly)**: [`Delivered to PUDO`](https://lastscanned.com/status/delivered-to-pudo) · [`Shipment Exception — Weather Delay`](https://lastscanned.com/status/shipment-exception-weather-delay) · [`On the way to your Dragonfly depot`](https://lastscanned.com/status/on-the-way-to-your-dragonfly-depot)

- **European, UK & Nordic (InPost, Evri, DPD UK, Colissimo, PostNL, DHL Paket, PostNord)**: [`InPost Ready for collection (Paczkomat)`](https://lastscanned.com/status/inpost-ready-for-collection-parcel-locker) · [`Evri Parcel at ParcelShop`](https://lastscanned.com/status/evri-we-have-your-parcel-at-the-parcelshop) · [`DPD UK At our depot`](https://lastscanned.com/status/dpd-uk-at-our-depot) · [`Colissimo En cours d'acheminement`](https://lastscanned.com/status/la-poste-colissimo-votre-colis-est-en-cours-d-acheminement) · [`PostNL Parcel at sorting center`](https://lastscanned.com/status/postnl-parcel-is-at-sorting-center) · [`DHL Processed in export parcel center`](https://lastscanned.com/status/dhl-paket-processed-at-export-parcel-center) · [`PostNord Under transportation`](https://lastscanned.com/status/postnord-the-shipment-item-is-under-transportation)
- **APAC, India & Global Cross-Border (Delhivery, Blue Dart, Yamato, Ninja Van, SFC, Winit, Meest, Hualei)**: [`Hualei 等待签收 (Waiting for sign-off = in_transit)`](https://lastscanned.com/status/hualei-waiting-for-sign-off) · [`Yamato 調査中 / 持戻`](https://lastscanned.com/status/yamato-transport-investigation-underway) · [`Ninja Van Processed at warehouse`](https://lastscanned.com/status/ninja-van-parcel-is-being-processed-at-warehouse) · [`Delhivery Received at Origin Center`](https://lastscanned.com/status/delhivery-shipment-received-at-origin-center) · [`Blue Dart Out For Delivery`](https://lastscanned.com/status/bluedart-shipment-out-for-delivery) · [`SFC Dispatched from sorting center`](https://lastscanned.com/status/sfc-sendfromchina-dispatched-from-sorting-center) · [`Winit Outbound from warehouse`](https://lastscanned.com/status/winit-outbound-from-warehouse) · [`Meest International sorting center`](https://lastscanned.com/status/meest-arrived-at-international-sorting-center) · [`Passport Cleared customs`](https://lastscanned.com/status/passport-shipping-cleared-customs) · [`Chit Chats Handed over to partner carrier`](https://lastscanned.com/status/chitchats-handed-over-to-partner-carrier)

Explore all 45 interactive scan status guides at [`https://lastscanned.com/status`](https://lastscanned.com/status).
