Obtain an OAuth 2.0 Bearer token from https://apis.fedex.com/oauth/token
Check availability first: POST to /pickup/v1/pickups/availabilities with pickup address, package readytime, and closeTime to confirm FedEx can service the location on the desired date
POST to /pickup/v1/pickups to create the pickup request; include pickupAddress, packageCount, totalWeight, pickupRequestType (ON_CALL or TAG), and the carrier code (FDXE or FDXG)
Store the confirmation number from the response; use it to cancel the pickup if needed via DELETE /pickup/v1/pickups/{confirmation_number}
FedEx has cutoff times for same-day pickup requests that vary by location; check the 'cutOffTime' field in the availability response before submitting
Known gotchas
Pickup availability is address-specific and changes daily; always check availability before booking rather than assuming prior availability repeats
FedEx Express (FDXE) and FedEx Ground (FDXG) pickups are separate carrier codes with separate cutoff times and minimum package counts
FedEx SOAP APIs are permanently disabled as of June 1 2026; the pickup endpoint must be called via the REST API at apis.fedex.com
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