Authenticate with the FedEx API to obtain an access token.
Determine package count: if 40 or fewer pieces, use synchronous Open Ship creation; if more than 40 and up to 300 pieces, use asynchronous mode.
For asynchronous mode, POST your Open Ship request with the async flag enabled; the response returns a jobId rather than completed shipment data.
Poll the asynchronous job status endpoint with the jobId until the status indicates completion or failure.
Once complete, retrieve the consolidated shipment results including all tracking numbers and labels.
Confirm the shipment to finalize it before tendering to FedEx.
Known gotchas
Synchronous mode supports a maximum of 40 packages per shipment; exceeding this requires asynchronous mode with jobId polling — submitting more than 40 pieces synchronously will result in an error.
Asynchronous mode supports up to 300 packages per Open Ship; requests beyond this limit are not supported in a single shipment.
Label retrieval in asynchronous mode is a separate step after job completion; do not assume labels are embedded in the initial response.
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