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 CompanyDeliveryLast Mile DeliveryLogisticsDispatchRoute OptimizationFleet ManagementCouriersShippingOrderWebhookAI AgentsAsyncAPIEventsWebhooks

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
TaskEvent
Task event
CourierLocationEvent
Courier location event
ShiftEvent
Shift event

Servers

https
portal
Webhook endpoints are registered in the Nash Portal (Settings > Webhook Management).

AsyncAPI Specification

Raw ↑
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

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/nash-webhooks-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.