Events API Changelog
2026-10-22
Added
- Added an optional
dsp_feesfield to theorder.confirmedpayload. It carries customer-paid fees that are collected with the order but remitted to the ordering platform rather than kept by the merchant, such as a small order fee, in the lowest denomination. It is omitted when the order has no such fees. Read More
Changed
totalon theorder.confirmedpayload now includesdsp_fees, so it matches the amount the customer was charged at checkout. Previously these fees were left out oftotal. If you usetotalas merchant revenue, subtractdsp_fees. Read More
2026-10-08
Added
- Added an optional
courier_tracking_urlfield to theorder.confirmedpayload. On Uber Eats orders delivered by the merchant's own courier (merchant_managed_delivery), it carries a courier-facing link that opens the Uber Driver app so the courier shares live location with Uber. Do not show it to customers. It is omitted on all other orders, so existing integrations are unaffected. Read More
2026-10-01
Added
- Added self-service event subscriptions to the partner portal. On the Events API integration page, Subscribed Events lets you turn each event type on or off yourself, and your choice applies to every location connected to your integration. You no longer need to ask Stream to turn event types on per location. If you haven't made a choice, you receive the default events only:
order.confirmed,order.updatedandorder.canceled.order.tip_updated,delivery.status_updatedand any new event types are off until you turn them on. Read More
2026-09-25
Added
- Added the
order.tip_updatedevent, sent when an order's tip is raised in the POS after it was paid (currently Toast). The payload carries the order's new totaldriver_tip. It can arrive before or withoutorder.confirmed, so handle it idempotently by orderid. This event is opt-in — it is not enabled automatically; contact Stream to start receivingorder.tip_updatedevents. Read More
2026-09-08
Added
- Added optional
is_future_orderandfuture_order_fulfillment_timefields to theorder.confirmedpayload, identifying scheduled/future orders and the epoch-millisecond time they are requested to be completed. Both are omitted on immediate orders, so existing integrations are unaffected. Read More
Changed
estimated_fulfillment_timeis now always populated on scheduled/future orders. Previously it could be sent asnullfor a future order, since the requested time was only carried on an internal future-order field; it now falls back tofuture_order_fulfillment_timeso the required field is never null. Read More
2026-08-12
Added
- Added a
customersarray to theorderpayload of theorder.confirmedevent. For single-customer orders it contains exactly one element. Read More - Added an optional
provider_loyalty_idto customer objects, carrying the customer's loyalty program identifier when the ordering platform supplies one. Orders without a loyalty identifier omit the field, so existing integrations are unaffected. Read More - Documented
cash_amount_dueon theorder.confirmedpayload. When an order isunpaid(for exampledrive_thru), this is the cash amount to collect at fulfillment in the lowest denomination; it may be less thantotalwhen the ordering platform funds benefits that are not sent as discount lines. The field has been sent since 2026-05-04 and was already documented on the DSP and POS APIs — this adds the missing Events API documentation. Read More
Changed
- Deprecated the singular
customerfield on theorder.confirmedpayload in favor ofcustomers. It is still populated with the first customer for backwards compatibility, so no action is required to keep existing integrations working. - Corrected the documented merchant cancellation status value. The API spec previously listed the
order.canceledmerchant status ascanceled; the value Stream actually sends ismerchant_canceled, which is what the Order Canceled page has always shown. No behavior changed — only the spec was wrong. If your integration matches oncanceledfor merchant cancellations, switch tomerchant_canceled.
2026-07-06
Added
- Items and modifiers in the
order.confirmedevent now include astream_id— the Stream catalog ID matching thestream_idexposed on the DSP menu — so order contents can be reconciled against stored menu data instead of by name. Read More
2026-06-29
Added
- Modifiers in the
order.confirmedevent can now contain their own nestedmodifiersarray, allowing multi-level modifier selections to be represented. The field is only present when a modifier has nested selections, so existing integrations are unaffected. Read More
2026-06-08
Added
- Added
pos_order_idto theorderpayload of theorder.confirmedevent — the POS order identifier for the order submitted into the POS system. Read More
2026-01-28
Added
- New event:
order.update.driver.location- Send real-time driver location coordinates during delivery. Read More
2026-01-14
Added
- New event:
driver.status_updated- Triggered when a driver's delivery status is updated. Read More
2024-08-23
Added
- Webhook support for assigning a driver to a delivery order and updating a delivery order's status. Read More