Upsert Driver
Create or update a driver in your internal fleet, keyed on your own externalIdentifier. There is no separate create vs. update call — sending the same externalIdentifier again updates the existing driver. The response’s created field tells you which happened. To disable a driver, upsert with isShiftActive: false (or enabled: false) — there is no separate delete/disable call.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
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).
Caller's own id for this driver; the upsert identity key.
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.
Existing Vehicle ids to link to this driver.
Driver group membership, by first_version_contract_id. Omit to leave unchanged.
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.
EMPLOYEE, CONTRACTOR