- Update the delivery details before a delivery is created (contact details, addresses, times, and requirements) e.g. E-Commerce Checkout Experience
- Understand whether the order meets the criteria to become a delivery (validation) e.g. Error handling as early as possible
- Batch orders through Nash Platform (not optimized or batched on your end) e.g. Optimizing catering routes
When one or more Orders are dispatched, they become a Job.
Choose an order creation flow
The order endpoints return similar response objects, but they create, validate, quote, and dispatch Orders differently.Recommended checkout flow
For most checkout integrations, start with Create Quote, then update the returned Order after checkout. This separates the eligibility and price check from the final fulfillment details.1
Create the Order and request quotes
Send the details needed to evaluate delivery eligibility and price. Create Quote always starts a new Order; it does not look up an existing Order by
externalId. If order-level validation fails, Nash returns 400 VALIDATION_ERRORS and does not save the new Order. A successful response includes the saved Order, its provider quotes, and the quotes_only tag.2
Finalize the Order after checkout
Call Update Order with the returned Order ID. If the Create Quote request included
externalId, you can use that identifier in the same update path instead. Send the final fulfillment details and the complete tags list without quotes_only. Nash runs full order validation. If the Order is valid, it can auto-dispatch when its dispatch strategy has auto-dispatch enabled.externalId in the Update Order path does not turn it into an upsert. The Order must already exist. Update Order refreshes an existing quote set after the update. Create or Update by External Identifier creates the Order when no match exists and requests fresh quotes on each call while quotes_only remains.
Use a different creation flow when you do not need quotes before saving an Order or need one request that creates or updates by your own identifier.
Validation behavior
Create Order and Create Quote use normal order-creation validation whenquotes_only is absent from the request. Create Quote adds the tag only after it validates the Order and requests quotes. If externalId already belongs to another Order, Create Quote returns 400 VALIDATION_ERRORS and does not save the new attempt. Later updates use quote-specific validation while the tag remains, so Nash can price an Order that has enough information for quoting but is not ready for fulfillment.
The outcomes in the table describe order-level validation, which runs after Nash accepts the request body. Request-shape errors, such as a field with the wrong type, return
422 VALIDATION_ERRORS before the Order is created or updated.
When moving from checkout to dispatch, update the Order with the remaining fulfillment fields and remove quotes_only before relying on normal validation or auto-dispatch.

Order data model

needs_attention: The order requires attention due to some data issues (e.g. invalid address)valid: The order is valid and is ready to be dispatched to a Nash Job & Delivery.dispatched: The order has been dispatched and a job (delivery) created for it. Open the job from the view dispatched job action in the Portal.archived: The order has been archived and is moved to the archived tab in the Nash Portal.
%Y-%m-%dT%H:%M:%S.%f