Return webhook events

Updated June 11, 20261 min read

Return-request webhooks track the return lifecycle — approvals, rejections, item receipt, and completion. The trigger HTTP header carries a fixed string indicating the event category.

Wire trigger values

The trigger header carries one of two values:

Trigger header valueFires when
return_status_updateReturn request transitions to a new status
return_received_updateItems are received or returned at the return location

Status triggers

You subscribe to individual statuses in the webhook configuration's notify_status list. When the return request reaches one of these statuses, the webhook fires with trigger header return_status_update.

StatusFires when
pendingReturn request is awaiting review
on_holdReturn request is placed on hold
approvedReturn request is approved
rejectedReturn request is rejected
cancelledReturn request is cancelled
completedReturn is completed
returnedItems have been returned
receivedItems have been received at the return location

Item triggers

Item-level events fire with trigger header return_received_update. These are controlled by configuration fields on the webhook:

Configuration fieldFires when
notifyReturnRequestReceivedItemsItems received at the return location
notifyReturnRequestReturnedItemsItems returned/restocked

Payload

The body is the full ReturnRequest object as JSON. No wrapper, no diff.

{
  "return_request_id": "RET-00078901",
  "merchant": "ACME",
  "status": "approved",
  "line_items": [
    {
      "sku": "SHOES-RUN-42",
      "quantity": 1,
      "reason": "wrong_size"
    }
  ],
  "customer": {
    "contact_name": "Jane Doe",
    "country": "GB",
    "city": "London"
  }
  // ... full return request fields
}

Conditions

No entity-specific conditions are available for return-request webhooks. The webhook fires for all return-request events matching the configured triggers.