API reference
Every operation, generated from the platform's own operation registry.
This page is generated from the same registry the gateway authorizes against. The scope, entitlement, idempotency and sandbox facts below are not a description of the implementation — they are the implementation's own metadata.
Account
GET /v1/me/membership
Coming soon Sandbox supported
Whether this customer holds an active Ryde One membership. Call it before offering to transact, so the agent can explain the requirement rather than hit a 403 mid-sentence.
| Operation | get_membership_status |
|---|---|
| Scope | profile.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_membership_status |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/me/membership' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
Food
GET /v1/food/merchants
Coming soon Sandbox supported
Find open restaurants, grocery stores and shops near a point.
| Operation | search_restaurants |
|---|---|
| Scope | food.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | search_restaurants |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/food/merchants' \
-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.
| Operation | quote_food_order |
|---|---|
| Scope | food.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | quote_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.
| Operation | place_food_order |
|---|---|
| Scope | food.order |
| Entitlement | Ryde One required |
| Idempotency | Required |
| MCP tool | place_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.
| Operation | get_food_order |
|---|---|
| Scope | food.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_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.
| Operation | list_food_orders |
|---|---|
| Scope | food.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | list_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.
| Operation | cancel_food_order |
|---|---|
| Scope | food.read |
| Entitlement | None |
| Idempotency | Supported |
| MCP tool | cancel_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 '{ … }'
Rides
GET /v1/rides/products
Coming soon Sandbox supported
The vehicle tiers that can be requested, with each tier's base fare.
| Operation | search_ride_options |
|---|---|
| Scope | rides.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | search_ride_options |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/rides/products' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
POST /v1/rides/quote
Coming soon Sandbox supported
Road distance, driving time and the final fare per vehicle tier, tax included. Returns the quote_id request_ride requires.
| Operation | quote_ride |
|---|---|
| Scope | rides.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | quote_ride |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/rides/quote' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/rides
Coming soon Ryde One required Sandbox supported
Request the ride the customer confirmed, from a quote_id they were shown.
| Operation | request_ride |
|---|---|
| Scope | rides.request |
| Entitlement | Ryde One required |
| Idempotency | Required |
| MCP tool | request_ride |
Requires a fresh quote the customer was shown, plus an Idempotency-Key.
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/rides' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
-d '{ … }'
GET /v1/rides/{ride_id}
Coming soon Sandbox supported
Live state of one ride: dispatch progress, the assigned driver and vehicle, and the pickup ETA. Never membership-gated — a ride in progress stays trackable.
| Operation | get_ride |
|---|---|
| Scope | rides.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_ride |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/rides/$ride_id' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
GET /v1/rides
Coming soon Sandbox supported
The customer's own ride history, newest first.
| Operation | list_rides |
|---|---|
| Scope | rides.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | list_rides |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/rides' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
POST /v1/rides/{ride_id}/cancel
Coming soon Sandbox supported
Cancel a ride that has not started. Never membership-gated, for the same reason as cancelling an order.
| Operation | cancel_ride |
|---|---|
| Scope | rides.read |
| Entitlement | None |
| Idempotency | Supported |
| MCP tool | cancel_ride |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/rides/$ride_id/cancel' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
Delivery
POST /v1/deliveries/quote
Coming soon Sandbox supported
Price a courier run between two points. Runs the same pricing path the request does, so the quote is the charge.
| Operation | quote_delivery |
|---|---|
| Scope | delivery.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | quote_delivery |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/deliveries/quote' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/deliveries
Coming soon Ryde One required Sandbox supported
Dispatch a courier to move a package, from a quote_id the customer was shown.
| Operation | request_delivery |
|---|---|
| Scope | delivery.request |
| Entitlement | Ryde One required |
| Idempotency | Required |
| MCP tool | request_delivery |
Requires a fresh quote the customer was shown, plus an Idempotency-Key.
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/deliveries' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
-d '{ … }'
GET /v1/deliveries/{delivery_id}
Coming soon Sandbox supported
Live state of one delivery, including courier progress and proof of delivery once collected.
| Operation | get_delivery |
|---|---|
| Scope | delivery.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_delivery |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/deliveries/$delivery_id' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
Services
GET /v1/services/providers
Coming soon Sandbox supported
Find providers who travel to the customer, with their live availability. Availability is derived per request and is never cached by the client.
| Operation | search_service_providers |
|---|---|
| Scope | services.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | search_service_providers |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/services/providers' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
GET /v1/services/providers/{provider_id}/slots
Coming soon Sandbox supported
Open appointment slots on a date, for a job of a given duration. A long job is only offered a start whose consecutive slots are all free.
| Operation | get_provider_availability |
|---|---|
| Scope | services.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_provider_availability |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/services/providers/$provider_id/slots' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
POST /v1/services/bookings/quote
Coming soon Sandbox supported
Price a service booking before committing to a slot.
| Operation | quote_service |
|---|---|
| Scope | services.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | quote_service |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/services/bookings/quote' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/services/bookings
Coming soon Ryde One required Sandbox supported
Book a provider, optionally into a specific slot. Slot contention is settled by the platform: a losing booking is refused, never double-booked.
| Operation | book_service |
|---|---|
| Scope | services.book |
| Entitlement | Ryde One required |
| Idempotency | Required |
| MCP tool | book_service |
Requires a fresh quote the customer was shown, plus an Idempotency-Key.
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/services/bookings' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
-d '{ … }'
GET /v1/services/bookings/{booking_id}
Coming soon Sandbox supported
Live state of one booking, through arrival, start and completion.
| Operation | get_service_booking |
|---|---|
| Scope | services.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_service_booking |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/services/bookings/$booking_id' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
Tasks
GET /v1/tasks/types
Coming soon Sandbox supported
The task types this market can actually execute, with the evidence each one collects. Only types Ryde can staff are listed.
| Operation | list_task_types |
|---|---|
| Scope | tasks.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | list_task_types |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/tasks/types' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
POST /v1/tasks/quote
Coming soon Sandbox supported
Price a task and confirm a qualified provider could be found for it before committing.
| Operation | quote_task |
|---|---|
| Scope | tasks.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | quote_task |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/tasks/quote' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/tasks
Coming soon Ryde One required Sandbox supported
Dispatch real-world work with structured requirements and evidence rules.
| Operation | create_task |
|---|---|
| Scope | tasks.create |
| Entitlement | Ryde One required |
| Idempotency | Required |
| MCP tool | create_task |
Requires a fresh quote the customer was shown, plus an Idempotency-Key.
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/tasks' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
-d '{ … }'
GET /v1/tasks/{task_id}
Coming soon Sandbox supported
Task state, the assigned provider, and the evidence collected so far.
| Operation | get_task |
|---|---|
| Scope | tasks.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_task |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/tasks/$task_id' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
GET /v1/tasks/{task_id}/evidence
Coming soon Sandbox supported
The evidence collected against a task: photos with their content hashes, capture GPS and device timestamps, and any checklist answers.
| Operation | get_task_evidence |
|---|---|
| Scope | tasks.read |
| Entitlement | None |
| Idempotency | Not required |
| MCP tool | get_task_evidence |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/tasks/$task_id/evidence' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
POST /v1/tasks/{task_id}/cancel
Coming soon Sandbox supported
Cancel a task that has not started.
| Operation | cancel_task |
|---|---|
| Scope | tasks.read |
| Entitlement | None |
| Idempotency | Supported |
| MCP tool | cancel_task |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/tasks/$task_id/cancel' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'