How to configure EasyPost V2 carrier connections (EASYPOSTV2) in techSHIP [Guide]
Last updated: November 2, 2026
EasyPost V2 provides separate carrier connections. Select the applicable split below; the shared parent is not a public multi-carrier connection.
This guide explains how to add and configure this carrier connection, review its available carrier-specific settings, and understand the shipment requirements and operational constraints that apply.
Carrier Requirements and Specifications
This section summarizes onboarding requirements and lists confirmed carrier-specific constraints.
To review all supported carriers and their specific requirements, see: 📄 techSHIP supported Carriers - Master List [Guides List].
Onboarding Requirements
The EasyPost V2 integrations support:
Rate Shopping and label purchase restricted to the selected carrier and configured carrier accounts.
Delivery estimates, when included in the rate response.
Address-validation requests and up to three label references.
International customs data and product identifiers.
Return, signature, insurance, collection, and manifest operations where supported by the specific carrier and service.
Information to be Provided
DATA ELEMENT | SOURCE (HOW TO OBTAIN) |
|---|---|
Registration details | Prepare the customer and sender details required by the Register workflow. Registration supplies the EasyPost customer and API credentials. |
Carrier credentials or provisioned account | Obtain the applicable credentials listed below, or arrange the carrier account through EasyPost. |
Carrier account IDs (comma separated) | Use the applicable EasyPost carrier account identifiers to restrict rating and label purchases. |
Shipment data | Prepare accurate addresses, positive package weights, complete dimensions when supplied, and customs items for international shipments. |
Specifications and Constraints
Carrier Connections
CARRIER | PLUGIN CODE | CONNECTION REQUIREMENTS |
|---|---|---|
Amazon Shipping |
| Amazon Account Type; use a shipping account. Account country comes from the sender address. Complete the authorization through EasyPost. |
OSM Worldwide V2 |
| OSMWorldwideV2 API Key, OSMWorldwideV2 Rating Key, OSMWorldwideV2 Mailer ID, OSMWorldwideV2 Client ID. |
Maersk |
| Account Number and Account Key. Use the account appropriate for the shipping origin. |
DHL eCommerce |
| DHL eCommerce client ID, DHL eCommerce client secret, DHL eCommerce pickup ID, DHL eCommerce distribution center. |
DHL Express |
| DHL Account Number; Site ID (Optional) and Password (Optional) when applicable. Account country comes from the sender address. |
Canada Post |
| CanadaPost API Key, CanadaPost Customer Number, and CanadaPost Contract ID (contract customers only). |
Better Trucks |
| Better Trucks API key. |
FedEx |
| An EasyPost FedEx Wallet account and its carrier account ID. This split selects the |
UPS DAP |
| The EasyPost-provisioned account and its carrier account ID. No carrier credential fields are collected by this split. |
SmartKargo |
| SmartKargo account number. |
SpeedX |
| SpeedX API Key and SpeedX Pickup Account Number for the origin hub. |
Veho |
| Veho Production API Key. |
Operational Details
Each split accepts rates and purchases only from its own carrier. Configured carrier account IDs further restrict the eligible accounts. Leaving that field empty permits eligible accounts for the same carrier; it does not permit fallback to another carrier.
The service list does not guarantee account or route eligibility. Maersk, Better Trucks, and UPS DAP discover services from returned rates.
OSM Worldwide V2, Maersk, DHL Express, Better Trucks, and SmartKargo disable manifest support. Other splits use the shared scan-form workflow where the carrier accepts it.
DHL eCommerce does not support separate return shipments in this integration. For other splits, return availability remains carrier- and service-dependent.
Void submits a refund request to EasyPost. Carrier acceptance and refund eligibility still apply; it is not a guarantee of completed reimbursement or cancellation. OSM Worldwide V2 does not support carrier voiding.
International items require a positive quantity and unit price, description, and country of origin. For consumer imports into the EU processed from November 1, 2026, each item also requires SKU and a manufacturer product identifier. Supply the actual UPC when available. Product identifiers are trimmed and limited to 64 characters.
Configuring a Baseline Account
A Baseline Account serves as the fundamental connection point between techSHIP and the carrier's system. It acts as a template that holds the credentials and fundamental properties required to process shipments.
The techSHIP AI Assistant is available from the Carrier page for supported Carrier configuration tasks. For detailed conceptual information and advanced configuration, refer to 📄 techSHIP AI Assistant: Overview & Availability [Information].
Adding a Carrier
Before adding an account, you must ensure the Carrier entity is available for your location.
Click My Carriers from the left menu under the Carriers category.
Click Add Carrier.

