Skip to main content
PATCH
Update Job by JobID/ExternalIdentifier

Pre-dispatch updates

Updating a job should always work before a quote is selected. Some updates may result in pricing changes. You can only 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 you attempt to update a delivery time or address, the endpoint returns an error. If you update any of the following fields, the quotes returned by the job are refreshed and the endpoint returns a new set of quotes. Any existing quotes (and quote IDs) become invalid for dispatch. The fields that force a quote refresh:
  1. pickupAddress
  2. dropoffAddress
  3. packagePickupStartTime
  4. packagePickupEndTime
  5. packageDropoffStartTime
  6. packageDropoffEndTime
  7. packageDeliveryMode
  8. packageRequirements
  9. packageMinimumVehicleSize
  10. packageValue: this field can also be updated in the post-dispatch stage

Updating times

To update the times of a job, provide at least one of packagePickupStartTime, packagePickupEndTime, packageDropoffStartTime, and packageDropoffEndTime. Times you don’t specify are calculated by Nash, and any previous times left out of the update request are overwritten. So to change one time field and keep the rest, send the others in the same request.
If you change packageDeliveryMode from SCHEDULED to NOW, you don’t need to specify any other time fields.

Post-dispatch updates

If a quote has been selected or the job was dispatched by auto-dispatch, Nash returns an error if any of the assigned fleets in the job reject the update. In the post-dispatch stage, updating the package value of the job may result in a price change, depending on how the providers calculate their pricing. Below is a list of fields that can be updated, with more detail on pre-dispatch and post-dispatch restrictions.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string | null
required

Job ID or External Identifier

jobConfigurationId
string | null
required

Job Configuration ID (for updating a package in a batch job)

Body

application/json

Expected input for update job endpoint.

pickupAddress
string | null

Pickup address

pickupAddressComponents
ParsedAddressInputSerializer · object | null

Parsed address input serializer for creating a job.

pickupPhoneNumber
string | null

Pickup phone number

pickupBusinessName
string | null

Pickup business name

pickupFirstName
string | null

Pickup first name

pickupLastName
string | null

Pickup last name

pickupEmail
string | null

Pickup email

pickupInstructions
string | null

Pickup instructions

pickupStoreLocationId
string | null

Pickup store location ID

pickupBarcodes
string[] | null
dropoffAddress
string | null

Dropoff address

dropoffAddressComponents
ParsedAddressInputSerializer · object | null

Parsed address input serializer for creating a job.

dropoffPhoneNumber
string | null

Dropoff phone number

dropoffBusinessName
string | null

Dropoff business name

dropoffFirstName
string | null

Dropoff first name

dropoffLastName
string | null

Dropoff last name

dropoffEmail
string | null

Dropoff email

dropoffStoreLocationId
string | null

Dropoff store location ID

dropoffInstructions
string | null

Dropoff instructions

dropoffBarcodes
string[] | null
packageDeliveryMode
string | null

Package delivery mode

packagePickupStartTime
string | null

Package pickup start time

Pattern: (\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).?(\d)*Z?
packagePickupEndTime
string | null

Package pickup end time

Pattern: (\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).?(\d)*Z?
packageDropoffStartTime
string | null

Package dropoff start time

Pattern: (\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).?(\d)*Z?
packageDropoffEndTime
string | null

Package dropoff end time

Pattern: (\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).?(\d)*Z?
packageDescription
string | null

Package description

packageRequirements
(enum<string> | string)[] | null

Package requirements.

Available options:
photo_proof_of_delivery,
signature_proof_of_delivery,
photo_proof_of_pickup,
photo_reference_on_dropoff,
photo_reference_capture_on_dropoff,
signature_proof_of_pickup,
photo_pre_delivery_verification,
age_verification_on_delivery,
id_verification_on_delivery,
barcode_scan_on_pickup,
barcode_scan_on_dropoff,
barcode_scan_on_return,
meet_on_delivery,
shipping_label,
two_person_team,
pincode_verification,
schedule_ii_controlled_substances,
alcohol,
tobacco,
vapes,
parking_check_in,
display_barcode_on_pickup,
pick_and_pack
Example:
packageMinimumVehicleSize
enum<string>

Minimum vehicle size required for the package. Allowed values: ['any', 'bike', 'motorbike', 'cargobike', 'sedan', 'car', 'suv', 'pickup_truck', 'pickup', 'van', 'large_van', 'extra_large_van', 'truck']

Available options:
any,
bike,
motorbike,
cargobike,
sedan,
car,
suv,
pickup_truck,
pickup,
van,
large_van,
extra_large_van,
truck
Example:

"car"

packageValue
number | null

Package value

packageTax
number | null

Package tax

tipAmount
number | null

Tip amount

currency
string | null

Currency

packageItems
Packageitems · object[] | null

List of items in the package

referenceId
string | null

Reference ID

itemsCount
integer | null

Items count

weight

Package weight

externalIdentifier
string | null

External identifier for the job

jobMetadata
Jobmetadata · object | null

Job metadata

packageMetadata
Packagemetadata · object | null

Package metadata

Response

OK

A Nash Job.

id
string
required

Job ID

Example:

"job_01234567890"

createdAt
string
required

Created at

Example:

"2023-08-29T19:17:46.264523"

portalUrl
string
required

Portal URL

Example:

"https://usenash.com/portal/job_abc123"

isActive
boolean
required

Is the job active

Example:

true

isBatch
boolean
required

Is the job a batch

Example:

false

jobConfigurations
JobConfigurationsSerializer · object[]
required

Job configurations

externalIdentifier
string | null

External identifier

Example:

"mini-mart-order-99"

jobMetadata
Jobmetadata · object | null

Job metadata

Example:
optionsGroup
OptionsGroupSerializer · object | null

Options group

shortReferenceCode
string | null

7-digit non-unique human-readable reference code for the job.

Example:

"0123456"

selectedConfiguration
Selectedconfiguration · object | null
deprecated

Selected configuration

Example:
jobSpecification
Jobspecification · object | null
deprecated

Job specification

Example:
route
RouteSerializer · object | null

Route