Home
Nash
Nash Webhooks
Nash · AsyncAPI Specification
Nash Webhooks
Version 1.0.0
Real-time delivery events Nash pushes to subscriber endpoints over HTTP, delivered and signed via Svix. Each message carries `type`, `event`, and `data`. Endpoints are registered per event type in the Nash Portal.
View Spec
View on GitHub
Company Delivery Last-Mile Delivery Logistics Dispatch Route Optimization Fleet Management Courier Shipping Orders Webhooks AI Agents AsyncAPI Webhooks Events
Channels
delivery
Delivery lifecycle events, once per state transition.
task
Task lifecycle events, once per state transition.
courier_location
Courier location updates, once every 1-2 minutes when available.
shift
Shift events emitted when a delivery window is dispatched in bulk.
Messages
✉
DeliveryEvent
Delivery event
✉
CourierLocationEvent
Courier location event
Servers
https
portal
Webhook endpoints are registered in the Nash Portal (Settings > Webhook Management).
AsyncAPI Specification
asyncapi: 3.0.0
# generated: '2026-07-20'
# method: generated
# source: https://docs.usenash.com/reference/webhooks (documented event catalog)
# note: Faithful AsyncAPI rendering of Nash's documented webhook event surface.
# Nash does not publish an AsyncAPI document; this is generated by API
# Evangelist from the real, documented event types and enums. No events or
# fields were invented.
info:
title: Nash Webhooks
version: 1.0.0
description: >-
Real-time delivery events Nash pushes to subscriber endpoints over HTTP,
delivered and signed via Svix. Each message carries `type`, `event`, and
`data`. Endpoints are registered per event type in the Nash Portal.
contact:
name: Nash Support
email: support@usenash.com
url: https://docs.usenash.com/reference/webhooks
defaultContentType: application/json
servers:
portal:
host: portal.usenash.com
protocol: https
description: Webhook endpoints are registered in the Nash Portal (Settings > Webhook Management).
channels:
delivery:
address: delivery
description: Delivery lifecycle events, once per state transition.
messages:
deliveryEvent:
$ref: '#/components/messages/DeliveryEvent'
task:
address: task
description: Task lifecycle events, once per state transition.
messages:
taskEvent:
$ref: '#/components/messages/TaskEvent'
courier_location:
address: courier_location
description: Courier location updates, once every 1-2 minutes when available.
messages:
courierLocationEvent:
$ref: '#/components/messages/CourierLocationEvent'
shift:
address: shift
description: Shift events emitted when a delivery window is dispatched in bulk.
messages:
shiftEvent:
$ref: '#/components/messages/ShiftEvent'
operations:
receiveDeliveryEvent:
action: receive
channel:
$ref: '#/channels/delivery'
receiveTaskEvent:
action: receive
channel:
$ref: '#/channels/task'
receiveCourierLocationEvent:
action: receive
channel:
$ref: '#/channels/courier_location'
receiveShiftEvent:
action: receive
channel:
$ref: '#/channels/shift'
components:
messages:
DeliveryEvent:
name: DeliveryEvent
title: Delivery event
contentType: application/json
payload:
type: object
required: [type, event, data]
properties:
type:
type: string
const: delivery
event:
type: string
enum: [created, not_assigned_driver, assigned_driver, started, pickup_enroute, pickup_arrived, items_pick_update, items_pick_complete, pickup_complete, dropoff_enroute, dropoff_arrived, dropoff_complete, canceled_by_provider, return_in_progress, return_arrived, returned, scheduled, expired, failed, canceled_by_customer, canceled_by_nash, canceled_by_auto_reassign, proof_of_delivery, pincode_verification, pickup_label, shipping_label, manifested]
data:
description: A Job (delivery) object, the same shape as the Create Job response.
type: object
TaskEvent:
name: TaskEvent
title: Task event
contentType: application/json
payload:
type: object
required: [type, event, data]
properties:
type:
type: string
const: task
event:
type: string
enum: [created, updated, running, completed, canceled_by_provider, failed, canceled_by_customer, canceled_by_nash, planned_selection, refund_created, refund_updated]
data:
description: A Job (delivery) object, the same shape as the Create Job response.
type: object
CourierLocationEvent:
name: CourierLocationEvent
title: Courier location event
contentType: application/json
payload:
type: object
required: [type, event]
properties:
type:
type: string
const: courier_location
event:
type: string
enum: [updated]
ShiftEvent:
name: ShiftEvent
title: Shift event
contentType: application/json
payload:
type: object
required: [type, event]
properties:
type:
type: string
const: shift
event:
type: string
enum: [dispatched]
messageTraits:
SvixSigned:
headers:
type: object
properties:
svix-id:
type: string
svix-timestamp:
type: string
svix-signature:
type: string