Select the desired Carrier.
You may encounter additional messages depending on the carrier status or your plan:
Subscription Required (⭐): If the carrier has a star icon, you will see a message stating "To use this carrier, a subscription upgrade is required." Press Contact to Upgrade to proceed.

Carrier Suspended: If the carrier has not been used for an extended period, you will see a message stating “This carrier is currently on hold...” Click Request Assistance to reactivate it.

Setup Fee Waived: If a carrier from the same carrier group is already installed in your location, you can add this carrier without incurring additional fees.

If needed, update the carrier Name.
Click Add Carrier.

If the purchase confirmation appears, complete the following steps:
Review the purchase notice and any applicable charge information.
Optionally enter a PO Number.
Select I am authorized to complete this purchase on behalf of my organization.
Click Purchase to confirm the Carrier addition.

Once the Carrier is added, you will be automatically redirected to the Carrier page to continue setting it up.
Enter the Code of the Carrier as it appears in your host system.
The Code of the Carrier must match exactly the value defined in the host system. Any discrepancy (including casing or extra spaces) may prevent the carrier from working correctly.
Click Save.

If your facility utilizes the centralized Pickup Schedule, we highly recommend adding this new carrier to your calendar now. While not required to process labels, this ensures accurate induction metrics for your Insights dashboards. To learn more, see 📄 Understanding the Centralized Pickup Schedule & Expected Induction Logic [Information].
Adding a Baseline Account
From the Carrier page, click Add Account to create a new Baseline Account.

You will be redirected to the Baseline Account page to complete the setup.
Entering incorrect values will prevent the system from generating shipping labels.
General Tab
In the General tab, define the administrative properties:

Name: Enter a descriptive name for the account.
Enter a descriptive name based on unique properties. E.g.:
Carrier Name - Account Number (CarrierX - 123456789)
Carrier Name - Consolidator Name (CarrierY - MyConsolidator)
Carrier Name
Usage: Select the most suitable option:
Test: Used for sandbox or onboarding purposes.
Production: Used for live shipping.
Keep the Status field set to its default Active value. An account must be Active to remain fully editable. For detailed conceptual information on account statuses, refer to 📄 How to Inactivate and Activate a Carrier Baseline Account [Step-by-Step Guide].
Carrier Tab
Create and Save the Baseline Account for the selected split.
Use Register to complete the EasyPost customer setup.
Complete the carrier credential fields that appear after registration, when applicable.
Save the account and review any connection error.
Verify Carrier account IDs (comma separated) against the intended carrier account. The connected account ID is populated by the save workflow where supported.
Complete the sender address, Phone, and Email.
Use Skip EasyPost manifest on finalize only when the workflow should omit the EasyPost manifest request.
Labels Tab
The shared connection supports PDF, PNG, and ZPL requests. The selected carrier and service must provide the requested format. Labels are downloaded after purchase using the returned label URL.
Finalizing the Setup
Once you have entered the required information, click Save.

After you save the Baseline Account, check whether the Registration tab or a registration status badge is available.

If neither is available, the Carrier does not use this Registration workflow in techSHIP. If registration is still pending, open the Registration tab and press Registration, then complete 📄 How to Register a Carrier Baseline Account [Step-by-Step Guide] before creating shipments.
From the Carrier page, you can now see the Baseline Account listed with the administrative status Active. The Active status is separate from the account's registration status.

