Collect the shipment IDs of all shipments purchased in the current business day that you want to include in the manifest
POST to /v2/scan_forms with a shipments array containing each shipment ID; EasyPost generates a ScanForm PDF containing all shipment barcodes on a single page
Retrieve the scan_form object from the response and use the form_url field to download the PDF for printing
Hand the printed ScanForm to the carrier driver at pickup; the driver scans the single barcode to induct all listed shipments at once
Retrieve existing ScanForms via GET /v2/scan_forms or a specific one via GET /v2/scan_forms/{id} to verify status and re-download the PDF if needed
Known gotchas
Not all carriers support ScanForms; check EasyPost documentation for your specific carrier before relying on this workflow — USPS is the primary supported carrier for this feature
All shipments included in a ScanForm must belong to the same carrier; mixing carriers in a single ScanForm request will return an error
A shipment can only be included in one ScanForm; attempting to add an already-manifested shipment to a new ScanForm will either cause an error or silently omit it
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