Fetch Shippo carrier rate quotes for this package
fulfillment:readFetches real-time Shippo carrier rate quotes for a package. Delegates to fetchRatesForPackage in routes/shipping.mjs (THE ONE RULE). Requires a configured Shippo connector for the entity. Call this before POST /packages//buy-label to obtain a rate_object_id. Returns rates sorted by amount ascending (cheapest first). AUDIT-SKIP: read-only rate shop, no DB mutation.
Terminal orders are refused (409 order_not_spendable). Rate-shopping
costs nothing at the carrier, but it mints the rate_object_id that a
label purchase spends, so it is treated as spend-ARMING: if the package’s
order is cancelled, archived, or expired, this returns 409 rather
than handing back a spendable rate. CANCEL-PACKAGE-LIFECYCLE WS-A, 2026-07-27.
Authorizations
API key issued per entity via Settings > Developers > API Keys.
Each key carries scopes (e.g. orders:read, products:write).
Bearer token format: Authorization: Bearer ark_live_ent_
Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.

