Creating Orders with a Quote
Use a pre-existing quote to create an order with locked-in pricing and auto-populated vehicle data.
Prerequisites: You need a quote first. See Creating Quotes and Creating Customers. Customer identification follows the same billing rules as Creating Orders — use top-level
provider_id to bill yourself, or customer_id / the inline customer object to bill an external party.
How It Works
When you include a quote_id in your order request:
- Vehicle data (VIN, year, make, model, type) is automatically populated from the quote.
- You must provide a
price_optionto select the pricing tier. - The origin/destination city and state must match the quote's locations.
- You cannot override vehicle fields (except gate passes).
Additional Fields
| Field | Type | Notes |
|---|---|---|
| quote_id | string | Required for this flow. The nano_id from the quote response. |
| price_option | string | Required when quote_id is set. One of: economy, expedited, enclosed, market. |
Constraints
- • The quote must not already be associated with an order.
- • The quote must belong to the same customer (or parent customer).
-
•
If you include a
vehiclesarray, it must have the same count as the quote's vehicles, and only gate pass fields are allowed. - • Origin/destination city and state must match the quote's locations.
- • The quote must not be expired (quotes are valid for 30 days from creation).
Example
This example bills an external party using customer_id. To bill your own account instead, use top-level provider_id. See Choosing the right field.
When creating an order from a quote, you may pass quote_id in the JSON body or as a query parameter on POST /api/orders?quote_id=....
POST /api/orders
Content-Type: application/json
Authorization: Bearer your-api-token
{
"customer_id": "a1b2c3d4e5f6",
"quote_id": "q7k3m9x2n4p1q",
"price_option": "economy",
"first_available_date": "2026-03-01",
"origin": {
"type": "dealer",
"name": "Acme Auto Sales",
"address": "123 Main Street",
"city": "Atlanta",
"state": "GA",
"postal_code": "30301",
"contact_name": "John Doe",
"contact_phone": "+14045551234"
},
"destination": {
"type": "residence",
"name": "Jane Smith",
"address": "456 Oak Avenue",
"city": "Miami",
"state": "FL",
"postal_code": "33101",
"contact_name": "Jane Smith",
"contact_phone": "+13055559876"
}
}
Note: No
vehicles array is needed. Vehicle data is automatically populated from the quote.
Next Steps
- → Attach gate passes to vehicles when using a quote
- → Set up webhooks to track order progress