/v2/external/branches and /v2/external/pickup-locations rather than hard-coding them.
Estimate a price
Pricing is a separate, side-effect-free call. It commits nothing.A
503 here means the routing provider is unavailable. It is a transient condition — retry with backoff. It is never reported as a successful estimate with a guessed price.Create a shipment
POST /v2/external/shipments requires an Idempotency-Key. See Idempotency and ETags for the key’s grammar and replay semantics.
A
201 means the shipment was created. A 200 means this exact request was already processed and you are seeing the original result — see idempotency.
Lifecycle
A shipment moves through these states:List and filter
state and externalReference.
Pagination
Collections are cursor-paginated and bounded.limitdefaults to25and maxes at100. A value outside1..100is rejected with400, never silently clamped.cursoris the opaquepage.nextCursorfrom the previous response.page.hasMoreis exactlynextCursor != null.
Retrieve one
code.