POST
/
v1
/
jobs

Scheduled Job Time Calculations

When creating a scheduled job, you must include at least one time constraint out of packagePickupStartTime, packagePickupEndTime, packageDropoffStartTime, and packageDropoffEndTime. Times that are not specified will be calculated by Nash.

If the specified pickup time of a scheduled job is very close to the current time (within 5 minutes in the past or 10 minutes in the future), it will be automatically transformed into an ASAP job.

For this and all other endpoints, as Nash processes fields from different providers, please assume that any field in the response we provide may be null.

Package Items

An array of item objects, each describing an item within the package for delivery.

Each object should include the item’s name, dimensions (length, width, height), and count, providing a detailed inventory of the package’s contents. This information is used to ensure accurate handling and space allocation for transport.

Note that it’s still highly recommended to include both pickup and dropoff times since our estimations are based on historical time data rather than real-time metrics.

The fields selectedConfiguration and jobSpecification returned in the job response are deprecated and not recommended to be used.

Migration guide, replace:

jobSpecification->package with data->jobConfiguration[0]->package

and selectedConfiguration with jobConfiguration[0]

Body

application/json

Expected payload for creating a job.

packageDeliveryMode
string
required
currency
string | null
dimensions
object | null
dropoffAddress
string | null

The full address in one line for the dropoff location for this package within the Job. Address format: [Number] [Street], [second line], [city], [state], [zip code], [country]. All address fields are required except "second line". Second line should include Apt/Suite/Unit/# appended to the number of the unit.

dropoffAddressComponents
object | null

Parsed address input serializer for creating a job.

dropoffBarcodes
string[] | null
dropoffBusinessName
string | null
dropoffEmail
string | null
dropoffExternalStoreLocationId
string | null
dropoffFirstName
string | null
dropoffInstructions
string | null
dropoffLastName
string | null
dropoffLatitude
number | null
dropoffLongitude
number | null
dropoffPhoneNumber
string | null
dropoffPlaceId
string | null
dropoffStoreLocationId
string | null
externalIdentifier
string | null

External identifier for the job.

inputDatetimesLocalizedToPickupTz
boolean
default:
false

Whether the input datetimes are localized to the pickup timezone.

itemsCount
jobMetadata
object | null

Job metadata for the job.

optionsGroupId
string | null

Dispatch strategy ID (formerly known as options group ID) for the job.

packageDescription
string | null
packageDropoffEndTime
string | null
packageDropoffStartTime
string | null
packageExternalIdentifier
string | null
packageItems
object[] | null
packageMinimumVehicleSize
string | null
packagePickupEndTime
string | null
packagePickupStartTime
string | null
packageRequirements
(enum<string> | string)[] | null

Package requirements.

Available options:
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
packageServiceFee
packageTax
packageValue
number | null
packageValueCents
integer | null
pickupAddress
string | null

The full address in one line for the pickup location for this package within the Job. Address format: [Number] [Street], [second line], [city], [state] [zip code], [country]. All address fields are required except "second line". Second line should include Apt/Suite/Unit/# appended to the number of the unit.

pickupAddressComponents
object | null

Parsed address input serializer for creating a job.

pickupBarcodes
string[] | null
pickupBusinessName
string | null

Pickup business name at the origin. Limited to 80 characters.

pickupEmail
string | null
pickupFirstName
string | null

First name of the person to pickup from. If unknown pass "Manager". Limited to 80 characters.

pickupInstructions
string | null

Any special instructions for pickup. Limited to 280 characters. Nash Recommended Input: Pickup order [insert order number] for [insert customer name] from [pickup business name].

pickupLastName
string | null

Last name of the person to pickup from. If unknown pass "Manager". Limited to 80 characters.

pickupLatitude
number | null
pickupLongitude
number | null
pickupPhoneNumber
string | null

The phone number to contact at the location in the form: "+15555555555"

pickupPlaceId
string | null

The Google place ID for the pickup location.If passed, resolving the pickup location's lat/lng will happen with this field.

pickupStoreLocationId
string | null

The Nash store location ID for the pickup location.

quoteRequestOnly
boolean
default:
false

Whether to only request a quote and not create a job.

referenceId
string | null
tipAmount
tipAmountCents
integer | null
tipAmountUsd
number | null
weight

Response

200 - application/json

A Nash Job.

createdAt
string
required

Created at

id
string
required

Job ID

isActive
boolean
required

Is the job active

isBatch
boolean
required

Is the job a batch

jobConfigurations
object[]
required

Job configurations

portalUrl
string
required

Portal URL

externalIdentifier
string | null

External identifier

jobMetadata
object | null

Job metadata

jobSpecification
object | null
deprecated

Job specification

optionsGroup
object | null

Options group

selectedConfiguration
object | null
deprecated

Selected configuration

shortReferenceCode
string | null

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