/rates

Request

Example Request

The example request below contains all available parameters. It is recommended to provide as much data as possible to take full advantage of Intuitive Shipping’s rating and conditions engine.

POST /rates
{
  "origin": {
    "country": "CA",
    "province": "ON",
    "postal_code": "K2P1L4",
    "city": "Ottawa",
    "address1": "150 Elgin St.",
    "address2": null,
    "type": "commercial",
    "company_name": "Jamie D's Emporium"
  },
  "destination": {
    "country": "CA",
    "province": "ON",
    "postal_code": "K1M1M4",
    "city": "Ottawa",
    "address1": "24 Sussex Dr.",
    "address2": null,
    "type": "residential",
    "company_name": null
  },
  "customer": {
    "name": "John Smith",
    "tags": [],
    "telephone": null,
    "fax": null,
    "email": null,
    "lifetime_order_count": 0,
    "lifetime_order_value": 199.99,
  },
  "delivery": {
    "date": 2022-01-01,
    "time": 12:00,
    "type": "shipping"
  },
  "products": [{
    "title": "Short Sleeve T-Shirt",
    "sku": null,
    "quantity": 1,
    "price": 29.99,
    "length": 24.00,
    "width": 10.00,
    "height": 10.00,
    "weight": 1000.00,
    "length_unit": "cm",
    "weight_unit": "g",
    "vendor": "Jamie D's Emporium",
    "requires_shipping": true,
    "fulfillment_service": "manual",
    "properties": [],
    "tags": [],
    "product_id": 48447225880,
    "variant_id": 258644705304
   }],
  "currency": "USD",
  "locale": "en"
  "source": "checkout"
}

Example Request

In some cases, you may only have a limited data set. The example request below contains only the required parameters for Intuitive Shipping to return rates in most cases.

POST /rates
{
  "origin": {
    "country": "CA",
    "province": "ON",
    "postal_code": "K2P1L4"
  },
  "destination": {
    "country": "CA",
    "province": "ON",
    "postal_code": "K1M1M4"
  },
  "products": [{
    "quantity": 1,
    "product_id": 48447225880,
    "variant_id": 258644705304
  }],
  "currency": "USD"
}

Request Parameters

Parameters marked ! are required.

Origin

The shipment origin where the products will be shipped from.

country !stringISO-2 digit country code.
province !stringISO-2 digit province/state code.
postal_code !string
citystring|null
address1string|null
address2string|null
typestringresidential,commercial,unknown
company_namestring|null

Destination

The shipment destination where the products will be shipped to.

country !stringISO-2 digit country code.
province !stringISO-2 digit province/state code.
postal_code !string
citystring|null
address1string|null
address2string|null
typestringresidential,commercial,unknown
company_namestring|null

Customer

Customer details. Used by our conditions engine.

namestring|nullConcat customer name.
tagsarray
telephonestring|null
faxstring|null
emailstring|null
lifetime_order_countintegerCount of previous orders.
lifetime_order_valuefloatTotal value of previous orders.

Delivery

Delivery details. Used by our conditions engine.

datedate|nullDate format: yyyy-mm-dd
timetime|nullTime format: hh:mm
typestringshipping,delivery,pickup

Products

An array of product details.

titlestring|null
skustring|null
quantity !integer
pricefloat
lengthfloat
widthfloat
heightfloat
weightfloat
length_unitstringmm,cm,m,in
weight_unitstringg,kg,lb,oz
vendorstring|null
requires_shippingboolean
fulfillment_servicestring|null
propertiesarrayArray of key:pair values.
tagsarray
product_id !integerPlatform product guid.
variant_id !integerPlatform product variant guid.

Additional parameters

Additional request details.

currency !stringISO-3 digit currency code.
localestring|nullNot currently supported.
sourcestringcheckout,draft_order

Response

Example response

HTTP/1.1 200 OK
{
  "services": [{
    "title": "Regular Parcel",
    "code": "REGULAR_PARCEL",
    "description": "This is the fastest option by far",
    "carrier": "canada_post",
    "shipping_id": 483,
    "cost": 12.95,
    "currency": "USD",
    "min_delivery_days": 5,
    "max_delivery_days": 7,
    "packages": [{
      "id": 345,
      "title": "Small box",
      "code": "custom",
      "type": "box",
      "length": 24.00,
      "width": 12.00,
      "height": 12.00,
      "weight": 1000,
      "length_unit": "cm",
      "weight_unit": "g",
      "contents": [{
        "title": "Short Sleeve T-Shirt",
        "quantity": 1,
        "product_id": 48447225880,
        "variant_id": 258644705304
      }]
    }]
  }],
    "errors": [{
    "code": "authentication",
    "message": "An error ocurred."
  }]
}

Response Parameters

Services

An array of service details.

titlestring|null
codestring|null
descriptionstring|null
carrierstring|nullInternal carrier guid.
shipping_idintegerInternal shipping method guid.
costfloat
currencystringISO-3 digit currency code.
min_delivery_daysinteger|null
max_delivery_daysinteger|null
packagesarrayA list of packages.

Packages

An array of packages used to calculate the shipping cost.

idintegerInternal package guid.
titlestring|null
codestringcustom
typestringbox,softpack
lengthfloat
widthfloat
heightfloat
weightfloat
length_unitstringmm,cm,m,in
weight_unitstringg,kg,lb,oz
contentsarrayA list of package contents.

Package Contents

An array of products that were packed into this package.

titlestring|null
quantityinteger
product_idintegerPlatform product guid.
variant_idintegerPlatform product variant guid.

Errors

An array of error messages associated with the request.

codestring|nullError code
messagestring|nullError message

Changelog

2025-04-15
Replaced /rating endpoint with /rates.

2023-09-01
Changed origin and destination payload key address_type to type.

2023-01-01
Removed Intuitive-Account-Id from the HTTP request header.

2020-07-21
Updated the HTTP request and response headers.

Updated on April 17, 2025
Was this article helpful?

Related Articles

Need Support?
Can't find the answer you're looking for?
Contact Support