Business
Operate a store you are authorized for: read and work its order queue, and manage its catalogue. These are the same routes the Ryde merchant portal and its point of sale call, so a change made here appears on the store's own terminal immediately — there is no separate "API catalogue" to keep in step. Access needs the merchant's own authorization plus their signed Ryde business agreement; a developer cannot accept that agreement on a store's behalf.
Operate a store you are authorized for: read and work its order queue, and manage its catalogue. These are the same routes the Ryde merchant portal and its point of sale call, so a change made here appears on the store's own terminal immediately — there is no separate "API catalogue" to keep in step. Access needs the merchant's own authorization plus their signed Ryde business agreement; a developer cannot accept that agreement on a store's behalf.
Lifecycle
PLACED (the customer has paid, or is paying cash)
|
MERCHANT ACCEPTED ---> REJECTED (a paid order is refunded to the
| customer's Ryde wallet)
PREPARING
|
READY FOR PICKUP (for a delivery order, THIS is what dispatches
| a Ryde courier — couriers accept first-come,
| so there is nothing to assign)
PICKED UP
|
DELIVERED (or COMPLETED, for pickup and dine-in)
Operations
GET /v1/business/orders
Beta Business agreement required Sandbox supported
List the store's orders, newest first. Filter by status or fulfillment, or ask only for active work.
| Operation | list_business_orders |
|---|---|
| Scope | orders.read |
| Entitlement | Business agreement required |
| Idempotency | Not required |
| MCP tool | list_business_orders |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/business/orders' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
GET /v1/business/orders/{order_id}
Beta Business agreement required Sandbox supported
Read one of the store's orders in full, including its line items and status history.
| Operation | get_business_order |
|---|---|
| Scope | orders.read |
| Entitlement | Business agreement required |
| Idempotency | Not required |
| MCP tool | get_business_order |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/business/orders/$order_id' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
POST /v1/business/orders/{order_id}/accept
Beta Business agreement required Sandbox supported
Accept an incoming order. Refused with 402 if a card or wallet order has not been paid yet.
| Operation | accept_business_order |
|---|---|
| Scope | orders.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | accept_business_order |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/business/orders/$order_id/accept' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/business/orders/{order_id}/reject
Beta Business agreement required Sandbox supported
Reject an order. A paid order is refunded to the customer's Ryde wallet — or, when the store collected it on its own Stripe account, to the customer's card by the store — and any booked slot is released.
| Operation | reject_business_order |
|---|---|
| Scope | orders.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | reject_business_order |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/business/orders/$order_id/reject' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/business/orders/{order_id}/preparing
Beta Business agreement required Sandbox supported
Mark an accepted order as being prepared, so the customer's tracking reflects the kitchen.
| Operation | start_business_order_prep |
|---|---|
| Scope | orders.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | start_business_order_prep |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/business/orders/$order_id/preparing' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/business/orders/{order_id}/ready
Beta Business agreement required Sandbox supported
Mark an order ready for collection. For a delivery order this is what dispatches a Ryde courier.
| Operation | mark_business_order_ready |
|---|---|
| Scope | orders.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | mark_business_order_ready |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/business/orders/$order_id/ready' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/business/orders/{order_id}/complete
Beta Business agreement required Sandbox supported
Complete a pickup or dine-in order. Refused with 409 while a table check is still open.
| Operation | complete_business_order |
|---|---|
| Scope | orders.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | complete_business_order |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/business/orders/$order_id/complete' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
GET /v1/business/catalog/items
Beta Business agreement required Sandbox supported
List the store's catalogue items with their prices, modifiers and availability.
| Operation | list_catalog_items |
|---|---|
| Scope | menu.read |
| Entitlement | Business agreement required |
| Idempotency | Not required |
| MCP tool | list_catalog_items |
Example request
curl -s 'https://sandbox-api.ryde.us.com/v1/business/catalog/items' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
POST /v1/business/catalog/items
Beta Business agreement required Sandbox supported
Create a catalogue item. It appears immediately in the store's POS and on its Ryde storefront.
| Operation | create_catalog_item |
|---|---|
| Scope | menu.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | create_catalog_item |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/business/catalog/items' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
PUT /v1/business/catalog/items/{item_id}
Beta Business agreement required Sandbox supported
Update a catalogue item's name, description, price, category or modifier groups.
| Operation | update_catalog_item |
|---|---|
| Scope | menu.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | update_catalog_item |
Example request
curl -sX PUT 'https://sandbox-api.ryde.us.com/v1/business/catalog/items/$item_id' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
PUT /v1/business/catalog/items/{item_id}/availability
Beta Business agreement required Sandbox supported
Take an item off sale or put it back on, without deleting it. The reversible way to 86 something.
| Operation | set_catalog_item_availability |
|---|---|
| Scope | menu.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | set_catalog_item_availability |
Example request
curl -sX PUT 'https://sandbox-api.ryde.us.com/v1/business/catalog/items/$item_id/availability' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
DELETE /v1/business/catalog/items/{item_id}
Beta Business agreement required Sandbox supported
Remove a catalogue item. There is no undo through the API — to take something off sale temporarily, set its availability instead.
| Operation | delete_catalog_item |
|---|---|
| Scope | menu.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | delete_catalog_item |
Example request
curl -sX DELETE 'https://sandbox-api.ryde.us.com/v1/business/catalog/items/$item_id' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'
POST /v1/business/catalog/items/batch
Beta Business agreement required Sandbox supported
Create many catalogue items at once, with their categories. Creates only — it never reprices an existing item.
| Operation | import_catalog_items |
|---|---|
| Scope | menu.manage |
| Entitlement | Business agreement required |
| Idempotency | Supported |
| MCP tool | import_catalog_items |
Example request
curl -sX POST 'https://sandbox-api.ryde.us.com/v1/business/catalog/items/batch' \
-H "Authorization: Bearer $RYDE_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ … }'