Skip to main content
PUT
Upsert Driver

Authorizations

Authorization
string
header
required

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

Body

application/json

PUT /v1/fleet/drivers/upsert request body — see FLE-2224.

Identity key is external_identifier, scoped to the calling org's own internal-fleet provider (not phone/email — this endpoint never touches User/Auth0 identity, unlike the GraphQL CreateCourier/UpdateCourier mutations). No driver-group/contract fields — that assignment is out of scope for this endpoint; see the FLE-2224 plan for the deferred follow-up.

Wire format is camelCase, matching the rest of Nash's customer-facing REST API (populate_by_name=True also accepts snake_case).

externalIdentifier
string
required

Caller's own id for this driver; the upsert identity key.

phoneNumber
string | null
email
string | null

Provisions (or links) a Nash driver-app login for this email, mirroring the portal's own driver create/edit behavior: creates or reuses a User and its Auth0 email identity.

firstName
string | null
lastName
string | null
vehicleInfo
Vehicleinfo · object | null
vehicleIds
string[] | null

Existing Vehicle ids to link to this driver.

storeLocationIds
string[] | null
firstVersionContractIds
string[] | null

Driver group membership, by first_version_contract_id. Omit to leave unchanged.

isShiftActive
boolean
default:true

Whether the driver is available. Defaults to true for a newly created driver when omitted; an update call that omits it leaves the existing value unchanged.

enabled
boolean | null
dateOfBirth
string<date> | null
workRelationship
enum<string> | null
Available options:
EMPLOYEE,
CONTRACTOR
driversLicense
string | null

Response

422 - application/json

Unprocessable Content

error
NashErrorDetails · object
required
response_status
string
required
RequestID
string
required