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:

  1. Vehicle data (VIN, year, make, model, type) is automatically populated from the quote.
  2. You must provide a price_option to select the pricing tier.
  3. The origin/destination city and state must match the quote's locations.
  4. You cannot override vehicle fields (except gate passes).

Additional Fields

Field Type Notes
quote_idstringRequired for this flow. The nano_id from the quote response.
price_optionstringRequired 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 vehicles array, 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