Retrieve Quotes¶
Quotes
Read Only
List quotes with flexible filtering and pagination options. Filter by carrier, origin/destination country, or use combined search with OR/AND logic.
Pagination
Use page and limit params
Auth
Bearer token required
Use cases
Quote history · Search · Reports
Endpoint overview¶
GET
Authenticated
URL: {{base_url}}/quote
- Requires a valid bearer token in the Authorization header.
- Supports flexible filtering with AND/OR logic.
- Returns paginated results sorted by creation date descending.
Required headers¶
| Header | Value |
|---|---|
Authorization |
Bearer {{token}} |
Query parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
carrier |
string |
No | Filter by carrier code (e.g., AAJ) |
id |
string |
No | Filter by specific quote ID |
sender_country |
string |
No | Filter by origin country name |
receiver_country |
string |
No | Filter by destination country name |
page |
number |
No | Page number (default: 1) |
limit |
number |
No | Results per page (default: 10) |
any |
bool |
No | When true, applies OR match across filters (default: false) |
Search behavior: With
any=false(default), all supplied filters must match. Settingany=truereturns results that satisfy at least one filter.
Sample request¶
GET /quote?carrier=AAJ&sender_country=Nigeria&receiver_country=United%20Kingdom&page=1&limit=10 HTTP/1.1
Host: {{ base_url }}
Authorization: Bearer {{ token }}
Accept: application/json
Response¶
{
"quote": {
"_id": "6884304941c6952ca0dba3b1",
"booking": "6884304941c6952ca0dba3ab",
"billTo": "",
"shipTo": "73 HOLBURN STREET",
"dateRaised": "2025-07-26T01:32:57.703Z",
"weight": 2,
"rate": "SR",
"subTotal": 32010,
"tax": 2400.75,
"vat": 7.5,
"total": 34411,
"raisedBy": "",
"name": "",
"senderCountry": "Nigeria, NG",
"receiverCountry": "United Kingdom, GB",
"tplService": "",
"hasCompleteBooking": true,
"carrier": "AAJ",
"addons": {
"total_addons_price": 0,
"addons": []
},
"insurance": {
"type": "FR",
"fee": 0
},
"extraCharges": {
"fuel_surcharge": {
"value": 0,
"type": "percentage",
"amount": 0
},
"on_shipping_fee": 32010,
"packaging_fee": {
"value": 0,
"type": "price",
"amount": 0
}
},
"items": null,
"packages": {
"packages": [
{
"actualWeight": 2,
"packageDimension": {
"length": 1,
"width": 1,
"height": 1,
"weight": 0,
"price": 0,
"_id": "6884304941c6952ca0dba3ad",
"createdAt": "2025-07-26T01:32:57.335Z",
"updatedAt": "2025-07-26T01:32:57.335Z",
"id": "6884304941c6952ca0dba3ad"
},
"unitMeasurement": "KGS",
"_id": "6884304941c6952ca0dba3ac",
"items": [],
"createdAt": "2025-07-26T01:32:57.335Z",
"updatedAt": "2025-07-26T01:32:57.335Z",
"multiple": 1,
"id": "6884304941c6952ca0dba3ac"
}
],
"itemsValue": 3500,
"packageType": "regular",
"addOns": [],
"items": []
},
"eta": {
"number_of_days": 5,
"date_of_arrival": "2025-07-31T01:32:57.000000+01:00"
},
"fx": [
{
"rate": 1600,
"currency": "USD",
"amount": 21.507
},
{
"rate": 2070,
"currency": "GBP",
"amount": 16.624
},
{
"rate": 1750,
"currency": "EUR",
"amount": 19.663
}
],
"discounts": {
"discounts_total": 0
},
"currency": "NGN",
"shippingFee": 32010,
"expirationDate": "2025-08-05T01:32:57.801Z",
"createdAt": "2025-07-26T01:32:57.802Z",
"updatedAt": "2025-07-26T01:32:57.802Z",
"__v": 0
}
}
Key response fields¶
| Field | Type | Description |
|---|---|---|
quote._id |
string |
Unique quote identifier |
quote.booking |
string |
Associated booking ID (if converted) |
quote.total |
number |
Total amount including taxes and fees |
quote.subTotal |
number |
Base price before taxes |
quote.tax |
number |
Tax amount (VAT) |
quote.vat |
number |
VAT percentage |
quote.shippingFee |
number |
Base shipping fee |
quote.weight |
number |
Total package weight |
quote.rate |
string |
Rate type (SR/CR) |
quote.senderCountry |
string |
Origin country with code |
quote.receiverCountry |
string |
Destination country with code |
quote.carrier |
string |
Carrier code |
quote.hasCompleteBooking |
boolean |
Whether quote has been converted to booking |
quote.eta |
object |
Estimated delivery time |
quote.fx[] |
array |
Foreign exchange conversions |
quote.extraCharges |
object |
Breakdown of additional fees |
quote.insurance |
object |
Insurance type and fee |
quote.expirationDate |
string |
Quote validity expiration |
quote.createdAt |
string |
Quote creation timestamp |
Error responses¶
Unauthorized¶
{
"success": false,
"status": 401,
"message": "Invalid or expired token"
}
Tip: Combine
page,limit, and filter parameters for stable pagination in UI implementations. CheckhasCompleteBookingto identify quotes that have been converted to bookings.