Skip to main content

Report Fulfillment Order progress with new fulfillmentOrderReportProgress GraphQL mutation

As of API Version 2026-04 third-party logistics providers (3PLs) and fulfillment apps can now report progress on fulfillment orders with the fulfillmentOrderReportProgress mutation. This feature enables fulfillment services to indicate that work has commenced and, optionally, add brief status notes so merchants see what’s happening in their fulfilment pipeline.

Key Details:

  • Reporting progress for 3PL-managed orders works with fulfillment orders in IN_PROGRESS status
  • Reporting progress for merchant-managed orders works with fulfillment orders in OPEN or IN_PROGRESS status (requires write_merchant_managed_fulfillment_orders scope)
  • Supports optional reasonNotes field (up to 256 characters) for additional context
  • New fulfillment_orders/progress_reported webhook available to track when progress has been reported
  • fulfillmentOrder.supportedActions field will now return the REPORT_PROGRESS action when a fulfillment order can have progress reported.

New Webhooks

Topic: fulfillment_orders/progress_reported

This webhook is triggered when progress is reported on a fulfillment order. The payload includes the fulfillment order ID and status, the initial_status before the update, and progress_report details including reason_notes and attribution data for the app or user that reported the progress.

Topic: fulfillment_orders/manually_reported_progress_stopped

This webhook fires when a merchant-managed fulfillment order that has had progress manually reported (via fulfillmentOrderReportProgress) is subsequently marked as "ready for fulfillment", transitioning it from IN_PROGRESS back to OPEN status. This webhook allows apps to know when a merchant has "undone" or "cancelled" the in-progress status they previously reported.

Was this section helpful?