EasyPost
Book shipments and track deliveries with EasyPost straight from your orders, with no re-typing.
37 ways to read, 15 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with EasyPost, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create addressApproval by rule
- Add shipments to batchApproval by rule
- Get reportRead
Example flow
- EasyPost · Get reportDone
- EasyPost · Create addressNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches EasyPost.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to EasyPost
- EasyPost's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a EasyPost test account before you go live.
For developers
Technical detail
EasyPost addresses, parcels, customs, shipments, rate quotes, orders, label purchases, trackers, batches, pickups, scan forms, end shippers, reports and read-only refunds, insurance and claims.
EasyPost API docs- Source actions
- 37
- Destination actions
- 15
- Data types
- 25
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Addresses3
- Create addressDestinationNot retried automaticallyApproval before production
Create an address, optionally verifying deliverability.
- Get addressSource
One address by ID.
- List addressesSource
Saved addresses with verification results, newest first.
Batch shipments1
- Add shipments to batchDestinationNot retried automaticallyApproval before production
Add existing shipments to a batch.
Batches3
- Create batchDestinationNot retried automaticallyApproval before production
Group existing shipments into a batch. Buying the batch is not automated.
- Get batchSource
One batch by ID.
- List batchesSourceIncremental
Shipment batches with state and label URL.
Carrier accounts2
- Get carrier accountSource
One carrier account by ID (production key only).
- List carrier accountsSource
Carrier accounts connected to EasyPost (production key only).
Carrier metadata1
- List carrier metadataSource
Service levels, predefined packages and options per carrier.
Carrier types1
- List carrier typesSource
Carrier account types EasyPost supports, with their readable names.
Claims2
- Get claimSource
One claim by ID.
- List claimsSourceIncremental
Insurance claims with requested and approved amounts (read only).
Customs infos2
- Create customs infoDestinationNot retried automaticallyApproval before production
Create a customs declaration with customs items.
- Get customs infoSource
One customs declaration by ID.
Customs items2
- Create customs itemDestinationNot retried automaticallyApproval before production
Create a customs line item for later customs declarations.
- Get customs itemSource
One customs item by ID.
End shippers4
- Create end shipperDestinationNot retried automaticallyApproval before production
Create a US end shipper (responsible party) for USPS labels.
- Get end shipperSource
One end shipper by ID.
- List end shippersSource
Responsible end shippers used for USPS label purchases.
- Update end shipperDestinationProvider duplicate protectionApproval before production
Replace an end shipper's address (every required field must be sent).
Events2
- Get eventSource
One event by ID.
- List eventsSourceIncremental
Webhook events (tracker, batch, scan form, refund and more), newest first.
Insurances2
- Get insuranceSource
One insurance by ID.
- List insurancesSourceIncremental
Shipment insurance policies, newest first (read only).
Labels1
- Buy shipment labelDestinationNot retried automaticallyApproval before production
Buy a rate for a shipment and generate its label. Charges postage on production keys.
Orders2
- Create orderDestinationNot retried automaticallyApproval before production
Create a multi-parcel order and return combined rates. No postage is charged; buying is not automated.
- Get orderSource
One order by ID.
Parcels2
- Create parcelDestinationNot retried automaticallyApproval before production
Create a parcel (inches and ounces) or a carrier predefined package.
- Get parcelSource
One parcel by ID.
Pickups3
- Create pickupDestinationNot retried automaticallyApproval before production
Request pickup rates for a shipment or batch. The pickup is not scheduled or charged until bought, which is not automated.
- Get pickupSource
One pickup by ID.
- List pickupsSourceIncremental
Carrier pickups with status, window and confirmation.
Rates1
- Quote ratesSource
Rates for addresses and a parcel without creating a shipment. Does not buy postage.
Refunds2
- Get refundSource
One refund by ID.
- List refundsSourceIncremental
Postage refund requests and their status (read only).
Reports3
- Create reportDestinationNot retried automaticallyApproval before production
Request a CSV report for a date range; poll Get report for the download URL.
- Get reportSource
One report by ID.
- List reportsSource
Generated CSV reports of one type, newest first.
Scan forms3
- Create scan formDestinationNot retried automaticallyApproval before production
Create a SCAN form (manifest) for purchased shipments from one origin address.
- Get scan formSource
One scan form by ID.
- List scan formsSourceIncremental
USPS SCAN forms (end-of-day manifests), newest first.
Shipment labels1
- Convert shipment labelSource
Returns a purchased shipment with its label converted to PDF, ZPL or EPL2.
Shipment rates1
- Re-rate shipmentSource
Regenerate rates for an unpurchased shipment. Does not buy postage.
Shipments3
- Create shipmentDestinationNot retried automaticallyApproval before production
Create a shipment and return rates. No postage is charged until labels.create buys a rate.
- Get shipmentSource
One shipment by ID or reference.
- List shipmentsSourceIncremental
Shipments with rates, labels and trackers, newest first.
Trackers3
- Create trackerDestinationNot retried automaticallyApproval before production
Track a package shipped outside EasyPost.
- Get trackerSource
One tracker with its events.
- List trackersSourceIncremental
Trackers with status and events, newest first.
Webhooks2
- Get webhookSource
One webhook by ID.
- List webhooksSource
Webhook endpoints configured on the account (secrets are never returned).
Access and limits
- Authentication
- EasyPost API key (test or production)
- Plans and access
- All EasyPost accounts; postage and tracker fees are billed per use. Carrier account reads require a production key. Production keys buy real postage.
- Test environment
- Test API keys create test-mode shipments, labels and trackers at no charge.
- Rate limits
- List endpoints are limited to 5 requests per second plus a load-based limiter; HTTP 429 when exceeded (back off exponentially).
- Pagination
- page_size (max 100) with before_id set to the last ID while has_more is true.
- Provider events
- Webhooks for tracker.updated, batch.created/updated, scan_form and refund events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- labels.create (shipment buy) is billable and has no idempotency key; Nexra never retries it. Check shipments.get for a selected_rate before retrying manually.
- Excluded by policy: one-call buy (service on shipment or order create), order buy, batch buy, pickup buy and cancel, insurance purchase and refund, refund requests, claim filing, cancellation and messages, tracker deletes, webhook create, update and delete, SmartRate (pricing not documented), shipment forms, child users, billing and API keys.
- labels.create and trackers.create are the only billable operations. Quote rates (POST /beta/rates) only rates a shipment and buys nothing.
- Refunds, insurance and claims are read only; their amounts are reported, never requested or changed.
- Orders, batches and pickups are created unbought; buying them is excluded. Orders strip service and carrier from each shipment so creation can never buy postage.
- Quote rates is an EasyPost beta endpoint and returns rates without IDs; Nexra derives an ID from carrier, service and carrier account.
- End shippers page forwards with after_id; other lists page backwards with before_id.
- Shipments, addresses and parcels are immutable after creation; there are no update operations.
- carrier_accounts operations require a production API key; test keys receive HTTP 403.
- Tracker creation is billed per tracker on production keys; EasyPost returns the existing tracker for the same tracking code and carrier within three months.
- EasyPost documents tracking_codes as an array filter; Nexra sends one code as tracking_codes[] (Rails array encoding), which is not shown explicitly in the docs.
Developer reference
- Create the EasyPost credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose EasyPost, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/easypost and the Connections API.