API Documentation
Order
- Background
- Order Address Validation (Geocoding)
- POSTCreate Order
- POSTCreate Orders
- POSTCreate or update order by external identifier
- PATCHUpdate order
- GETGet order
- POSTCreate Quote
- GETGet Order Documents
- POSTSelect Quote
- POSTRefresh order quotes
- POSTAutodispatch Order
- POSTAdd Custom Event to Order
- DELArchive order
- PATCHUnarchive order
- Bulk Order Actions
- Delivery Windows & Capacity
Dispatch Strategies
Notifications
Store Locations & Zones
- POSTCreate store location
- PATCHUpdate Store Location
- GETGet Store Location
- GETGet Store Locations
- GETGet store location by external identifier
- DELDelete store location
- GETGet store locations that cover specified location (latitude & longitude, city_zipcode)
- POSTCreate a zone
- PATCHUpdate a zone
- DELDelete a zone
- GETGet zone
- GETGet zones
- GETGet zone by external identifier
- GETGet zones that cover specified location (latitude & longitude, city_zipcode)
Jobs
- Background
- Package Requirements
- POSTCreate Job
- POSTCreate or Update Job by External Identifier
- PATCHUpdate Job
- GETGet Job
- GETGet Job by External Identifier
- POSTSelect Quote
- POSTReassign a Task
- POSTRefresh Quotes
- POSTAutodispatch Job
- POSTAutodispatch Job by External Identifier
- POSTCancel Job
- POSTCancel Job by External Identifier
- POSTCreate Delivery Incident
- GETGet Refund Requests
- GETGet Refund Request
Batch Jobs
Providers
Routes
Templates
Miscellaneous
Update Batch Job
This endpoint allows you to update some fields in the Nash job. Updating a job should always work before a quote is selected, but if a quote has been selected, Nash will return an error if the fleet rejects the update of the order.
curl --request PATCH \
--url https://api.sandbox.usenash.com/v1/jobs/{id}/{jobConfigurationId} \
--header 'Content-Type: application/json' \
--data '{
"pickupAddress": "<string>",
"pickupAddressComponents": {
"number": "1600",
"secondaryNumber": null,
"street": "Pennsylvania Avenue NW",
"county": "Washington",
"city": "Washington",
"state": "DC",
"postalCode": "20500",
"country": "US",
"latitude": 38.8948949,
"longitude": -77.0371581
},
"pickupPhoneNumber": "<string>",
"pickupBusinessName": "<string>",
"pickupFirstName": "<string>",
"pickupLastName": "<string>",
"pickupEmail": "<string>",
"pickupInstructions": "<string>",
"pickupStoreLocationId": "<string>",
"pickupBarcodes": [
"<string>"
],
"dropoffAddress": "<string>",
"dropoffAddressComponents": {
"number": "1600",
"secondaryNumber": null,
"street": "Pennsylvania Avenue NW",
"county": "Washington",
"city": "Washington",
"state": "DC",
"postalCode": "20500",
"country": "US",
"latitude": 38.8948949,
"longitude": -77.0371581
},
"dropoffPhoneNumber": "<string>",
"dropoffBusinessName": "<string>",
"dropoffFirstName": "<string>",
"dropoffLastName": "<string>",
"dropoffEmail": "<string>",
"dropoffStoreLocationId": "<string>",
"dropoffInstructions": "<string>",
"dropoffBarcodes": [
"<string>"
],
"packageDeliveryMode": "<string>",
"packagePickupStartTime": "<string>",
"packagePickupEndTime": "<string>",
"packageDropoffStartTime": "<string>",
"packageDropoffEndTime": "<string>",
"packageDescription": "<string>",
"packageRequirements": [
"photo_proof_of_delivery",
"age_verification_on_delivery"
],
"packageMinimumVehicleSize": "car",
"packageValue": 123,
"packageTax": 123,
"tipAmount": 123,
"currency": "<string>",
"packageItems": [
{}
],
"referenceId": "<string>",
"itemsCount": 123,
"weight": 123,
"externalIdentifier": "<string>",
"jobMetadata": {}
}'
{
"id": "job_01234567890",
"createdAt": "2023-08-29T19:17:46.264523",
"portalUrl": "https://usenash.com/portal/job_abc123",
"externalIdentifier": "mini-mart-order-99",
"jobMetadata": {
"key": "value"
},
"isActive": true,
"isBatch": false,
"batch": {
"id": "<string>",
"type": "<string>",
"objectSequence": [
"<string>"
],
"stopTypes": [
"PICKUP"
],
"providerId": "<string>",
"providerIsInternal": true,
"winnerQuote": {},
"quotes": [
{
"id": "qot_01234567890",
"type": "<string>",
"providerId": "uber_standard_mini_mart",
"providerName": "Nash",
"providerLogo": "https://nash.com/logo.png",
"providerIsInternal": true,
"createdTime": "2021-01-01T00:00:00Z",
"expireTime": "2021-01-01T00:00:00Z",
"priceCents": 1000,
"taxAmountCents": 100,
"tollFeeCents": 100,
"nashFeeCents": 100,
"insuranceFeeCents": 100,
"currency": "USD",
"pickupWindow": "2021-01-01T00:00:00Z",
"dropoffEta": "2021-01-01T00:00:00Z",
"tags": [
"tag1",
"tag2"
],
"costSplitCustomerCents": 100,
"costSplitBusinessCents": 100,
"totalPriceBreakdown": {
"subtotal": 1000,
"tax": 100,
"total": 1100
},
"totalPriceCents": 1000,
"price": 1000,
"isSuccessful": true,
"errorMessage": "Error message"
}
],
"failedQuotes": [
{}
]
},
"route": {
"id": "rte_JphRWDiEosGpXuxwgaYfY3",
"type": "SINGLE_PICKUP_MULTIPLE_DROPOFFS",
"stops": [
{
"stopType": "PICKUP",
"objectIds": [
"ord_Qr5bVt8WiByGh66z2g7xEu",
"ord_WJFuooSiRvFCaceGZjpbqs"
],
"arrivalTime": "2025-04-25T03:27:00",
"departTime": "2025-04-25T03:30:00",
"serviceTime": 360,
"distanceFromPrevious": 3376,
"durationFromPrevious": 420,
"location": {
"lat": 45.558214,
"lng": -122.587074
}
}
]
},
"jobConfigurations": [
{
"id": "cfg_01234567890",
"package": {
"id": "pkg_01234567890",
"description": "Package description",
"requirements": [
"photo_proof_of_delivery",
"age_verification_on_delivery"
],
"tags": [
"Alcohol"
],
"packageDeliveryMode": "now",
"pickupStartTime": "2021-01-01T00:00:00Z",
"pickupEndTime": "2021-01-01T00:00:00Z",
"pickupBarcodes": [
"<string>"
],
"dropoffStartTime": "2021-01-01T00:00:00Z",
"dropoffEndTime": "2021-01-01T00:00:00Z",
"dropoffBarcodes": [
"<string>"
],
"valueCents": 123,
"taxCents": 100,
"serviceFeeCents": 100,
"itemsCount": 100,
"externalIdentifier": "mini-mart-order-99",
"minimumVehicleSize": "car",
"pickupLocation": {
"id": "loc_01234567890",
"address": "1600 Amphitheatre Parkway",
"formattedAddress": "1600 Amphitheatre Parkway",
"addressNumber": "1600",
"addressFormattedStreet": "Amphitheatre Parkway",
"addressCity": "Mountain View",
"addressCounty": "Santa Clara",
"addressState": "CA",
"addressZip": "94043",
"addressCountry": "US",
"timezoneId": "America/Los_Angeles",
"timezoneName": "Pacific Time",
"instructions": "Turn left on Main St",
"businessName": "Nash",
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "+15555555555",
"email": "john.doe@example.com"
},
"pickupStoreLocationId": "store_01234567890",
"dropoffLocation": {
"id": "loc_01234567890",
"address": "1600 Amphitheatre Parkway",
"formattedAddress": "1600 Amphitheatre Parkway",
"addressNumber": "1600",
"addressFormattedStreet": "Amphitheatre Parkway",
"addressCity": "Mountain View",
"addressCounty": "Santa Clara",
"addressState": "CA",
"addressZip": "94043",
"addressCountry": "US",
"timezoneId": "America/Los_Angeles",
"timezoneName": "Pacific Time",
"instructions": "Turn left on Main St",
"businessName": "Nash",
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "+15555555555",
"email": "john.doe@example.com"
},
"dropoffStoreLocationId": "store_01234567890",
"drivingMetrics": {
"distance": 100,
"duration": 100
},
"value": 100,
"tax": 100,
"serviceFee": 100,
"tipAmountCents": 123,
"weight": 100,
"dimensions": {
"height": 100,
"length": 100,
"width": 100
},
"items": [
{
"count": 1,
"description": "Item 1",
"valueCents": 100
}
],
"referenceId": "mini-mart-order-99",
"packageMetadata": {
"key": "value"
}
},
"tasks": [
{
"id": "tsk_01234567890",
"createdAt": "2023-08-29T19:17:46.264523",
"status": "running",
"pickupStartTime": "2023-08-29T19:17:46.264523",
"pickupEndTime": "2023-08-29T19:17:46.264523",
"dropoffStartTime": "2023-08-29T19:17:46.264523",
"dropoffEndTime": "2023-08-29T19:17:46.264523",
"providerId": "prv_01234567890",
"providerIsInternal": true,
"tipAmountCents": 100,
"winnerQuote": {
"id": "qot_01234567890",
"price_cents": 100
},
"quotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"failedQuotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"delivery": {
"id": "dlv_01234567890",
"type": "<string>",
"status": "dropoff_complete",
"statusHistory": [
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
],
"isActive": true,
"pickupEta": "<string>",
"dropoffEta": "<string>",
"dropoffDeadline": "<string>",
"priceCents": 123,
"currency": "<string>",
"documents": [
{
"createdAt": "<string>",
"id": "<string>",
"type": "<string>",
"url": "<string>",
"contentType": "<string>",
"documentMetadata": {}
}
],
"nashFeeCents": 123,
"courierName": "<string>",
"courierPhoneNumber": "<string>",
"courierPickupPhoneNumber": "<string>",
"courierDropoffPhoneNumber": "<string>",
"courierLocation": {},
"courierVehicle": {},
"courierProfileImage": "<string>",
"proofOfDelivery": [
{}
],
"providerDeliveryId": "<string>",
"providerBatchId": "<string>",
"price": 123,
"taxAmountCents": 123,
"tollFeeCents": 123,
"waitFeeCents": 123,
"waitTimeMinutes": 123,
"cancellationFeeCents": 123,
"returnFeeCents": 123,
"otherProviderFees": {},
"insuranceFeeCents": 123,
"totalPriceBreakdown": {},
"totalPriceCents": 123
},
"tipAmountUsd": 100,
"failureReason": "Task failed",
"taskNotes": [
{
"created_at": "2023-08-29T19:17:46.264523",
"id": "not_01234567890",
"note": "Task note",
"user": {
"email": "john.doe@example.com"
}
}
]
}
],
"advancedTask": {
"id": "tsk_01234567890",
"createdAt": "2023-08-29T19:17:46.264523",
"status": "running",
"pickupStartTime": "2023-08-29T19:17:46.264523",
"pickupEndTime": "2023-08-29T19:17:46.264523",
"dropoffStartTime": "2023-08-29T19:17:46.264523",
"dropoffEndTime": "2023-08-29T19:17:46.264523",
"providerId": "prv_01234567890",
"providerIsInternal": true,
"tipAmountCents": 100,
"winnerQuote": {
"id": "qot_01234567890",
"price_cents": 100
},
"quotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"failedQuotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"delivery": {
"id": "dlv_01234567890",
"type": "<string>",
"status": "dropoff_complete",
"statusHistory": [
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
],
"isActive": true,
"pickupEta": "<string>",
"dropoffEta": "<string>",
"dropoffDeadline": "<string>",
"priceCents": 123,
"currency": "<string>",
"documents": [
{
"createdAt": "<string>",
"id": "<string>",
"type": "<string>",
"url": "<string>",
"contentType": "<string>",
"documentMetadata": {}
}
],
"nashFeeCents": 123,
"courierName": "<string>",
"courierPhoneNumber": "<string>",
"courierPickupPhoneNumber": "<string>",
"courierDropoffPhoneNumber": "<string>",
"courierLocation": {},
"courierVehicle": {},
"courierProfileImage": "<string>",
"proofOfDelivery": [
{}
],
"providerDeliveryId": "<string>",
"providerBatchId": "<string>",
"price": 123,
"taxAmountCents": 123,
"tollFeeCents": 123,
"waitFeeCents": 123,
"waitTimeMinutes": 123,
"cancellationFeeCents": 123,
"returnFeeCents": 123,
"otherProviderFees": {},
"insuranceFeeCents": 123,
"totalPriceBreakdown": {},
"totalPriceCents": 123
},
"tipAmountUsd": 100,
"failureReason": "Task failed",
"taskNotes": [
{
"created_at": "2023-08-29T19:17:46.264523",
"id": "not_01234567890",
"note": "Task note",
"user": {
"email": "john.doe@example.com"
}
}
]
},
"delivery": {
"id": "dlv_01234567890",
"type": "<string>",
"status": "dropoff_complete",
"statusHistory": [
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
],
"isActive": true,
"pickupEta": "<string>",
"dropoffEta": "<string>",
"dropoffDeadline": "<string>",
"priceCents": 123,
"currency": "<string>",
"documents": [
{
"createdAt": "<string>",
"id": "<string>",
"type": "<string>",
"url": "<string>",
"contentType": "<string>",
"documentMetadata": {}
}
],
"nashFeeCents": 123,
"courierName": "<string>",
"courierPhoneNumber": "<string>",
"courierPickupPhoneNumber": "<string>",
"courierDropoffPhoneNumber": "<string>",
"courierLocation": {},
"courierVehicle": {},
"courierProfileImage": "<string>",
"proofOfDelivery": [
{}
],
"providerDeliveryId": "<string>",
"providerBatchId": "<string>",
"price": 123,
"taxAmountCents": 123,
"tollFeeCents": 123,
"waitFeeCents": 123,
"waitTimeMinutes": 123,
"cancellationFeeCents": 123,
"returnFeeCents": 123,
"otherProviderFees": {},
"insuranceFeeCents": 123,
"totalPriceBreakdown": {},
"totalPriceCents": 123
},
"publicTrackingUrl": "https://usenash.com/tracking/job_abc123"
}
],
"optionsGroup": {
"id": "opn_WyMhHj",
"label": "New York City Strategy",
"allowedProviders": [
"prv_01234567890",
"prv_01234567891"
],
"enableAutoDispatch": true,
"providerSelectionStrategy": "cheapest",
"reassignOnFailure": true,
"enableMaxDeliveryFee": true,
"maxDeliveryFeeCents": 10000,
"costSplitMaxFixedPriceCents": 10000,
"costSplitMaxPercentage": 0.1,
"costSplitStrategy": "price",
"smartReassignment": true
},
"shortReferenceCode": "<string>"
}
Pre Dispatch Updates
Updating a job should always work before a quote is selected. Some updates may result in pricing changes
Please note that you are only able to update the package delivery times and the pickup or dropoff addresses before an order has been dispatched to a fleet. If any task in a job is dispatched and a delivery time or address are attempted to be updated, then an error will be thrown by the endpoint.
If you update any of the following fields, then the quotes returned by the job will be refreshed and the endpoint will return a new set of quotes. Moreover, any existing quotes (and quote IDs) will be invalid for dispatch. The fields that will force a refresh in the Quotes:
pickupAddress
dropoffAddress
packagePickupStartTime
packagePickupEndTime
packageDropoffStartTime
packageDropoffEndTime
packageDeliveryMode
packageRequirements
packageMinimumVehicleSize
packageValue
: for this field, it can also be updated in the post-dispatch stage
Note on Updating Times
If you wish to update the times of a Job, you must provide at least one time constraint out of packagePickupStartTime
, packagePickupEndTime
, packageDropoffStartTime
, and packageDropoffEndTime
. Times that are not specified will be calculated by Nash, and the previous times not included in the Update Request will be overwritten. Therefore, if you want to update only one time field and keep the rest the same, you must provide them in the parameters of the Update Request.
SCHEDULED
job to NOW
, you do not need to specify any other time fields.Post Dispatch Updates
If a quote has been selected or the job is dispatched via auto-dispatch, Nash will return an error if any of the assigned fleets in the job reject the update of the order.
In the post-dispatch stage, updating the package value of the job may result in a price change, based on how the providers calculate their pricing.
Below is a list of fields that are allowed to be updated, with more details on pre-dispatch or post-dispatch restrictions.
Path Parameters
Job ID or External Identifier
Job Configuration ID (for updating a package in a batch job)
Body
Expected input for update job endpoint.
Pickup address
Parsed address input serializer for creating a job.
The street of the address. If your geocoding service does not split numbers from street names, you can pass the street name with the number in this field. Example: 1600 Pennsylvania Avenue NW.
"Pennsylvania Avenue NW"
The city of the address.
"Washington"
The country of the address.
"US"
The number of the address.
"1600"
The secondary number of the address.
null
The county of the address.
"Washington"
The state of the address.
"DC"
The postal code of the address.
"20500"
The latitude of the address.
38.8948949
The longitude of the address.
-77.0371581
Pickup phone number
Pickup business name
Pickup first name
Pickup last name
Pickup email
Pickup instructions
Pickup store location ID
Dropoff address
Parsed address input serializer for creating a job.
The street of the address. If your geocoding service does not split numbers from street names, you can pass the street name with the number in this field. Example: 1600 Pennsylvania Avenue NW.
"Pennsylvania Avenue NW"
The city of the address.
"Washington"
The country of the address.
"US"
The number of the address.
"1600"
The secondary number of the address.
null
The county of the address.
"Washington"
The state of the address.
"DC"
The postal code of the address.
"20500"
The latitude of the address.
38.8948949
The longitude of the address.
-77.0371581
Dropoff phone number
Dropoff business name
Dropoff first name
Dropoff last name
Dropoff email
Dropoff store location ID
Dropoff instructions
Package delivery mode
Package pickup start time
Package pickup end time
Package dropoff start time
Package dropoff end time
Package description
Package requirements.
Detailed description: https://docs.usenash.com/reference/package-requirements.
photo_proof_of_delivery
, signature_proof_of_delivery
, photo_proof_of_pickup
, signature_proof_of_pickup
, age_verification_on_delivery
, id_verification_on_delivery
, barcode_scan_on_pickup
, barcode_scan_on_dropoff
, meet_on_delivery
, shipping_label
, two_person_team
, pincode_verification
, schedule_ii_controlled_substances
, alcohol
, parking_check_in
, display_barcode_on_pickup
[
"photo_proof_of_delivery",
"age_verification_on_delivery"
]
Minimum vehicle size required for the package. Allowed values: ['any', 'bike', 'motorbike', 'cargobike', 'sedan', 'car', 'suv', 'pickup_truck', 'pickup', 'van', 'truck']
any
, bike
, motorbike
, cargobike
, sedan
, car
, suv
, pickup_truck
, pickup
, van
, truck
"car"
Package value
Package tax
Tip amount
Currency
List of items in the package
Reference ID
Items count
Package weight
External identifier for the job
Job metadata
Response
The format for a returned batch job used in many endpoints.
Job ID
"job_01234567890"
Created at
"2023-08-29T19:17:46.264523"
Portal URL
"https://usenash.com/portal/job_abc123"
Is the job active
true
Is the job a batch
false
Batch
Various stop types for batch and route object.
PICKUP
, DROPOFF
, DRIVER_BREAK
, ROUTE_START
, ROUTE_END
Generic serializer for quotes used in many endpoints.
Quote ID
"qot_01234567890"
Provider ID
"uber_standard_mini_mart"
Provider name
"Nash"
Created time
"2021-01-01T00:00:00Z"
Price in cents
1000
Quote type
Provider logo
"https://nash.com/logo.png"
Is the provider internal
Expire time
"2021-01-01T00:00:00Z"
Tax amount in cents
100
Toll fee in cents
100
Nash fee in cents
100
Insurance fee in cents
100
Currency
"USD"
Pickup window
"2021-01-01T00:00:00Z"
Dropoff ETA
"2021-01-01T00:00:00Z"
Tags
["tag1", "tag2"]
Cost split customer in cents
100
Cost split business in cents
100
Total price breakdown
{
"subtotal": 1000,
"tax": 100,
"total": 1100
}
Total price in cents
1000
Price
1000
Is successful
true
Error message
"Error message"
Route
Unique identifier for the route.
"rte_JphRWDiEosGpXuxwgaYfY3"
Type of the route, indicating the pickup/dropoff structure.
"SINGLE_PICKUP_MULTIPLE_DROPOFFS"
Ordered list of stops included in the route.
Represents a single stop within a planned route.
Type of the stop.
"PICKUP"
List of object IDs (e.g., order IDs, store location IDs) associated with this stop.
[
"ord_Qr5bVt8WiByGh66z2g7xEu",
"ord_WJFuooSiRvFCaceGZjpbqs"
]
Estimated arrival time at the stop (UTC).
"2025-04-25T03:27:00"
Estimated departure time from the stop (UTC).
"2025-04-25T03:30:00"
Estimated service time spent at the stop (in seconds).
360
Distance traveled from the previous stop (in meters).
3376
Travel duration from the previous stop (in seconds).
420
Job configurations
Generic serializer for jbo configurations used in many endpoints.
Job Configuration ID
"cfg_01234567890"
Package
Package ID
"pkg_01234567890"
Requirements
[
"photo_proof_of_delivery",
"age_verification_on_delivery"
]
Items count
100
Generic serializer for location used in many endpoints.
Location ID
"loc_01234567890"
Address
"1600 Amphitheatre Parkway"
Formatted address
"1600 Amphitheatre Parkway"
Address city
"Mountain View"
Address country
"US"
Timezone ID
"America/Los_Angeles"
Timezone name
"Pacific Time"
Address number
"1600"
Address formatted street
"Amphitheatre Parkway"
Address county
"Santa Clara"
Address state
"CA"
Address zip
"94043"
Instructions
"Turn left on Main St"
Business name
"Nash"
First name
"John"
Last name
"Doe"
Phone number
"+15555555555"
"john.doe@example.com"
Generic serializer for location used in many endpoints.
Location ID
"loc_01234567890"
Address
"1600 Amphitheatre Parkway"
Formatted address
"1600 Amphitheatre Parkway"
Address city
"Mountain View"
Address country
"US"
Timezone ID
"America/Los_Angeles"
Timezone name
"Pacific Time"
Address number
"1600"
Address formatted street
"Amphitheatre Parkway"
Address county
"Santa Clara"
Address state
"CA"
Address zip
"94043"
Instructions
"Turn left on Main St"
Business name
"Nash"
First name
"John"
Last name
"Doe"
Phone number
"+15555555555"
"john.doe@example.com"
Description
"Package description"
Tags
["Alcohol"]
Package delivery mode
"now"
Pickup start time
"2021-01-01T00:00:00Z"
Pickup end time
"2021-01-01T00:00:00Z"
Dropoff start time
"2021-01-01T00:00:00Z"
Dropoff end time
"2021-01-01T00:00:00Z"
Tax in cents
100
Service fee in cents
100
External identifier
"mini-mart-order-99"
Minimum vehicle size required for the package. Allowed values: ['any', 'bike', 'motorbike', 'cargobike', 'sedan', 'car', 'suv', 'pickup_truck', 'pickup', 'van', 'truck']
any
, bike
, motorbike
, cargobike
, sedan
, car
, suv
, pickup_truck
, pickup
, van
, truck
"car"
Pickup store location ID
"store_01234567890"
Dropoff store location ID
"store_01234567890"
Driving metrics (distance in meters, duration in seconds)
{ "distance": 100, "duration": 100 }
Value
100
Tax
100
Service fee
100
Weight
100
Dimensions
{
"height": 100,
"length": 100,
"width": 100
}
Items
[
{
"count": 1,
"description": "Item 1",
"valueCents": 100
}
]
Reference ID
"mini-mart-order-99"
Package metadata
{ "key": "value" }
Tasks
Generic serializer for tasks used in many endpoints.
Task ID
"tsk_01234567890"
Created at
"2023-08-29T19:17:46.264523"
Status
"running"
Pickup start time
"2023-08-29T19:17:46.264523"
Pickup end time
"2023-08-29T19:17:46.264523"
Dropoff start time
"2023-08-29T19:17:46.264523"
Dropoff end time
"2023-08-29T19:17:46.264523"
Provider ID
"prv_01234567890"
Provider is internal
true
Tip amount in cents
100
Winner quote
{
"id": "qot_01234567890",
"price_cents": 100
}
Quotes
Generic serializer for quotes used in many endpoints.
Quote ID
"qot_01234567890"
Provider ID
"uber_standard_mini_mart"
Provider name
"Nash"
Created time
"2021-01-01T00:00:00Z"
Price in cents
1000
Quote type
Provider logo
"https://nash.com/logo.png"
Is the provider internal
Expire time
"2021-01-01T00:00:00Z"
Tax amount in cents
100
Toll fee in cents
100
Nash fee in cents
100
Insurance fee in cents
100
Currency
"USD"
Pickup window
"2021-01-01T00:00:00Z"
Dropoff ETA
"2021-01-01T00:00:00Z"
Tags
["tag1", "tag2"]
Cost split customer in cents
100
Cost split business in cents
100
Total price breakdown
{
"subtotal": 1000,
"tax": 100,
"total": 1100
}
Total price in cents
1000
Price
1000
Is successful
true
Error message
"Error message"
[
{
"id": "qot_01234567890",
"price_cents": 100
}
]
Failed quotes
[
{
"id": "qot_01234567890",
"price_cents": 100
}
]
Delivery object
Delivery ID
"dlv_01234567890"
Delivery status
"dropoff_complete"
Is the delivery active
Price in cents
Currency
Delivery status history
[
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
]
Pickup ETA
Dropoff ETA
Dropoff deadline
Documents
Generic serializer for Nash documents; Used for output.
Nash fee in cents
Courier name
Courier phone number
Courier pickup phone number
Courier dropoff phone number
Courier location
Courier vehicle
Courier profile image
Proof of delivery
Provider delivery id
Provider batch id
Price
Tax amount in cents
Toll fee in cents
Wait fee in cents
Wait time in minutes
Cancellation fee in cents
Return fee in cents
Other provider fees
Insurance fee in cents
Total price breakdown
Total price in cents
Tip amount in USD
100
Failure reason
"Task failed"
Task notes
Generic serializer for notes used in many endpoints.
Note ID
"not_01234567890"
Created at
"2023-08-29T19:17:46.264523"
Note
"Task note"
[
{
"created_at": "2023-08-29T19:17:46.264523",
"id": "not_01234567890",
"note": "Task note",
"user": { "email": "john.doe@example.com" }
}
]
Advanced task
Task ID
"tsk_01234567890"
Created at
"2023-08-29T19:17:46.264523"
Status
"running"
Pickup start time
"2023-08-29T19:17:46.264523"
Pickup end time
"2023-08-29T19:17:46.264523"
Dropoff start time
"2023-08-29T19:17:46.264523"
Dropoff end time
"2023-08-29T19:17:46.264523"
Provider ID
"prv_01234567890"
Provider is internal
true
Tip amount in cents
100
Winner quote
{
"id": "qot_01234567890",
"price_cents": 100
}
Quotes
Generic serializer for quotes used in many endpoints.
Quote ID
"qot_01234567890"
Provider ID
"uber_standard_mini_mart"
Provider name
"Nash"
Created time
"2021-01-01T00:00:00Z"
Price in cents
1000
Quote type
Provider logo
"https://nash.com/logo.png"
Is the provider internal
Expire time
"2021-01-01T00:00:00Z"
Tax amount in cents
100
Toll fee in cents
100
Nash fee in cents
100
Insurance fee in cents
100
Currency
"USD"
Pickup window
"2021-01-01T00:00:00Z"
Dropoff ETA
"2021-01-01T00:00:00Z"
Tags
["tag1", "tag2"]
Cost split customer in cents
100
Cost split business in cents
100
Total price breakdown
{
"subtotal": 1000,
"tax": 100,
"total": 1100
}
Total price in cents
1000
Price
1000
Is successful
true
Error message
"Error message"
[
{
"id": "qot_01234567890",
"price_cents": 100
}
]
Failed quotes
[
{
"id": "qot_01234567890",
"price_cents": 100
}
]
Delivery object
Delivery ID
"dlv_01234567890"
Delivery status
"dropoff_complete"
Is the delivery active
Price in cents
Currency
Delivery status history
[
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
]
Pickup ETA
Dropoff ETA
Dropoff deadline
Documents
Generic serializer for Nash documents; Used for output.
Nash fee in cents
Courier name
Courier phone number
Courier pickup phone number
Courier dropoff phone number
Courier location
Courier vehicle
Courier profile image
Proof of delivery
Provider delivery id
Provider batch id
Price
Tax amount in cents
Toll fee in cents
Wait fee in cents
Wait time in minutes
Cancellation fee in cents
Return fee in cents
Other provider fees
Insurance fee in cents
Total price breakdown
Total price in cents
Tip amount in USD
100
Failure reason
"Task failed"
Task notes
Generic serializer for notes used in many endpoints.
Note ID
"not_01234567890"
Created at
"2023-08-29T19:17:46.264523"
Note
"Task note"
[
{
"created_at": "2023-08-29T19:17:46.264523",
"id": "not_01234567890",
"note": "Task note",
"user": { "email": "john.doe@example.com" }
}
]
Delivery
Delivery ID
"dlv_01234567890"
Delivery status
"dropoff_complete"
Is the delivery active
Price in cents
Currency
Delivery status history
[
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
]
Pickup ETA
Dropoff ETA
Dropoff deadline
Documents
Generic serializer for Nash documents; Used for output.
Nash fee in cents
Courier name
Courier phone number
Courier pickup phone number
Courier dropoff phone number
Courier location
Courier vehicle
Courier profile image
Proof of delivery
Provider delivery id
Provider batch id
Price
Tax amount in cents
Toll fee in cents
Wait fee in cents
Wait time in minutes
Cancellation fee in cents
Return fee in cents
Other provider fees
Insurance fee in cents
Total price breakdown
Total price in cents
Public tracking URL
"https://usenash.com/tracking/job_abc123"
External identifier
"mini-mart-order-99"
Job metadata
{ "key": "value" }
Options group
Dispatch Strategy ID
"opn_WyMhHj"
Dispatch Strategy Label
"New York City Strategy"
Allowed providers
["prv_01234567890", "prv_01234567891"]
Enable auto dispatch
true
Provider selection strategy
"cheapest"
Reassign on failure
true
Enable max delivery fee
true
Max delivery fee in cents
10000
Cost split max fixed price in cents
10000
Cost split max percentage
0.1
Cost split strategy
"price"
Smart reassignment
true
Short, non-unique human-readable reference code for the job.
curl --request PATCH \
--url https://api.sandbox.usenash.com/v1/jobs/{id}/{jobConfigurationId} \
--header 'Content-Type: application/json' \
--data '{
"pickupAddress": "<string>",
"pickupAddressComponents": {
"number": "1600",
"secondaryNumber": null,
"street": "Pennsylvania Avenue NW",
"county": "Washington",
"city": "Washington",
"state": "DC",
"postalCode": "20500",
"country": "US",
"latitude": 38.8948949,
"longitude": -77.0371581
},
"pickupPhoneNumber": "<string>",
"pickupBusinessName": "<string>",
"pickupFirstName": "<string>",
"pickupLastName": "<string>",
"pickupEmail": "<string>",
"pickupInstructions": "<string>",
"pickupStoreLocationId": "<string>",
"pickupBarcodes": [
"<string>"
],
"dropoffAddress": "<string>",
"dropoffAddressComponents": {
"number": "1600",
"secondaryNumber": null,
"street": "Pennsylvania Avenue NW",
"county": "Washington",
"city": "Washington",
"state": "DC",
"postalCode": "20500",
"country": "US",
"latitude": 38.8948949,
"longitude": -77.0371581
},
"dropoffPhoneNumber": "<string>",
"dropoffBusinessName": "<string>",
"dropoffFirstName": "<string>",
"dropoffLastName": "<string>",
"dropoffEmail": "<string>",
"dropoffStoreLocationId": "<string>",
"dropoffInstructions": "<string>",
"dropoffBarcodes": [
"<string>"
],
"packageDeliveryMode": "<string>",
"packagePickupStartTime": "<string>",
"packagePickupEndTime": "<string>",
"packageDropoffStartTime": "<string>",
"packageDropoffEndTime": "<string>",
"packageDescription": "<string>",
"packageRequirements": [
"photo_proof_of_delivery",
"age_verification_on_delivery"
],
"packageMinimumVehicleSize": "car",
"packageValue": 123,
"packageTax": 123,
"tipAmount": 123,
"currency": "<string>",
"packageItems": [
{}
],
"referenceId": "<string>",
"itemsCount": 123,
"weight": 123,
"externalIdentifier": "<string>",
"jobMetadata": {}
}'
{
"id": "job_01234567890",
"createdAt": "2023-08-29T19:17:46.264523",
"portalUrl": "https://usenash.com/portal/job_abc123",
"externalIdentifier": "mini-mart-order-99",
"jobMetadata": {
"key": "value"
},
"isActive": true,
"isBatch": false,
"batch": {
"id": "<string>",
"type": "<string>",
"objectSequence": [
"<string>"
],
"stopTypes": [
"PICKUP"
],
"providerId": "<string>",
"providerIsInternal": true,
"winnerQuote": {},
"quotes": [
{
"id": "qot_01234567890",
"type": "<string>",
"providerId": "uber_standard_mini_mart",
"providerName": "Nash",
"providerLogo": "https://nash.com/logo.png",
"providerIsInternal": true,
"createdTime": "2021-01-01T00:00:00Z",
"expireTime": "2021-01-01T00:00:00Z",
"priceCents": 1000,
"taxAmountCents": 100,
"tollFeeCents": 100,
"nashFeeCents": 100,
"insuranceFeeCents": 100,
"currency": "USD",
"pickupWindow": "2021-01-01T00:00:00Z",
"dropoffEta": "2021-01-01T00:00:00Z",
"tags": [
"tag1",
"tag2"
],
"costSplitCustomerCents": 100,
"costSplitBusinessCents": 100,
"totalPriceBreakdown": {
"subtotal": 1000,
"tax": 100,
"total": 1100
},
"totalPriceCents": 1000,
"price": 1000,
"isSuccessful": true,
"errorMessage": "Error message"
}
],
"failedQuotes": [
{}
]
},
"route": {
"id": "rte_JphRWDiEosGpXuxwgaYfY3",
"type": "SINGLE_PICKUP_MULTIPLE_DROPOFFS",
"stops": [
{
"stopType": "PICKUP",
"objectIds": [
"ord_Qr5bVt8WiByGh66z2g7xEu",
"ord_WJFuooSiRvFCaceGZjpbqs"
],
"arrivalTime": "2025-04-25T03:27:00",
"departTime": "2025-04-25T03:30:00",
"serviceTime": 360,
"distanceFromPrevious": 3376,
"durationFromPrevious": 420,
"location": {
"lat": 45.558214,
"lng": -122.587074
}
}
]
},
"jobConfigurations": [
{
"id": "cfg_01234567890",
"package": {
"id": "pkg_01234567890",
"description": "Package description",
"requirements": [
"photo_proof_of_delivery",
"age_verification_on_delivery"
],
"tags": [
"Alcohol"
],
"packageDeliveryMode": "now",
"pickupStartTime": "2021-01-01T00:00:00Z",
"pickupEndTime": "2021-01-01T00:00:00Z",
"pickupBarcodes": [
"<string>"
],
"dropoffStartTime": "2021-01-01T00:00:00Z",
"dropoffEndTime": "2021-01-01T00:00:00Z",
"dropoffBarcodes": [
"<string>"
],
"valueCents": 123,
"taxCents": 100,
"serviceFeeCents": 100,
"itemsCount": 100,
"externalIdentifier": "mini-mart-order-99",
"minimumVehicleSize": "car",
"pickupLocation": {
"id": "loc_01234567890",
"address": "1600 Amphitheatre Parkway",
"formattedAddress": "1600 Amphitheatre Parkway",
"addressNumber": "1600",
"addressFormattedStreet": "Amphitheatre Parkway",
"addressCity": "Mountain View",
"addressCounty": "Santa Clara",
"addressState": "CA",
"addressZip": "94043",
"addressCountry": "US",
"timezoneId": "America/Los_Angeles",
"timezoneName": "Pacific Time",
"instructions": "Turn left on Main St",
"businessName": "Nash",
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "+15555555555",
"email": "john.doe@example.com"
},
"pickupStoreLocationId": "store_01234567890",
"dropoffLocation": {
"id": "loc_01234567890",
"address": "1600 Amphitheatre Parkway",
"formattedAddress": "1600 Amphitheatre Parkway",
"addressNumber": "1600",
"addressFormattedStreet": "Amphitheatre Parkway",
"addressCity": "Mountain View",
"addressCounty": "Santa Clara",
"addressState": "CA",
"addressZip": "94043",
"addressCountry": "US",
"timezoneId": "America/Los_Angeles",
"timezoneName": "Pacific Time",
"instructions": "Turn left on Main St",
"businessName": "Nash",
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "+15555555555",
"email": "john.doe@example.com"
},
"dropoffStoreLocationId": "store_01234567890",
"drivingMetrics": {
"distance": 100,
"duration": 100
},
"value": 100,
"tax": 100,
"serviceFee": 100,
"tipAmountCents": 123,
"weight": 100,
"dimensions": {
"height": 100,
"length": 100,
"width": 100
},
"items": [
{
"count": 1,
"description": "Item 1",
"valueCents": 100
}
],
"referenceId": "mini-mart-order-99",
"packageMetadata": {
"key": "value"
}
},
"tasks": [
{
"id": "tsk_01234567890",
"createdAt": "2023-08-29T19:17:46.264523",
"status": "running",
"pickupStartTime": "2023-08-29T19:17:46.264523",
"pickupEndTime": "2023-08-29T19:17:46.264523",
"dropoffStartTime": "2023-08-29T19:17:46.264523",
"dropoffEndTime": "2023-08-29T19:17:46.264523",
"providerId": "prv_01234567890",
"providerIsInternal": true,
"tipAmountCents": 100,
"winnerQuote": {
"id": "qot_01234567890",
"price_cents": 100
},
"quotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"failedQuotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"delivery": {
"id": "dlv_01234567890",
"type": "<string>",
"status": "dropoff_complete",
"statusHistory": [
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
],
"isActive": true,
"pickupEta": "<string>",
"dropoffEta": "<string>",
"dropoffDeadline": "<string>",
"priceCents": 123,
"currency": "<string>",
"documents": [
{
"createdAt": "<string>",
"id": "<string>",
"type": "<string>",
"url": "<string>",
"contentType": "<string>",
"documentMetadata": {}
}
],
"nashFeeCents": 123,
"courierName": "<string>",
"courierPhoneNumber": "<string>",
"courierPickupPhoneNumber": "<string>",
"courierDropoffPhoneNumber": "<string>",
"courierLocation": {},
"courierVehicle": {},
"courierProfileImage": "<string>",
"proofOfDelivery": [
{}
],
"providerDeliveryId": "<string>",
"providerBatchId": "<string>",
"price": 123,
"taxAmountCents": 123,
"tollFeeCents": 123,
"waitFeeCents": 123,
"waitTimeMinutes": 123,
"cancellationFeeCents": 123,
"returnFeeCents": 123,
"otherProviderFees": {},
"insuranceFeeCents": 123,
"totalPriceBreakdown": {},
"totalPriceCents": 123
},
"tipAmountUsd": 100,
"failureReason": "Task failed",
"taskNotes": [
{
"created_at": "2023-08-29T19:17:46.264523",
"id": "not_01234567890",
"note": "Task note",
"user": {
"email": "john.doe@example.com"
}
}
]
}
],
"advancedTask": {
"id": "tsk_01234567890",
"createdAt": "2023-08-29T19:17:46.264523",
"status": "running",
"pickupStartTime": "2023-08-29T19:17:46.264523",
"pickupEndTime": "2023-08-29T19:17:46.264523",
"dropoffStartTime": "2023-08-29T19:17:46.264523",
"dropoffEndTime": "2023-08-29T19:17:46.264523",
"providerId": "prv_01234567890",
"providerIsInternal": true,
"tipAmountCents": 100,
"winnerQuote": {
"id": "qot_01234567890",
"price_cents": 100
},
"quotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"failedQuotes": [
{
"id": "qot_01234567890",
"price_cents": 100
}
],
"delivery": {
"id": "dlv_01234567890",
"type": "<string>",
"status": "dropoff_complete",
"statusHistory": [
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
],
"isActive": true,
"pickupEta": "<string>",
"dropoffEta": "<string>",
"dropoffDeadline": "<string>",
"priceCents": 123,
"currency": "<string>",
"documents": [
{
"createdAt": "<string>",
"id": "<string>",
"type": "<string>",
"url": "<string>",
"contentType": "<string>",
"documentMetadata": {}
}
],
"nashFeeCents": 123,
"courierName": "<string>",
"courierPhoneNumber": "<string>",
"courierPickupPhoneNumber": "<string>",
"courierDropoffPhoneNumber": "<string>",
"courierLocation": {},
"courierVehicle": {},
"courierProfileImage": "<string>",
"proofOfDelivery": [
{}
],
"providerDeliveryId": "<string>",
"providerBatchId": "<string>",
"price": 123,
"taxAmountCents": 123,
"tollFeeCents": 123,
"waitFeeCents": 123,
"waitTimeMinutes": 123,
"cancellationFeeCents": 123,
"returnFeeCents": 123,
"otherProviderFees": {},
"insuranceFeeCents": 123,
"totalPriceBreakdown": {},
"totalPriceCents": 123
},
"tipAmountUsd": 100,
"failureReason": "Task failed",
"taskNotes": [
{
"created_at": "2023-08-29T19:17:46.264523",
"id": "not_01234567890",
"note": "Task note",
"user": {
"email": "john.doe@example.com"
}
}
]
},
"delivery": {
"id": "dlv_01234567890",
"type": "<string>",
"status": "dropoff_complete",
"statusHistory": [
{
"created_at": "2023-08-29T19:17:46.264523",
"status": "created"
},
{
"created_at": "2023-08-29T19:17:47.509265",
"status": "not_assigned_driver"
}
],
"isActive": true,
"pickupEta": "<string>",
"dropoffEta": "<string>",
"dropoffDeadline": "<string>",
"priceCents": 123,
"currency": "<string>",
"documents": [
{
"createdAt": "<string>",
"id": "<string>",
"type": "<string>",
"url": "<string>",
"contentType": "<string>",
"documentMetadata": {}
}
],
"nashFeeCents": 123,
"courierName": "<string>",
"courierPhoneNumber": "<string>",
"courierPickupPhoneNumber": "<string>",
"courierDropoffPhoneNumber": "<string>",
"courierLocation": {},
"courierVehicle": {},
"courierProfileImage": "<string>",
"proofOfDelivery": [
{}
],
"providerDeliveryId": "<string>",
"providerBatchId": "<string>",
"price": 123,
"taxAmountCents": 123,
"tollFeeCents": 123,
"waitFeeCents": 123,
"waitTimeMinutes": 123,
"cancellationFeeCents": 123,
"returnFeeCents": 123,
"otherProviderFees": {},
"insuranceFeeCents": 123,
"totalPriceBreakdown": {},
"totalPriceCents": 123
},
"publicTrackingUrl": "https://usenash.com/tracking/job_abc123"
}
],
"optionsGroup": {
"id": "opn_WyMhHj",
"label": "New York City Strategy",
"allowedProviders": [
"prv_01234567890",
"prv_01234567891"
],
"enableAutoDispatch": true,
"providerSelectionStrategy": "cheapest",
"reassignOnFailure": true,
"enableMaxDeliveryFee": true,
"maxDeliveryFeeCents": 10000,
"costSplitMaxFixedPriceCents": 10000,
"costSplitMaxPercentage": 0.1,
"costSplitStrategy": "price",
"smartReassignment": true
},
"shortReferenceCode": "<string>"
}