> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usenash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Notification Trigger Catalog

> The full notification-trigger catalog. Each entry describes a trigger's `type` slug, human `title`, the `value` used to subscribe automations, the `entityType` (route/delivery/task/order/activity), its `statuses` vocabulary, the JSON Schema of its create `parameters`, and the `supportedFilters` / `supportedActions`. The shared `filterCriteria` (dispatch strategies, contracts, zones, metadata conditions) and `actions` are described once at the top level. Designed for agents and humans to discover what can be automated and how.



## OpenAPI

````yaml get /v1/notification-triggers/catalog
openapi: 3.1.0
info:
  title: Nash API
  version: 1.0.0
servers:
  - url: https://api.sandbox.usenash.com
    description: Sandbox API
  - url: https://api.sandbox.ap-southeast-2.usenash.com
    description: Sandbox API (Australia)
  - url: https://api.usenash.com
    description: Production API
  - url: https://api.ap-southeast-2.usenash.com
    description: Production API (Australia)
security: []
tags:
  - name: Notifications
    description: Notifications
    x-nash-topic: config
  - name: Annotate
    description: Annotate
    x-nash-topic: wismo
  - name: Notifications — Send
    description: One-off notification send without a NotificationTrigger.
    x-nash-topic: notifications
  - name: Shipping
    description: Shipping operations
    x-nash-topic: shipping
  - name: Workflow
    description: Workflow automation management
    x-nash-topic: scheduling
  - name: Workflow Execution
    description: Workflow execution history and monitoring
    x-nash-topic: scheduling
  - name: Optimization Strategies
    description: Create, read, update, and delete route optimization strategies.
    x-nash-topic: scheduling
  - name: AI Agents
    description: AI agent management — create, read, update, and delete agents
    x-nash-topic: config
  - name: AI Functions
    description: LLM-backed domain tools
    x-nash-topic: ai
  - name: Webhooks
    description: Webhook delivery inspection
    x-nash-topic: webhooks
  - name: Miscellaneous
    description: Miscellaneous
  - name: Job
    description: Job
    x-nash-topic: wismo
  - name: Batch Job
    description: Batch Job
    x-nash-topic: wismo
  - name: Order
    description: Order
    x-nash-topic: wismo
  - name: Route
    description: Route
    x-nash-topic: scheduling
  - name: Provider
    description: Provider
    x-nash-topic: provider
  - name: Dispatch Strategies
    description: Dispatch Strategies
    x-nash-topic: scheduling
  - name: Store Locations
    description: Store Locations
    x-nash-topic: config
  - name: Vehicles
    description: Vehicles
    x-nash-topic: provider
  - name: Couriers
    description: Couriers
    x-nash-topic: provider
  - name: Shifts
    description: Shifts
    x-nash-topic: provider
  - name: Delivery Windows
    description: Delivery Windows
    x-nash-topic: config
  - name: Templates
    description: Templates
    x-nash-topic: config
  - name: Zones
    description: Zones
    x-nash-topic: config
  - name: Feedback
    description: Feedback
    x-nash-topic: reporting
  - name: Organizations
    description: Organizations
    x-nash-topic: config
  - name: Store Catalog
    description: Store Catalog
    x-nash-topic: config
  - name: Messaging
    description: Messaging
    x-nash-topic: config
  - name: Contracts
    description: Provider contract pricing and version listings
    x-nash-topic: provider
  - name: Event Timeline
    description: Entity-scoped event timeline + outbound provider traffic for one entity.
    x-nash-topic: internal
  - name: Fleet
    description: Inbound endpoints fleets call to update in-flight deliveries.
    x-nash-topic: delivery
  - name: Route Restrictions
    description: Org-scoped geographic areas the route optimizer must avoid traversing.
    x-nash-topic: config
  - name: Users
    description: User, role, and organization-membership management.
    x-nash-topic: config
