EasyPost
Updated 11 November 2026
Overview
This article covers the EasyPost page. EasyPost is how ReturnZen buys prepaid return labels, with USPS, UPS, FedEx, DHL and any other carrier attached to your EasyPost account, and how carrier scans reach ReturnZen to move returns along. Every label ships from the shopper to your return destination, and EasyPost bills your EasyPost account for it.
Use the menu on the left to quickly navigate this article.
Before you start
- An EasyPost account with at least one carrier attached. Add carriers in the EasyPost dashboard.
- A default return destination under Shipping > Destinations; see Destinations. Test Connection rates a shipment to it.
The EasyPost page
In the admin, go to Shipping > Shipping Services and click Manage Integration. The EasyPost tile under Tools > Integrations opens the same page.
Note: Packing slip formatting and the rate calculator live on Shipping Services itself. The Generate packing slips switch lives in each return policy under Labels & shipping.
EasyPost API key
The EasyPost page, the EasyPost API key card with the masked saved key, the Test mode chip and the Save API Key and Test Connection buttons
- EasyPost API key: used to create return labels. Paste a test key (EZTK_) or a live key (EZAK_); the prefix sets the mode, shown as a Test mode or Live mode chip. Click Save API Key to store it. When a key is saved the field reads Enter a new key to replace the saved one; leave it blank to keep the saved key.
- Test Connection: rates a fake shipment against the saved key and your default destination and reports whether rates came back. A healthy result reads Rates returned. with the service that would be selected; no label is purchased. While EasyPost is switched off or no key is saved, the test does not run and the result names the cause. In test mode USPS only returns rates when both addresses are valid US addresses. In live mode no rates usually means no carrier account is enabled for the key.
Webhook signing secret
The Webhook signing secret card with the Webhook address, its Copy Address button and the secret field
Carrier scans reach ReturnZen through a webhook you register in EasyPost. They drive the in transit, out for delivery and delivered processing events, and a scan can reopen an expired return. In the policy editor, each of those processing event options carries the line Applies when EasyPost tracks the return: an EasyPost return label, or a tracking number the shopper entered.
- Copy the Webhook address printed on the card: https://api.returnzen.app/api/webhooks/easypost. It is the same for every store. Click Copy Address.
- In EasyPost, open Webhooks & Events, click Add webhook, choose Production (or Test for a test key) and paste the address.
- Copy the webhook's signing secret from EasyPost, paste it into Webhook signing secret and click Save Webhook Secret.
Important: The signing secret is required. Tracking updates without a valid signature are refused, so with no secret saved no scan reaches your returns.
Carrier accounts
- Available carriers: the carriers attached to your EasyPost account, read from EasyPost. Add or remove them in the EasyPost dashboard. With no key saved the card reads Save an API key above to load your carrier accounts.
- Edit Carrier: opens that carrier's page with two cards. Carrier settings holds the Customized carrier service types switch: if toggled on, rate shopping uses only the service types checked below it, so a route none of them covers gets no label; if toggled off, it uses every service type the carrier offers. Default: off. Label customization chooses the values printed in the carrier's custom label fields; some carriers do not print every field, so generate a test label to check. Click Save Changes. See Carrier services and label customization.
Edit Carrier, the Carrier settings card with the Customized carrier service types switch and the service list
Disconnect
- Disconnect EasyPost: at the foot of the page. The confirmation reads This clears your saved API key. Returns will get no shipping label until you save a new key. Click Disconnect EasyPost to confirm.
What stops when EasyPost is off, disconnected or unreadable
Switching EasyPost off on Tools > Integrations keeps the key saved. Disconnecting clears it. A key that is saved but cannot be read shows Credentials cannot be read on the tile and the page; save the key again.
While EasyPost is switched off or has no saved key:
- No label is bought and no placeholder label is made. A shopper on a policy that offers a label gets the self-ship method and your return address instead; see Self-Ship Returns.
- A return you create in the admin is self-ship.
- Create Shipping Label and Regenerate Label on the return page are disabled, with a sentence saying why and a link to the EasyPost page.
- An EU or UK withdrawal set to a prepaid label is switched to shopper pays; see Prepaid Return Labels for International Shoppers.
- The rate calculator reads Rates are unavailable while EasyPost is switched off. or Rates are unavailable until an EasyPost key is saved., and Test Connection does not run.
In those two states, and with a key that cannot be read:
- Carrier tracking is not read, so returns waiting on a scan do not move.
- Instant Exchange charges whose ship-by date has passed are held, with a bell alert that reads Instant Exchange charges are on hold while EasyPost is switched off. Switch EasyPost on to resume them. (or the matching sentence for a missing or unreadable key). They resume on the first night EasyPost is back.
Switching it back on resumes labels and tracking without pasting the key again.
Important: A shopper who submits while EasyPost is off or disconnected gets no label and sends the parcel back at their own cost. Switch EasyPost on, with a key saved, before shoppers submit returns that need a label.
On an account set up by support with a key held on the server, the key reads Set on the server, and disconnecting your own key does not stop label purchase: the switch on Tools > Integrations is what stops the server key being used.
How it works
Shipping Services shows a USPS ship platform account as USPS with its services. When EasyPost returns no rates, the rate calculator there shows the carrier's own message. See Rate calculator.
FAQ
Why is my return label failing, and which address is wrong? The return page's timeline shows the carrier's own reason. When your return destination also failed address verification, the timeline names it as the likely cause: check its street number under Shipping > Destinations first, then the shopper's address on the order. When a label fails the shopper is shown your return address and self-ship instructions instead. See When a label fails.
Why did the app buy a label to the shopper instead of to me? Every label ships from the shopper to your return destination. Reissue an older label with Regenerate Label on the return page.
Please reach out to support@returnzen.app with any additional questions.