The Baseline Account configuration is now saved. You can continue with Configuring a Client Account below to assign the Baseline Account to a specific Client.
Configuring a Client Account
Adding an Account
Before adding a Client Account, ensure that the Client has been created. For instructions creating a Client, see: 📄 10 - How to create a Client profile [Step-by-Step guide].
Click Clients from the left menu under the Clients section.
Click the Edit icon for the desired Client.

Click Add Accounts.

Optionally, use the Search box to search by Baseline Account Name or Carrier.
Select the Baseline Accounts that will serve as the foundation for your new Client Accounts.
Click Add Accounts.

A toast notification will confirm the accounts were successfully assigned. Click the Refresh icon if recently added accounts are not displayed.

Click Edit on each newly created account.

Configure the available options in each tab (except Carrier).

For complete instructions on configuring this settings, see 📄 How to configure the Billing Account General Options tab [Step-by-Step guide].
Carrier Tab
Configure:
Service code and Package type: Select values applicable to the carrier.
Override WMS service code: Enable to replace the service from the Integrated system.
Default currency, Default contents description, and Default reason for export: Set the normal shipment defaults.
Address validation: Choose Strict or Disabled.
Allow partial rate success: Enable only when usable rate results should be retained despite other rate errors.
Electronically certify customs information: Enable when the sender can certify the customs data.
Default shipper type and Default receiver type: Set the actual parties.
Incoterm and Duty Payment Account: Configure applicable international duty arrangements. DDP requires a duty-payment account before label purchase.
Configure sender and return-address overrides when needed.
For DHL eCommerce, populate Merchant Id when required by the account.
Specifying Rate Shopping Service Codes
Use the exact service returned for the split. Bare service codes resolve to that split's carrier. A qualified Carrier|Service value must identify the same carrier.
For configuration guidance, see Include or exclude Service Codes when Rate Shopping [Step-by-Step Guide].
Label References
Configure Reference 1, Reference 2, and Reference 3 in the Client Account's General tab, under Labels. These map to the three custom-print values sent to EasyPost. Actual printing depends on the carrier's label layout. Reference 4 is not sent by this integration.
For guidance, see Using order References in your labels [Step-by-Step guide].
Finalizing the Setup
Once you have entered the required information, click Save.

With the account configured and requirements verified, you can now proceed to process orders as described below.
Configuring an Order
The steps described in this section are not required for carrier setup, and they are offered as an optional review if further order-level configuration is required.
Follow the UI Navigation steps in 📄 05 - How to edit an order’s information - [Step-by-Step guide], using the carrier-specific values provided in this guide.
In the order's carrier-specific settings, review Service code, Ship date, Residential delivery, and Currency. Use Skip strict address validation only when the order should bypass that check.
Set Return shipment, signature options, EasyPost insurance, Declared value, Collect on delivery amount, Collect on delivery method, and Dry ice only when supported by the chosen service. Dry-ice shipments require a positive dry-ice weight.
For international shipments, complete Reason for export, Contents description, the applicable tax identifiers, and Receiver type.
An order Incoterm override also selects the order's Duty Payment Account. The client duty account is not a fallback for that override. Domestic and applicable United States territory or military-address movements omit duty terms.
Click Save to apply the order changes, then continue with the standard shipping workflow.
Troubleshooting
No API key: Complete Register on the Baseline Account.
Credential fields are missing: Complete registration, then reopen the account.
No eligible rate or service unavailable: Check the split, carrier account IDs, service, route, and account eligibility. Another carrier is not used as a fallback.
International label rejected: Check customs items, product identifiers, Reason for export, and the duty-payment account required by DDP.
Insurance value error: Supply a positive declared value for every package when package-level declared values are used.
Label purchase succeeded but download failed: Retrieve the existing shipment's label before creating another purchase.
Some packages processed: Review the successful purchases before retrying the order.
Manifest still processing: Retrieve the existing scan form after processing completes; do not assume it failed merely because the PDF is not yet available.
Refund rejected or not applicable: Review the carrier's refund conditions through EasyPost.