paths:
  /v1/notification-triggers/catalog:
    get:
      tags:
        - Notifications
      summary: Get Notification Trigger Catalog
      description: >-
        The full notification-trigger catalog. Each entry describes a trigger's
        `type` slug, human `title`, the `value` used to subscribe automations,
        the `entityType` (route/delivery/task/order/activity), its `statuses`
        vocabulary, the JSON Schema of its create `parameters`, and the
        `supportedFilters` / `supportedActions`. The shared `filterCriteria`
        (dispatch strategies, contracts, zones, metadata conditions) and
        `actions` are described once at the top level. Designed for agents and
        humans to discover what can be automated and how.
      operationId: get_notification_trigger_catalog_v1_notification_triggers_catalog_get
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTriggerCatalogResponse'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NashValidationError'
components:
  schemas:
    NotificationTriggerCatalogResponse:
      title: NotificationTriggerCatalogResponse
      type: object
      properties:
        filterCriteria:
          title: Filtercriteria
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FilterCriterion'
          description: >-
            Shared filter criteria available to every trigger, keyed by
            FilterCriterionKey.
        actions:
          title: Actions
          type: array
          items:
            $ref: '#/components/schemas/TriggerAction'
          description: Available action types that can be configured on a trigger.
        triggers:
          title: Triggers
          type: array
          items:
            $ref: '#/components/schemas/TriggerCatalogEntry'
          description: One entry per NotificationTriggerType member.
      description: Full catalog response for GET /v1/notification-triggers/catalog.
    NashValidationError:
      title: NashValidationError
      required:
        - error
        - response_status
        - RequestID
      type: object
      properties:
        error:
          $ref: '#/components/schemas/NashErrorDetails'
        response_status:
          title: Response Status
          type: string
        RequestID:
          title: Requestid
          type: string
    FilterCriterion:
      title: FilterCriterion
      required:
        - field
        - valueType
      type: object
      properties:
        field:
          title: Field
          type: string
          description: >-
            Wire field name on the create/update payload (e.g.
            'optionsGroupIds').
        valueType:
          $ref: '#/components/schemas/FilterValueType'
          description: How the value is shaped.
        listEndpoint:
          title: Listendpoint
          anyOf:
            - type: string
            - type: 'null'
          description: Endpoint that lists valid ids, when value_type=id_list.
          default: null
        operators:
          title: Operators
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/ConditionOperator'
            - type: 'null'
          description: Operators available, when value_type=condition_tree.
          default: null
        nodeShape:
          title: Nodeshape
          anyOf:
            - type: string
            - type: 'null'
          description: Condition-tree node shape, when value_type=condition_tree.
          default: null
        description:
          title: Description
          type: string
          description: What this filter limits.
          default: ''
      description: A single filter criterion available to all notification triggers.
    TriggerAction:
      title: TriggerAction
      required:
        - key
      type: object
      properties:
        key:
          $ref: '#/components/schemas/ActionKey'
          description: Action key.
        fields:
          title: Fields
          type: array
          items:
            type: string
          description: Wire fields that configure this action.
      description: An action type that can be configured on a notification trigger.
    TriggerCatalogEntry:
      title: TriggerCatalogEntry
      required:
        - type
        - title
        - value
        - entityType
        - category
      type: object
      properties:
        type:
          $ref: '#/components/schemas/NotificationTriggerSlug'
          description: >-
            Stable trigger slug (e.g. 'route_status_transition'). Closed set;
            see enum.
        title:
          title: Title
          type: string
          description: Human-readable title.
        value:
          $ref: '#/components/schemas/NotificationTriggerType'
          description: >-
            Pipe-delimited subscription id used by agent executions (closed set;
            one per trigger).
        entityType:
          $ref: '#/components/schemas/TriggerEntityType'
          description: Primary entity this trigger relates to.
        category:
          $ref: '#/components/schemas/TriggerEntityType'
          description: Coarse grouping (currently the entity type).
        isFlag:
          title: Isflag
          type: boolean
          description: Whether this is a flag-style trigger.
          default: false
        creatable:
          title: Creatable
          type: boolean
          description: >-
            Whether an agent can create this trigger via POST
            /v1/notification-triggers. False for system-generated triggers (e.g.
            route execution exceptions) that have no create variant — its
            parametersSchema is empty for that reason, not because it takes no
            parameters.
          default: false
        description:
          title: Description
          type: string
          description: Description of when the trigger fires.
          default: ''
        statuses:
          title: Statuses
          type: array
          items:
            $ref: '#/components/schemas/EntityStatus'
          description: >-
            The exact valid on_statuses for THIS trigger (subset of the
            EntityStatus enum); empty for non status-transition triggers.
        parametersSchema:
          title: Parametersschema
          type: object
          additionalProperties: true
          description: JSON Schema of this trigger's create parameters.
        supportedActions:
          title: Supportedactions
          type: array
          items:
            $ref: '#/components/schemas/ActionKey'
          description: Action keys this trigger supports.
        supportedFilters:
          title: Supportedfilters
          type: array
          items:
            $ref: '#/components/schemas/FilterCriterionKey'
          description: Filter-criteria keys this trigger supports.
      description: A single trigger type in the notification trigger catalog.
    NashErrorDetails:
      title: NashErrorDetails
      required:
        - code
        - message
      type: object
      properties:
        code:
          title: Code
          type: string
        message:
          title: Message
          type: string
        details:
          title: Details
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          default: null
    FilterValueType:
      title: FilterValueType
      enum:
        - id_list
        - condition_tree
      type: string
      description: How a filter criterion's value is shaped.
    ConditionOperator:
      title: ConditionOperator
      enum:
        - equals
        - not_equals
        - greater_than
        - less_than
        - greater_than_or_equal_to
        - less_than_or_equal_to
        - in
        - not_in
        - contains
        - starts_with
        - ends_with
      type: string
      description: >-
        Operators available in a metadata condition tree.


        Must mirror the operators the runtime evaluator honors in

        ``streaming_service/notifications/utils.py``
        (meets_conditional_filter_rules);

        the drift guard in the serializer tests locks this to the assembly dict,
        which

        is verified against that evaluator.
    ActionKey:
      title: ActionKey
      enum:
        - send_message
        - flag_delivery
        - auto_resolve_flag
        - add_custom_event
      type: string
      description: The actions a trigger can be configured to take when it fires.
    NotificationTriggerSlug:
      title: NotificationTriggerSlug
      enum:
        - delivery_incident_report
        - status_changed_too_quickly
        - dropoff_delayed
        - driver_geolocation
        - pickup_delayed
        - driver_location_vs_delivery_status
        - stuck_status
        - task_reassignment
        - delivery_status_transition
        - autodispatch_failed
        - address_validation_failed
        - order_needs_attention
        - order_ready_to_fulfill
        - job_creation_failed
        - delivery_cancellation_failed
        - task_health_status
        - internal_driver_not_assigned
        - nash_ai_invalid_pod
        - delivery_completed_too_early
        - order_not_dispatched_close_to_pickup
        - tasks_attempts_exhausted
        - refund_request
        - optimization_order_unassigned
        - zone_geolocation
        - api_based
        - status_triggered_too_early
        - optimization_action_status
        - driver_stacking
        - time_elapsed_since_status
        - activity_status_transition
        - demo
        - custom_event_listener
        - proof_of_delivery_uploaded
        - courier_updated
        - timing_updated
        - ai_conversation_completed
        - delivery_window_booked_timeout
        - delivery_note_added
        - order_modified
        - route_status_transition
        - catchment_violation
        - late_departure
        - vehicle_breakdown
        - customer_not_home
        - adhoc_break
        - vehicle_overweight
        - vehicle_oversize
        - refuel_request
      type: string
    NotificationTriggerType:
      title: NotificationTriggerType
      enum:
        - 18zdfialfe|Delivery Incident Report
        - 8e2b5ead2b|Statuses changed too quickly
        - >-
          z9aaa5b61b|Dropoff Delayed - Dropoff ETA too far after specified
          dropoff time
        - a62ccd6cf7|Driver Geolocation
        - >-
          8adu432fxx|Pickup Delayed - Pickup ETA too far after specified pickup
          time
        - 2d00e8337d|Driver location inconsistent with delivery status
        - d9abb5b61b|"Stuck" Status
        - xuf71kdfa7|Task Reassignment
        - 50851e6311|Delivery Status Transition
        - 0slfyzlxy3|Autodispatch Failed
        - qd2910zx34|Address Validation Failed
        - 20231018|Nash order needs attention
        - 20231201|Nash order ready to fulfill
        - ouut3gfaey|Job Creation Failed
        - 6101a86efd|Delivery Cancellation Failed
        - 72f25b6941|Live Monitoring Status
        - a0240620|Internal Driver Not Assigned
        - 8x567890|Invalid Proof of Delivery Photo
        - 9f9uu7z0|Delivery Completed Too Early
        - ix38123456|Order Not Dispatched Close to Pickup
        - 86dc85e3|Tasks Attempts Exhausted
        - 8dxl093456|Refund Request
        - 19f1kx1j2|Optimization Unassigned Order
        - pqr123f5s|Zone Geolocation
        - 2ef442ca|API Based
        - rt32km97j|Status Triggered Too Early
        - 03dekfned|Optimization Action Status
        - az8dfllk8|Driver Stacking
        - b37098781|Time Elapsed Since Status
        - 44t6kh981k|Activity Status Transition
        - k3m8t9zqf|Demo
        - c7e4f91a3b|Custom Event Listener
        - f8d2a1b3c4|Proof of Delivery Uploaded
        - e7c9b5d6a2|Courier Updated
        - d4f6e8a1b9|Timing Updated
        - c3b7d9e2f5|AI Conversation Completed
        - a9f3e0c7d2|Delivery Window Booked Timeout
        - b5e8f2a1d3|Delivery Note Added
        - m4d1f1c8e6|Order Modified
        - a8f3d91c4e|Route Status Transition
        - 7c8a2f9d31|Catchment Violation
        - 1a4d2b7c8e|Late Departure
        - 9b2c8e1d4a|Vehicle Breakdown
        - cnh4a2b8c1|Customer Not Home
        - adb3f7e2c9|Ad-hoc Break
        - vow8c1a2b9|Vehicle Overweight
        - voz1b9c8a4|Vehicle Oversize
        - rfl5d2c7e9|Refuel Request
      type: string
    TriggerEntityType:
      title: TriggerEntityType
      enum:
        - route
        - delivery
        - task
        - order
        - activity
        - unknown
      type: string
      description: Primary entity a trigger relates to.
    EntityStatus:
      title: EntityStatus
      enum:
        - archived
        - arrived_at_facility
        - assigned
        - assigned_driver
        - awaiting_consignee_pickup
        - awaiting_consignor_dropoff
        - canceled
        - canceled_by_auto_reassign
        - canceled_by_customer
        - canceled_by_merchant
        - canceled_by_nash
        - canceled_by_provider
        - canceled_by_reassign
        - completed
        - confirmed
        - contacting_provider
        - created
        - delayed
        - departed_from_facility
        - dispatch_failure
        - dispatched
        - dispatched_to_provider
        - dropoff_arrived
        - dropoff_complete
        - dropoff_enroute
        - expired
        - failed
        - in_progress
        - in_transit
        - items_pick_complete
        - label_created
        - manifested
        - needs_attention
        - not_assigned_driver
        - partial_delivered
        - pick_complete
        - picking_complete
        - pickup_arrived
        - pickup_complete
        - pickup_enroute
        - pickup_in_progress
        - planned_selection
        - return_arrived
        - return_in_progress
        - returned
        - returned_to_store
        - running
        - scheduled
        - sent_to_provider
        - started
        - valid
      type: string
    FilterCriterionKey:
      title: FilterCriterionKey
      enum:
        - dispatch_strategies
        - contracts
        - zones
        - metadata_conditions
      type: string
      description: The shared filter criteria a trigger can be scoped by.

````