Uber Eats Marketplace API Change Log
Keep track of changes and improvements to the Uber Eats APIs.
Uber Eats Marketplace APIs are versioned at the endpoint-level. With the exception of privacy or security fixes, introduction of a backwards-incompatible change will result in the version number of the API being incremented. Backward-incompatible changes will be communicated 90 days in advance so as to not interrupt integrations. A majority of Uber Eats Marketplace API changes are backward-compatible and can be adopted as soon as released.
¶ 2024-10-22 Order API: Replacement, Tracking & Approvals
Added Replacement, Tracking & Approvals (RT&A) support for Grocery and Retail merchants.
- Endpoints Affected: GetOrder and ResolveFulfillmentIssues
- Required: To gain access to the “Replacement, Tracking & Approvals” feature (RT&A), your app must first be approved and whitelisted by the Uber Eats team.
- Feature Description: This feature allows customers to approve or reject replacements proposed by merchants when original items are out of stock, reducing dissatisfaction with unexpected substitutions. Once the customer responds, merchants can view the response and take necessary actions, such as removing the item or proposing a new replacement. Merchants with RT&A enabled can trigger this flow by sending action_type:
REPLACE_FOR_ME
when resolving fulfillment issues.
¶ 2024-10-14 Order API: Dispatch Multiple Courier
Added Dispatch Multiple Courier Endpoint.
- Endpoint Added: UpdateDeliveryPartnerCount
- Required Scope:
delivery.multiple.courier
. To gain access to the required scope, your app must first be approved and whitelisted by the Uber Eats team. - Feature Description: Disptach Multi-Courier (DMC) is a feature designed to support merchants, such as restaurants and grocery stores, when they have large orders that exceed the carrying capacity of a single courier. With DMC, merchants can request between 2 to 4 couriers, and in exceptional cases, up to 5 couriers.
¶ 2024-09-16 Order API: Extended Resolve Fulfillment Issues Support
Added Support for Grocery and Retail replacements.
- Endpoints Affected: GetOrder and ResolveFulfillmentIssues
- Feature Description: A new enum
action_type
has been added for Grocery and Retail merchants to resolve order’s fulfillment issues:SUBSTITUTE_ME
- Allows merchant to replace an item with customer’s specific replacement preference. This action should only be used when the customer’s preferred action isSUBSTITUTE_ME
and it’s available for “Retail” merchants only.REPLACE_FOR_ME
- Allows merchant to choose a replacement to send to the customers. This action is available for “Retail” merchants only.REMOVE_ITEM
- Allows merchant to remove an item if it’s unavailable. This action is available for “Retail” merchants only.
¶ 2024-08-21 Order API: Addition of BYOC Order Tracking Fields in Get Order Details
Added New field in GET Order Details payload.
- Added:
order_tracking_metadata
– Field to store order tracking metadata for BYOC orders. This is only populated when a merchant is set to handle Bring-Your-Own-Courier (“BYOC”) orders. For all other fulfillment types, like “DELIVERY_BY_UBER”, this object is omitted. - Feature Description: Developers are expected to generate a QR code from the URL provided in the field, enabling the merchant’s delivery couriers to scan the QR code and seamlessly integrate with the Uber Driver app. This allows them to provide real-time delivery location updates directly to the customer as they complete the delivery.
¶ 2024-05-27 Outage Mitigation Enhancements in Store Status API
Endpoint Changes:
- Endpoints Affected:
GetStoreStatus
,GetStoreDetails
,GetStore
(Store API Suite & Previous Store Status API) - Enhancement Description: A new enum,
INCIDENT_DETECTED_ON_ORDER_MANAGEMENT_APPLICATION
, has been added to the offline_reason_metadata field. This update prevents locations from resuming operations via SetStoreStatus during outages detected by Uber in the order fulfillment application. It is critical to ensure that your developer application includes valid user email addresses to maintain communication with Uber during potential service disruptions.
Endpoint Behavioral Change:
- Error Handling If an attempt is made to set online a store during an active outage or severe degradation detected by Uber, the API will respond with:
- Status Code:
400 - Bad Request
- Error Message:
"Uber has detected your order fulfillment application is experiencing an outage. Store status cannot be updated at this time."
- Status Code:
¶ 2024-03-13 Reporting API: Introduction of constraints on request timerange
Introduced specific constraints on the permissible time ranges for a reporting request. These include both range and lookback periods applicable to various report types. For comprehensive information about these constraints, please refer to the Request Constraints section under the Reporting API documentation.
¶ 2024-02-28 Public Postman Workspace
Uber’s Eats Marketplace APIs are available at https://www.postman.com/uber.
The intent of this workspace is to facilitate the sharing of request examples and use-cases. If you wish to suggest any additions, we welcome inputs from our community: https://t.uber.com/integration-support.
¶ 2024-02-06 New Uber Eats Marketplace Promotions API Suite
Uber’s new Promotions API allows storefronts to read, create and delete promotions autonomously.
Features:
- Create Promotion: Introduces the ability to create promotions for stores.
- Revoke Promotion: Allows revoking a promotion by specifying its ID.
- Get Promotion: Retrieves details of a single promotion by specifying its ID.
- Get Promotions: Provides a list of all promotions on a store, filtered by state and time range.
¶ 2024-02-05 Enhanced Integration Configuration API Suite
Integration Configuration API Suite
Uber’s Integration Configuration APIs have been updated to enable versioning configuration and additional store-level configurations for best management of store configurations within Uber.
New Features Include
- Webhook API Version for setting version for webhook notifications. Note that you must set the webhooks version to “1.0” if you are using Uber’s updated Order API Suite.
- Manual Acceptance enabling merchants to handle acceptance on our Uber Eats Order software in conjuction with their integration.
- Improved Webhook Management enabling application to toggle webhooks based on location.
¶ 2023-09-18 New Order & Store API Suites
Order API Suite - Store API Suite
At Uber, our relentless pursuit to provide superior services and tools for our partners is at the heart of our operations. With this in mind, we are thrilled to announce the forthcoming release of our new Store and Order Management API suites.
This significant advancement is a strategic initiative to synchronize our support methods and better equip your external platforms to handle the needs of our shared platform users. By aligning the capabilities of our merchant live order fulfillment application (Uber Eats Orders Android / iOS) with our API suites, we aim to provide you with an enhanced, efficient, and streamlined toolset that mirrors our in-house application functionalities. We believe this will empower you with more robust tools to innovate and grow with our platform.
New Features include
- Schedule Order Webhook for additional notification at time of order placement.
- Adjust Order Fulfillment Endpoint and Webhook to enable adjustment of orders with your customers.
POST Resolve Fulfillment Issues
&order.fulfillment_issues.resolved
. - Store Status Webhook notifications from Uber when a store’s status has been adjusted.
¶ 2022-03-25 Order API: Addition of Tax Reporting fields in Get Order Details
Added New fields in order payload taxReporting with tax detail breakdown
- Tax Location ID for the Eater and Store
- Tax Labels for each item in the Cart
- Tax Reporting structure in Accounting
¶ 2022-01-08 Integration API: Enhancements and rebranding of Integration Config API
In an effort to consolidate and standardize external integration metadata and configurations, Uber is enabling new fields to fetch application specific metadata via the GET
/pos_data
endpoint and update it using the PATCH
& POST
/pos_data
endpoints. For ease-of-use, the individual and paging GET
/stores
endpoint(s) will now also include pos_data
as a store sub-field.
Activate and Update Integration Details
- Added
is_order_manager
– set this flag to true if you want to nominate your app for managing the core order workflow. The order manager app is responsible for accepting; rejecting; or canceling orders on behalf of the merchant. Most apps will be required to perform follow-up actions to complete the process: you must listen and respond to thestore.provisioned
webhook. As there can only be one order manager, if your app is eventually promoted, any existing order manager app will be demoted. Note: you should not request this flag if your app is passively observing store and order activity. - Added
integrator_store_id
– developer’s unique store-specific ID for reference. - Added
integrator_brand_id
– developer’s unique brand-specific ID for reference. - Changed name of
partner_store_id
to merchant_store_id in Activate Integration endpoint - Changed name of
pos_integration_enabled
to integration_enabled in Get Integration Details and Update Integration Details endpoints - Deprecated
pos_integration_enabled
field in Activate Integration
Get Order Details
- Added
order_manager_client_id
– order manager of the order. This client ID is the only client ID that can accept the orders. If you are not the Order Manager, your client ID is not responsible for accepting, denying, or canceling the order. - Added
integrator_store_id
– developer’s unique store-specific ID for reference. - Added
integrator_brand_id
– developer’s unique brand-specific ID for reference. - Added
merchant_store_id
– merchant unique store-specific ID for reference.