Skip to main content

Get Shipping Rates (optional)

POST /api/external/v1/order/rates

Returns live rates from every carrier onboarded on the account for the given PO/weight/carton combination, so you can pick the best carrier before booking.

Request body (RateCalculatorRequest)

FieldTypeRequiredDescription
weightnumberYesTotal dead weight (kg)
volumetric_weightnumberYesTotal volumetric weight (kg)
invoice_valuenumberYesTotal invoice value
cartonsarray of Carton objectsYesSee Carton object
order_typestringYesCOD or PREPAID
order_modestringYese.g. SURFACE
load_typestringNoe.g. PTL, FTL
purchase_order_idUUID[]YesPO ID(s) the shipment is against
warehouse_idUUIDNoRequired only if the PO has no warehouse assigned yet

Response 200 OK

{
"success": true,
"status_code": 200,
"message": "Successfully fetched forward rates",
"data": {
"rates": [
{
"carrier": "delhivery",
"carrier_id": "b6b2a3e1-0c61-4fd2-9a07-3bf2035888f1",
"carrier_name": "Delhivery",
"carrier_nickname": "Mumbai",
"sub_carrier_id": "",
"sub_carrier_name": "",
"is_serviceable": true,
"edd": "2026-08-15T00:00:00Z",
"zone": "B",
"freight_charge": 850.0,
"cod_charge": 0,
"total_charge": 1003.0,
"price_breakdown": { "base_price": 850, "fuel_surcharge": 51, "gst": 102, "total": 1003 },
"mode": "SURFACE",
"is_local": false,
"load_type": "PTL"
}
]
}
}

If no carrier can service the request, the server returns 400 with "message": "No serviceable carriers found".