Ryde Developers
Español Dashboard ryde.us.com

Food

Search restaurants, grocery stores and shops, read a menu, price a basket, and place an order. There is no server-side cart: you send the items you want with the quote, and the quote you were given is the order you place.

API version v1 · View as Markdown

Search restaurants, grocery stores and shops, read a menu, price a basket, and place an order. There is no server-side cart: you send the items you want with the quote, and the quote you were given is the order you place.

Lifecycle

  QUOTED
     |
  PLACED
     |
  MERCHANT ACCEPTED  ----> rejected
     |
  PREPARING
     |
  READY FOR PICKUP
     |
  COURIER ASSIGNED        (skipped when the customer collects it)
     |
  PICKED UP
     |
  DELIVERING
     |
  DELIVERED                (or CANCELLED, before pickup)

Operations

GET /v1/food/merchants

Coming soon Sandbox supported

Find open restaurants, grocery stores and shops near a point.

Operationsearch_restaurants
Scopefood.read
EntitlementNone
IdempotencyNot required
MCP toolsearch_restaurants

Example request

curl -s 'https://sandbox-api.ryde.us.com/v1/food/merchants' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN"

GET /v1/food/merchants/{merchant_id}/menu

Coming soon Sandbox supported

The public catalogue for one merchant. Cost, stock, barcodes and supplier ids are the merchant's own business and are never returned here.

Operationget_restaurant_menu
Scopefood.read
EntitlementNone
IdempotencyNot required
MCP toolget_restaurant_menu

Example request

curl -s 'https://sandbox-api.ryde.us.com/v1/food/merchants/$merchant_id/menu' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN"

POST /v1/food/orders/quote

Coming soon Sandbox supported

Price a basket exactly as checkout would: items, fees, taxes, any member discount, and the total. Returns the quote_id place_food_order requires.

Operationquote_food_order
Scopefood.read
EntitlementNone
IdempotencyNot required
MCP toolquote_food_order

Example request

curl -sX POST 'https://sandbox-api.ryde.us.com/v1/food/orders/quote' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{ … }'

POST /v1/food/orders

Coming soon Ryde One required Sandbox supported

Place the order the customer confirmed, from a quote_id they were shown.

Operationplace_food_order
Scopefood.order
EntitlementRyde One required
IdempotencyRequired
MCP toolplace_food_order

Requires a fresh quote the customer was shown, plus an Idempotency-Key.

Example request

curl -sX POST 'https://sandbox-api.ryde.us.com/v1/food/orders' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H 'Content-Type: application/json' \
  -d '{ … }'

GET /v1/food/orders/{order_id}

Coming soon Sandbox supported

Live state of one order, including courier progress. Deliberately NOT membership-gated: an order that exists stays trackable whatever happens to the membership.

Operationget_food_order
Scopefood.read
EntitlementNone
IdempotencyNot required
MCP toolget_food_order

Example request

curl -s 'https://sandbox-api.ryde.us.com/v1/food/orders/$order_id' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN"

GET /v1/food/orders

Coming soon Sandbox supported

The customer's own order history, newest first.

Operationlist_food_orders
Scopefood.read
EntitlementNone
IdempotencyNot required
MCP toollist_food_orders

Example request

curl -s 'https://sandbox-api.ryde.us.com/v1/food/orders' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN"

POST /v1/food/orders/{order_id}/cancel

Coming soon Sandbox supported

Cancel an order, where its current state still allows it. Never membership-gated — getting OUT of a transaction must not require an entitlement.

Operationcancel_food_order
Scopefood.read
EntitlementNone
IdempotencySupported
MCP toolcancel_food_order

Example request

curl -sX POST 'https://sandbox-api.ryde.us.com/v1/food/orders/$order_id/cancel' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{ … }'