Rates API

Rates API

The Rates API provides pricing estimates for consignments based on pickup and delivery locations, parcel characteristics, and optional services. This helps customers pre-calculate expected charges before creating consignments.


Standard Rate Lookup

Endpoint:
POST /v1/carriers/{carrierName}/customers/{customerId}/rates

Description:
Retrieves available rates for a consignment being sent from one location to another using standard Weight or Volume pricing models.
Multiple rate results may be returned depending on account configuration and carrier.

Path Parameters

Parameter Type Required Description
carrierName string Freightways carrier (e.g., NowCouriers, NZCouriers)
customerId string Customer ID for the given carrier

Request Body Example

 
{
  "pickupAddress": {
    "lat": -36.7535131,
    "lon": 174.780124,
    "addressValidationSource": "AddressRight",
    "addressValidationId": "A1003127922"
  },
  "deliveryAddress": {
    "lat": -36.912133,
    "lon": 174.808183,
    "addressValidationSource": "AddressRight",
    "addressValidationId": "A1003127922"
  },
  "saturdayDelivery": false,
  "txtNotifications": true,
  "standardItems": [
    { "volume": 0.05, "dangerousGoods": true },
    { "volume": 3, "dangerousGoods": false }
  ] } 

Response Example (200 OK)

 
[
  {
    "carrierName": "NowCouriers",
    "customerId": 123456,
    "serviceStandard": "overnight",
    "totalRateExcludingGst": 5.37,
    "options": [
      { "option": "Saturday Delivery", "rateExcludingGst": 5 },
      { "option": "Txt Notifications", "rateExcludingGst": 0.2 }
    ],
    "totalRateBreakdown": [
      { "type": "Base Rate", "rateExcludingGst": 4.11 },
      { "type": "Variable", "rateExcludingGst": 0.3 },
      { "type": "Residential", "rateExcludingGst": 0.75 },
      { "type": "Return", "chargeExcludingGst": 0.21 }
    ]
  } ] 

Response Notes

Multiple Rates: When a customer has accounts with multiple carriers, this endpoint may return multiple rate options.

Validation: If addresses can’t be fully validated, the system provides estimated rates.

Rate Breakdown: The total is a sum of base rate, optional services, and surcharges.

Error Codes

HTTP Description
400 Bad request (e.g., missing address fields)
401 Authorization missing or invalid
403 Forbidden — invalid permissions
404 Rate not found (e.g., unsupported route)
429 Too many requests — throttled
500 Unexpected error

Estimate Rate Lookup

Notes

Use this endpoint when you need indicative pricing but don’t yet have fully validated addresses.

Returns rates for all accessible carrier accounts for the customer.

Endpoint:
POST /v1/carriers/{carrierName}/customers/{customerId}/estimateRates

Description:
Provides estimated rate calculations, even when address validation is partial or incomplete. Returns pricing across all connected carrier accounts for the given customer.

Example Request

 
{
  "pickupAddress": {
    "street": "32 Botha Road",
    "suburb": "Penrose",
    "city": "Auckland",
    "postCode": "1016"
  },
  "deliveryAddress": {
    "street": "414 Riccarton Road",
    "suburb": "Upper Riccarton",
    "city": "Christchurch",
    "postCode": "8041"
  },
  "saturdayDelivery": false,
  "txtNotifications": true,
  "standardItems": [
    { "volume": 0.05, "dangerousGoods": true }
  ] } 

Example Response (200 OK)

 
[
  {
    "carrierName": "NowCouriers",
    "customerId": 123456,
    "serviceStandard": "overnight",
    "totalRateExcludingGst": 5.37,
    "options": [
      { "option": "Saturday Delivery", "rateExcludingGst": 5 },
      { "option": "Txt Notifications", "rateExcludingGst": 0.2 }
    ],
    "totalRateBreakdown": [
      { "type": "Base Rate", "rateExcludingGst": 4.11 },
      { "type": "Variable", "rateExcludingGst": 0.3 },
      { "type": "Residential", "rateExcludingGst": 0.75 }
    ]
  } ] 

Did this article answer your question?

Can't find the answer to your question?

Suggest an article