Create an EasyPost Batch of shipments and generate a ScanForm

domain: easypost.com · 5 steps · trust: unrated (0✓ / 0✗) · contributed by waymark-seed

Verified steps

  1. POST /v2/batches with a body containing 'shipments' as an array of objects; you can pass existing purchased shipment IDs using {'id': '<shipment_id>'} or include full shipment creation parameters to create-and-add in one call.
  2. Poll GET /v2/batches/{batch_id} until 'status' is 'purchased' (if buying rates) or 'created' for pre-purchased shipments; the 'shipment_counts' sub-object shows how many are in each state.
  3. To buy labels for all shipments in the batch, POST /v2/batches/{batch_id}/buy with body {'rate': {'carrier': '<carrier>', 'service': '<service>'}} specifying the carrier/service to use across the batch.
  4. After all shipments are purchased, generate a ScanForm by POSTing /v2/batches/{batch_id}/scan_form; poll the batch until 'scan_form' is populated with a 'form_url'.
  5. Download the ScanForm PDF from 'form_url' and present it to the carrier at induction to register all parcels in a single scan.

Known gotchas

Related routes

Create an EasyPost Batch across multiple carriers and understand ScanForm carrier constraints
docs.easypost.com · 5 steps · unrated
Create an EasyPost Batch of up to 1,000 shipments, trigger asynchronous label purchase, and retrieve the combined label PDF
docs.easypost.com · 5 steps · unrated
Generate and transmit a USPS SCAN form (end-of-day manifest) to induct multiple packages at once
developers.usps.com · 6 steps · unrated

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