Skip to main content

Drayage Quote

Endpoint: POST /v1/drayage/quote

Submit container and location details to receive drayage rates for Import or Export operations. The response includes a quoteNumber and a list of available rates, each with its own rateNumber.

Authentication required All requests to this endpoint require a valid bearer token. See Authentication.


Request Body

These fields are required to submit a complete Drayage quote request.

FieldTypeRequiredDescription
requestingUserstringYesEmail of the user submitting the quote
customerNamestringYesCustomer name associated with the quote
customerBsnintegerYesBranch identifier for your organization. Retrieve from GET /v1/customers
operationTypestringYes"Import" or "Export"
marketobjectYesPort or rail origin location
warehouseobjectYesFinal destination address
containerobjectYesContainer type and shipment details

Field Reference

operationType

ValueDescription
"Import"Container moving inbound from port to warehouse
"Export"Container moving outbound from warehouse to port

market

Retrieve available markets from GET /v1/tools/drayage/markets.

"market": {
"country": "US",
"state": "MD",
"city": "Baltimore",
"postalCode": "21224",
"name": "Baltimore, MD"
}

warehouse

The final delivery or pickup address for the customer.

"warehouse": {
"country": "US",
"state": "MD",
"city": "Baltimore",
"postalCode": "21224"
}

container

FieldTypeDescription
containerTypestringEquipment name from GET /v1/tools/drayage/container-types. Example: "Container", "FlatRack", "ReeferContainer"
containerLengthintegerValid length for the selected equipment type (e.g., 20, 40, 45)
weightnumberTotal container weight
isReeferbooleantrue if the container requires refrigeration
"container": {
"containerType": "Container",
"containerLength": 20,
"weight": 1032,
"isReefer": true
}

Container reference data. Use GET /v1/tools/drayage/container-types to get valid container type names and their available lengths before building the quote request.


Request Example

{
"requestingUser": "example@mail.com",
"customerName": "Example Customer",
"customerBsn": "YOUR_CUSTOMER_BSN",
"operationType": "Import",
"market": {
"country": "US",
"state": "MD",
"city": "Baltimore",
"postalCode": "21224",
"name": "Baltimore, MD"
},
"warehouse": {
"country": "US",
"state": "MD",
"city": "Baltimore",
"postalCode": "21224"
},
"container": {
"containerType": "Container",
"containerLength": 20,
"weight": 1032,
"isReefer": true
}
}

Response

{
"data": {
"quoteNumber": 8917403,
"rates": [
{
"fuel": 0,
"freight": 507.91,
"prenotice": "2-3 days",
"rateNumber": 1,
"expectedTotal": 787.91,
"expectedAccessorialsCosts": 280,
"suggestedRate": 838.71,
"accessorials": [
{
"name": "Reefer",
"cost": 200,
"quantity": 1
},
{
"name": "Chassis",
"cost": 40,
"quantity": 2
}
]
}
],
"notes": [
{
"drayageMarketZipCode": "21224",
"note": "Hazmat and FDA warehouse facilities available"
}
],
"remarks": [
{
"drayageMarketZipCode": "21224",
"accessorialNumber": 545,
"remark": "Driver Detention: $100/Additional Hour. 1 Free Hour for Loading/Unloading/Terminal Transaction"
}
],
"disclaimers": [
{
"drayageMarketZipCode": "21224",
"disclaimer": "Rate per Container"
}
]
},
"errors": null
}

Key Response Fields

FieldDescription
quoteNumberUnique quote ID — save this for booking
rates[].rateNumberRate-specific ID — save this for booking
rates[].expectedTotalBuy rate (freight + accessorials)
rates[].expectedTotalBase buy price
rates[].suggestedRateSuggested sell price
rates[].freightBase freight cost
rates[].prenoticeRequired pre-notification window
notesGeneral market information notes
remarksSpecific accessorial conditions and additional charges
disclaimersImportant conditions for the quoted rate

Review remarks and disclaimers: Always surface remarks and disclaimers to your users before booking. They contain critical conditions like additional potential charges and operational constraints.

Empty carrier quotes If carrierQuotes is empty on a 200 OK response, no carrier matched the lane. Contact PRIMO customer service to review coverage for your Market/Warehouse.


Next Steps