To insure a shipment not purchased through EasyPost, use POST /v2/insurances with body: to_address, from_address, tracking_code, carrier, amount (declared value in USD), and reference (your internal order ID).
EasyPost returns an Insurance object with id (ins_...), status (new), and provider — retain this object for claim filing.
Track the insurance status via GET /v2/insurances/{insurance_id}; status transitions include new, pending, purchased, unfiled, and filed.
If the shipment is lost or damaged, file a claim by contacting the insurer per the instructions in EasyPost's insurance documentation — the claims process may redirect you to a third-party insurer portal rather than an API endpoint; check current EasyPost docs for the active claims process.
Retrieve all standalone insurances via GET /v2/insurances with optional page_size and before_id pagination parameters.
Known gotchas
The standalone Insurance API insures shipments not purchased via EasyPost; for EasyPost-purchased labels, use the insurance extra on the Shipment object at purchase time instead.
Declared value limits apply — EasyPost's insurance partners set maximum per-shipment coverage limits; check current limits before relying on coverage for high-value items.
Insurance is void if the declared value materially misrepresents the actual value, or if the prohibited goods list (which varies by insurer) includes the item type — review exclusions before purchasing.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp