openapi: 3.1.0 info: title: Uber Direct (DaaS) Customers Eats API version: v1 description: Uber Direct exposes Uber's courier network as a delivery-as-a-service (DaaS) API. Merchants request a delivery quote between two addresses, create a delivery from that quote, track courier progress, cancel, and retrieve proof of delivery. Authentication is via OAuth 2.0 client credentials issued from the Uber Developer Portal. Schemas and paths in this spec are derived from the official `uber/uber-direct-sdk` TypeScript SDK (npm package `uber-direct`). contact: name: Uber Direct Developer Portal url: https://developer.uber.com/docs/deliveries/overview servers: - url: https://api.uber.com/v1 description: Uber API production security: - oauth2: [] tags: - name: Eats paths: /eats/stores: get: summary: Uber Eats Get Stores operationId: getStores responses: '200': description: List of stores content: application/json: schema: type: array items: $ref: '#/components/schemas/Store' examples: GetStores200Example: summary: Default getStores 200 response x-microcks-default: true value: - id: del_aBc123XyZ name: Example Store contact_emails: - example partner_identifiers: {} timezone: America/New_York location: {} web_url: https://www.ubereats.com/orders/del_aBc123XyZ x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/stores/{store_id}: parameters: - in: path name: store_id required: true schema: type: string get: summary: Uber Eats Get Store Details operationId: getStore responses: '200': description: Store details content: application/json: schema: $ref: '#/components/schemas/Store' examples: GetStore200Example: summary: Default getStore 200 response x-microcks-default: true value: id: del_aBc123XyZ name: Example Store contact_emails: - example partner_identifiers: {} timezone: America/New_York location: {} web_url: https://www.ubereats.com/orders/del_aBc123XyZ x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/store/{store_id}/status: parameters: - in: path name: store_id required: true schema: type: string post: summary: Uber Eats Set Store Status operationId: setStoreStatus requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StoreStatus' examples: SetStoreStatusRequestExample: summary: Default setStoreStatus request x-microcks-default: true value: status: ONLINE offline_reason: STORE_CLOSED paused_until: '2026-06-01T19:00:00.000Z' responses: '204': description: Store status updated x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/stores/{store_id}/menus: parameters: - in: path name: store_id required: true schema: type: string get: summary: Uber Eats Retrieve Menu operationId: getMenu responses: '200': description: Menu content: application/json: schema: $ref: '#/components/schemas/Menu' examples: GetMenu200Example: summary: Default getMenu 200 response x-microcks-default: true value: menus: - {} categories: - {} items: - {} modifier_groups: - {} x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats put: summary: Uber Eats Upsert Menu operationId: upsertMenu requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Menu' examples: UpsertMenuRequestExample: summary: Default upsertMenu request x-microcks-default: true value: menus: - {} categories: - {} items: - {} modifier_groups: - {} responses: '204': description: Menu accepted for processing x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/stores/{store_id}/menus/items/{item_id}: parameters: - in: path name: store_id required: true schema: type: string - in: path name: item_id required: true schema: type: string post: summary: Uber Eats Update Menu Item (price, Suspension, Availability) operationId: updateMenuItem requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MenuItem' examples: UpdateMenuItemRequestExample: summary: Default updateMenuItem request x-microcks-default: true value: id: del_aBc123XyZ title: {} description: {} price_info: {} suspension_info: {} responses: '204': description: Menu item updated x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/stores/{store_id}/created-orders: parameters: - in: path name: store_id required: true schema: type: string get: summary: Uber Eats Get Created Orders for a Store operationId: getCreatedOrders responses: '200': description: A list of created orders content: application/json: schema: type: array items: $ref: '#/components/schemas/Order' examples: GetCreatedOrders200Example: summary: Default getCreatedOrders 200 response x-microcks-default: true value: - id: del_aBc123XyZ display_id: del_aBc123XyZ external_reference_id: del_aBc123XyZ current_state: example store: {} eater: {} cart: {} payment: {} placed_at: '2026-06-01T19:00:00.000Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/order/{order_id}: parameters: - in: path name: order_id required: true schema: type: string get: summary: Uber Eats Get Order Details operationId: getOrder responses: '200': description: Order details content: application/json: schema: $ref: '#/components/schemas/Order' examples: GetOrder200Example: summary: Default getOrder 200 response x-microcks-default: true value: id: del_aBc123XyZ display_id: del_aBc123XyZ external_reference_id: del_aBc123XyZ current_state: example store: {} eater: {} cart: {} payment: {} placed_at: '2026-06-01T19:00:00.000Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/orders/{order_id}/accept_pos_order: parameters: - in: path name: order_id required: true schema: type: string post: summary: Uber Eats Accept an Order Into the POS operationId: acceptPosOrder requestBody: required: false content: application/json: schema: type: object properties: reason: type: string examples: AcceptPosOrderRequestExample: summary: Default acceptPosOrder request x-microcks-default: true value: reason: example responses: '204': description: Order accepted x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats /eats/orders/{order_id}/cancel: parameters: - in: path name: order_id required: true schema: type: string post: summary: Uber Eats Cancel an Order operationId: cancelOrder requestBody: required: true content: application/json: schema: type: object properties: reason: type: string examples: CancelOrderRequestExample: summary: Default cancelOrder request x-microcks-default: true value: reason: example responses: '204': description: Order canceled x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - Eats components: schemas: MenuItem: type: object properties: id: type: string example: del_aBc123XyZ title: type: object description: type: object price_info: type: object suspension_info: type: object Store: type: object properties: id: type: string example: del_aBc123XyZ name: type: string example: Example Store contact_emails: type: array items: type: string partner_identifiers: type: object timezone: type: string example: America/New_York location: type: object web_url: type: string example: https://www.ubereats.com/orders/del_aBc123XyZ Order: type: object properties: id: type: string example: del_aBc123XyZ display_id: type: string example: del_aBc123XyZ external_reference_id: type: string example: del_aBc123XyZ current_state: type: string example: example store: type: object eater: type: object cart: type: object payment: type: object placed_at: type: string format: date-time example: '2026-06-01T19:00:00.000Z' Menu: type: object properties: menus: type: array items: type: object categories: type: array items: type: object items: type: array items: type: object modifier_groups: type: array items: type: object StoreStatus: type: object properties: status: type: string enum: - ONLINE - OFFLINE - PAUSED example: ONLINE offline_reason: type: string example: STORE_CLOSED paused_until: type: string format: date-time example: '2026-06-01T19:00:00.000Z' securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://auth.uber.com/oauth/v2/token scopes: eats.deliveries: Create and manage Uber Direct deliveries