Code Samples for Non-Contract Shipping:  REST  |  SOAP

Non-Contract Shipping

For Canada Post general business or VentureOne™ customers

i Use Non-Contract Shipping if you are a Solutions for Small Business™ customer. If you are a commercial customer with a parcel agreement, to ensure you receive your discounted rates, use our Contract Shipping Services.


Read Getting Started to find out how to sign up, get your API keys and more.


For essential information common to all our web services, read the Fundamentals of Canada Post Web Services:  REST  |  SOAP

Service Summary

For Solutions for Small Business customers, use non-contract shipping services to create, manage and process shipments—including labeling and inducting parcels for delivery. No manifests are required.

Non-Contract Shipping workflow and key services are shown below.

Non-Contract Shipping Workflow

i Conduct your testing in the development environment. You will be billed for any shipments you submit through a
Create Non-Contract Shipment call in the production environment.

Non-Contract Shipping is provided through the following calls.

  1. Create Non-Contract Shipment
    REST   |    SOAP
    Used to generate and pay for a shipping label, including validation and payment authorization.
  2. Get Artifact
    REST   |    SOAP
    Used to retrieve a pdf of the shipping label created by a prior Create Non-Contract Shipment call.
  3. Get Non-Contract Shipment Receipt
    REST   |    SOAP
    Used to retrieve XML details regarding the shipment paid for in the Create Non-Contract Shipment call.
  4. Get Non-Contract Shipment Details
    REST   |    SOAP
    Used to retrieve XML details about the shipping label, including system-generated values such as the tracking number and final shipping point.
  5. Get Non-Contract Shipments
    REST   |    SOAP
    This call invokes a search for previously created shipments. It is used to recover from communication failures or hardcopy print failures.
  6. Get Non-Contract Shipment
    REST   |    SOAP
    Used to retrieve the label and receipt information for a previously created shipment. Typically used after a
    Get Non-Contract Shipments call.
  7. Request Non-Contract Shipment Refund
    REST   |    SOAP
    Used to request a refund for a shipment /label that you created in error. You can only request a refund for a shipment that has not been sent and has no scan events associated with the label.