Request an on-demand local delivery quote and create a delivery using Uber Direct
domain: developer.uber.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Verify Uber Direct webhook signatures — the full failure-mode walkthrough related to developer.uber.com, checked against official docs, with linked verified routes.
Steps
Register an application on the Uber Developer Portal, obtain OAuth 2.0 client credentials, and POST to https://auth.uber.com/oauth/v2/token with grant_type=client_credentials and scope=eats.deliveries to get a bearer token
POST to https://api.uber.com/v1/customers/{customer_id}/delivery_quotes with pickup_address and dropoff_address to receive a fee quote and time estimate; store the returned quote_id
Present the quoted fee and estimated delivery time to the end user and confirm their acceptance
POST to https://api.uber.com/v1/customers/{customer_id}/deliveries with the quote_id from step 2 plus pickup and dropoff contact details, and optionally item manifest for the driver
Poll GET https://api.uber.com/v1/customers/{customer_id}/deliveries/{delivery_id} or configure a webhook to receive status updates as the delivery progresses
If needed, cancel the delivery by POST to https://api.uber.com/v1/customers/{customer_id}/deliveries/{delivery_id}/cancel before a courier is assigned
Known gotchas
A delivery quote is valid for only 15 minutes; if the user does not confirm within that window, a new quote must be fetched — using an expired quote_id returns a 400 error
Uber Direct is subject to geographic availability; the quotes endpoint returns a 422 if no couriers are available in the requested area, not a zero-result rate list, so callers must handle this as a service-unavailable case
The customer_id in the path is the Uber Direct organization ID for your account, not an end-customer identifier; using the wrong ID returns 403 errors that can be mistaken for auth failures
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?