Skip to main content
Returns are their own versioned resource. They are not embedded in order.updated because a return can begin after fulfillment and can be approved, rejected, received, refunded, or corrected independently of the order status.

Events

All three use schemaVersion: "2026-08-29", the standard event ID, resourceVersion, source identity, and complete data.return snapshot.

Statuses

marketplaceStatus preserves the provider label. Build business behavior from the normalized status; retain the provider label only for audit and support.

Return snapshot

Each line contains stable internal and provider line IDs, matched productId, marketplace product/variant IDs, SKU aliases, quantity, status, and line refund money. Buyer names, emails, phones, and delivery addresses are excluded.

Example status change

Pull reconciliation

Use GET /api/v1/returns with returns:read for bootstrap or reconciliation. Filter by marketplace, exact account, external order ID, or updatedSince, and follow the opaque cursor. Use GET /api/v1/returns/{returnId} for one resource. Consumer rules are the same as other versioned webhooks: deduplicate by event id, apply only a newer resourceVersion for one subject.id, replace from the complete snapshot, and ignore unknown additive fields.