Canada Post BYOA Guide

Canada Post BYOA (Bring Your Own Account) enables users to integrate their existing Canada Post credentials into the EasyPost platform. This setup allows access to contract-specific rates and services negotiated directly with Canada Post. The BYOA option supports domestic, U.S., and international shipping, providing full access to Canada Post’s network while maintaining control of existing account relationships and service agreements.


Prerequisites

Account Registration

Sign up for an EasyPost account to obtain a Test and Production API key. See Authentication and Key Management for more information.

Note: Negotiated rates are only available in Production mode.

Please review the Getting Started Guide for more information.

Carrier Setup

Bring Your Own Account (BYOA) to EasyPost

  1. Register or log into the Canada Post website, ensuring a valid payment method is on file under My Profile > Payment section.
  2. Log in to EasyPost and navigate to Account Settings > Carriers.
  3. Select the Add Carrier button at the top of the screen and choose Canada Post.
  4. The page will redirect to the Canada Post website for login and account authentication. All relevant credentials will be automatically saved in the EasyPost system.
  5. Start purchasing labels through the EasyPost shipping API.

BYOA to EasyPost via API

To link an existing Canada Post account, ensure not_platform=true is set and use the developer keys obtained from the Canada Post developer portal.

curl -X POST https://api.easypost.com/v2/carrier_accounts \
  -u "$EASYPOST_API_KEY": \
  -H 'Content-Type: application/json' \
  -d '{
  "carrier_account": {
    "type": "CanadaPostAccount",
    "description": "CanadaPostAccount",
    "credentials": {
      "api_key": "VALUE",
      "contract_id": "VALUE",
      "customer_number": "VALUE",
      "has_credit_card": "VALUE",
      "not_platform": "VALUE"
    },
    "test_credentials": {
      "api_key": "VALUE",
      "contract_id": "VALUE",
      "customer_number": "VALUE",
      "has_credit_card": "VALUE",
      "not_platform": "VALUE"
    }
  }
}'
## REQUIRES CUSTOM WORKFLOW ##

Software Requirements

Download an EasyPost Client Library or utilize the REST API with cURL.

Documentation Review

Examine the EasyPost Objects section to understand the API's structure, which is critical for constructing requests and interpreting responses.


Rates

For existing Canada Post accounts, real-time rates are provided based on the user’s specific agreement with Canada Post. In cases of discrepancies or incorrect rates, users are advised to contact their Canada Post account representative.

Billing

Labels purchased with existing Canada Post credentials are billed directly by Canada Post in CAD.


Service Levels

Canada Post delivers five days per week (Monday-Friday), except during holidays. The service levels through EasyPost include:

Service
Transit Time
Max Dimensions (inches)
Max Weight (ounces)
RegularParcelUp to 3 days for local delivery, up to 6 days for regional delivery and up to 10 days for national delivery
ExpeditedParcelUp to 2 days for local delivery, up to 4 days for regional delivery and up to 8 days for national delivery
XpresspostNext-day and 2-day delivery
PriorityNext-day delivery with signature
ExpeditedParcelUSADelivery in as little as 4 business days for larger parcels
SmallPacketUSAAirDelivery in as little as 5 business days for small and lightweight items
TrackedPacketUSADelivery in as little as 4 business days for small and lightweight items
TrackedPacketUSALVM
XpresspostUSADelivery in 2 and 3 business days
XpresspostInternationalDelivery in as little as 4 business days
InternationalParcelAirDelivery in as little as 6 business days for larger parcels
InternationalParcelSurfaceDelivery in 1 month and up to 3 months
SmallPacketInternationalAirDelivery in as little as 6 business days for small and lightweight items
SmallPacketInternationalSurfaceDelivery in 1 month and up to 3 months for small and lightweight items
TrackedPacketInternationalDelivery in as little as 6 business days
ExpeditedParcelPlusUp to 3 days for local delivery, up to 6 days for regional delivery and up to 10 days for national delivery

Coverage Area

Canada Post supports a variety of service levels from Canadian origins. With Canada Post Default accounts, EasyPost users may ship to:

  • Domestic shipments within Canada (Canada to Canada)
  • Shipments from/to Canada to/from the United States (Canada to US)
  • International shipments from Canada to destinations outside the US (Canada to International)

Predefined Packages

There are no predefined packages for Canada Post.


Generating Shipping Labels

With EasyPost, the process for generating shipping labels for Canada Post is the same as generating them for any other carrier.

Review the Getting Started Guide for help generating a shipping label.

One-Call Buys

One-call buys enable streamlined label purchasing through the EasyPost API by consolidating multiple operations into a single API request. This feature is designed to simplify and accelerate the shipping process by combining the creation of a shipment, retrieval of rates, and purchasing the shipping label into one efficient step.

See Reducing API Response Times for more information.

Supported Options

Label Formats

Canada Post labels are available in PDF, PNG, ZPL, and EPL2 formats.

QR Codes

EasyPost supports three types of QR code forms for domestic shipments through Canada Post:

  • RMA (box-free, label-free) QR code: Used for returns where the recipient does not need to provide packaging or print a label.
  • Returns label QR code: Used for returns where the recipient does not need to print the label.
  • Outbound label QR code: Used for outbound shipments where the sender does not print the label.

Please refer to the Canada Post - QR Codes Help Center article for details.

Voiding and Refunds

Voiding and refunds are supported.


Hazardous Materials (HAZMAT)

Hazardous Materials (or Dangerous Goods) as defined by the Transportation of Dangerous Goods Regulations, are non-mailable matter. Canada Post will not accept packages that contain dangerous goods or that display dangerous goods symbols, except for lithium batteries described in the ABCs of mailing.


Manifests

Retail Customers

Manifesting is not required.

Contract Customers

Manifesting is required using the ScanForm object. Non-compliance results in a reassignment fee per unmanifested shipment.

Notifications and Charges

  • Contract customers receive notifications for attempting to send unmanifested shipments.
  • An option is available to disable notifications by marking shipments as manifested in the API.
  • Despite disabling notifications, Canada Post charges for non-manifested shipments remain applicable.

Pickups

Canada Post BYOA pickup requests can be made via the EasyPost API. Review the pickups documentation for details.

Note: Pickups may incur charges; users should consult their Canada Post account representative for pricing details.


Tracking

EasyPost simplifies package tracking by offering two methods:

  • Tracking with an existing number and carrier.
  • Using a Tracker included with an EasyPost-purchased shipping label.

The service integrates webhooks for timely shipment updates. For detailed information on tracking methods, visit the Tracking Guide.


Additional Resources

Carrier Metadata

The Carrier Metadata endpoint can programmatically return information about service levels, predefined packages, supported features, and shipment options.

Use this information to quickly integrate and make educated decisions about the mix of carriers for shipping needs. Additionally, the Carrier Metadata endpoint is available to retrieve comprehensive information about all carriers on the EasyPost platform, enhancing decision-making for carrier services.

Support and Troubleshooting

In addition to the guidance provided in our Carrier Guides, EasyPost offers support to assist with FAQs, troubleshooting issues, and inquiries related to the EasyPost platform.

Please visit the Help Center for more information.


Talk to a Shipping Expert

For questions about getting started with the EasyPost API please talk to a Shipping Expert or

contact our Support team.