Create and manage EasyPost Carrier Accounts for multiple carriers using the CarrierAccount API
domain: www.easypost.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
POST to /v2/carrier_accounts with the carrier type string (e.g., UPSAccount, FedExAccount) and the required credentials object for that carrier to register the account
Retrieve a list of all connected carrier accounts via GET /v2/carrier_accounts to confirm registration and obtain the carrier_account id for future shipment creation
Update credentials for an existing carrier account (e.g., after a password rotation) by sending a PUT to /v2/carrier_accounts/{id} with the updated credentials fields
When creating a Shipment, pass the carrier_accounts array with the desired carrier_account id to restrict rate shopping to that specific account rather than all connected accounts
Delete a decommissioned carrier account via DELETE /v2/carrier_accounts/{id} to prevent it from appearing in rate results
Known gotchas
Each carrier type has a different required credentials schema; retrieve the schema for a carrier type via GET /v2/carrier_types to see the required and optional credential fields before POSTing
Credentials are stored encrypted and are never returned in GET responses — you cannot retrieve a credential value after saving it, only update or delete the account
Some carriers (e.g., UPS) require OAuth 2.0 MFA during account connection rather than static credential fields; consult the EasyPost documentation for that carrier type for the multi-step auth flow
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?