Ryde Developers
Español Dashboard ryde.us.com

API reference

Every operation, generated from the platform's own operation registry.

API version v1 · View as Markdown

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

Beta 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.

Operationget_membership_status
Scopeprofile.read
EntitlementNone
IdempotencyNot required
MCP toolget_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

Beta 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

Beta 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

Beta 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

Beta 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}

Beta 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

Beta 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

Beta 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 '{ … }'

Rides

GET /v1/rides/products

Beta Sandbox supported

The vehicle tiers that can be requested, with each tier's base fare.

Operationsearch_ride_options
Scoperides.read
EntitlementNone
IdempotencyNot required
MCP toolsearch_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

Beta Sandbox supported

Road distance, driving time and the final fare per vehicle tier, tax included. Returns the quote_id request_ride requires.

Operationquote_ride
Scoperides.read
EntitlementNone
IdempotencyNot required
MCP toolquote_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

Beta Ryde One required Sandbox supported

Request the ride the customer confirmed, from a quote_id they were shown.

Operationrequest_ride
Scoperides.request
EntitlementRyde One required
IdempotencyRequired
MCP toolrequest_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}

Beta 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.

Operationget_ride
Scoperides.read
EntitlementNone
IdempotencyNot required
MCP toolget_ride

Example request

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

GET /v1/rides

Beta Sandbox supported

The customer's own ride history, newest first.

Operationlist_rides
Scoperides.read
EntitlementNone
IdempotencyNot required
MCP toollist_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

Beta Sandbox supported

Cancel a ride that has not started. Never membership-gated, for the same reason as cancelling an order.

Operationcancel_ride
Scoperides.read
EntitlementNone
IdempotencySupported
MCP toolcancel_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

Beta Sandbox supported

Price a courier run between two points. Runs the same pricing path the request does, so the quote is the charge.

Operationquote_delivery
Scopedelivery.read
EntitlementNone
IdempotencyNot required
MCP toolquote_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

Beta Ryde One required Sandbox supported

Dispatch a courier to move a package, from a quote_id the customer was shown.

Operationrequest_delivery
Scopedelivery.request
EntitlementRyde One required
IdempotencyRequired
MCP toolrequest_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}

Beta Sandbox supported

Live state of one delivery, including courier progress and proof of delivery once collected.

Operationget_delivery
Scopedelivery.read
EntitlementNone
IdempotencyNot required
MCP toolget_delivery

Example request

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

Carrier

GET /v1/coverage

Beta Carrier agreement required Sandbox supported

Ask whether Ryde delivers to a postcode or a point, and at which service levels.

Operationcheck_coverage
Scopecoverage.read
EntitlementCarrier agreement required
IdempotencyNot required
MCP toolcheck_coverage

Example request

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

GET /v1/rates

Beta Carrier agreement required Sandbox supported

Price one parcel to one address from your contracted rate card, per service level. Creates nothing.

Operationquote_rates
Scopecoverage.read
EntitlementCarrier agreement required
IdempotencyNot required
MCP toolquote_rates

Example request

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

POST /v1/shipments

Beta Carrier agreement required Sandbox supported

Hand Ryde one parcel to deliver. Returns its Ryde tracking number.

Operationcreate_shipment
Scopeshipments.create
EntitlementCarrier agreement required
IdempotencySupported
MCP toolcreate_shipment

Example request

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

POST /v1/shipments/batch

Beta Carrier agreement required Sandbox supported

Hand Ryde a manifest of up to 500 parcels in one request. Every row reports created, duplicate or rejected with a reason.

Operationcreate_shipments_batch
Scopeshipments.create
EntitlementCarrier agreement required
IdempotencySupported
MCP toolcreate_shipments_batch

Example request

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

GET /v1/shipments/{tracking_number}

Beta Carrier agreement required Sandbox supported

The current state of one parcel, with its scan history and proof of delivery once delivered.

Operationget_shipment
Scopeshipments.read
EntitlementCarrier agreement required
IdempotencyNot required
MCP toolget_shipment

Example request

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

GET /v1/shipments

Beta Carrier agreement required Sandbox supported

Your parcels, newest first, filterable by status and date.

Operationlist_shipments
Scopeshipments.read
EntitlementCarrier agreement required
IdempotencyNot required
MCP toollist_shipments

Example request

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

POST /v1/shipments/{tracking_number}/cancel

Beta Carrier agreement required Sandbox supported

Cancel a parcel you have given Ryde, at any point before it is delivered or returned.

Operationcancel_shipment
Scopeshipments.manage
EntitlementCarrier agreement required
IdempotencySupported
MCP toolcancel_shipment

Example request

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

GET /v1/shipments/{tracking_number}/events

Beta Carrier agreement required Sandbox supported

Every recorded event for one parcel, oldest first: where it was scanned, when, and why an attempt failed.

Operationlist_shipment_events
Scopeshipments.read
EntitlementCarrier agreement required
IdempotencyNot required
MCP toollist_shipment_events

Example request

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

GET /v1/hubs

Beta Carrier agreement required Sandbox supported

The depots your parcels are collected from.

Operationlist_hubs
Scopecoverage.read
EntitlementCarrier agreement required
IdempotencyNot required
MCP toollist_hubs

Example request

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

Services

GET /v1/services/providers

Beta 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.

Operationsearch_service_providers
Scopeservices.read
EntitlementNone
IdempotencyNot required
MCP toolsearch_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

Beta 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.

Operationget_provider_availability
Scopeservices.read
EntitlementNone
IdempotencyNot required
MCP toolget_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

Beta Sandbox supported

Price a service booking before committing to a slot.

Operationquote_service
Scopeservices.read
EntitlementNone
IdempotencyNot required
MCP toolquote_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

Beta 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.

Operationbook_service
Scopeservices.book
EntitlementRyde One required
IdempotencyRequired
MCP toolbook_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}

Beta Sandbox supported

Live state of one booking, through arrival, start and completion.

Operationget_service_booking
Scopeservices.read
EntitlementNone
IdempotencyNot required
MCP toolget_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

Beta Sandbox supported

The task types this market can actually execute, with the evidence each one collects. Only types Ryde can staff are listed.

Operationlist_task_types
Scopetasks.read
EntitlementNone
IdempotencyNot required
MCP toollist_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

Beta Sandbox supported

Price a task and confirm a qualified provider could be found for it before committing.

Operationquote_task
Scopetasks.read
EntitlementNone
IdempotencyNot required
MCP toolquote_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

Beta Ryde One required Sandbox supported

Dispatch real-world work with structured requirements and evidence rules.

Operationcreate_task
Scopetasks.create
EntitlementRyde One required
IdempotencyRequired
MCP toolcreate_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}

Beta Sandbox supported

Task state, the assigned provider, and the evidence collected so far.

Operationget_task
Scopetasks.read
EntitlementNone
IdempotencyNot required
MCP toolget_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

Beta Sandbox supported

The evidence collected against a task: photos with their content hashes, capture GPS and device timestamps, and any checklist answers.

Operationget_task_evidence
Scopetasks.read
EntitlementNone
IdempotencyNot required
MCP toolget_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

Beta Sandbox supported

Cancel a task that has not started.

Operationcancel_task
Scopetasks.read
EntitlementNone
IdempotencySupported
MCP toolcancel_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 '{ … }'

Business

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.

Operationlist_business_orders
Scopeorders.read
EntitlementBusiness agreement required
IdempotencyNot required
MCP toollist_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.

Operationget_business_order
Scopeorders.read
EntitlementBusiness agreement required
IdempotencyNot required
MCP toolget_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.

Operationaccept_business_order
Scopeorders.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolaccept_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.

Operationreject_business_order
Scopeorders.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolreject_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.

Operationstart_business_order_prep
Scopeorders.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolstart_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.

Operationmark_business_order_ready
Scopeorders.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolmark_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.

Operationcomplete_business_order
Scopeorders.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolcomplete_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.

Operationlist_catalog_items
Scopemenu.read
EntitlementBusiness agreement required
IdempotencyNot required
MCP toollist_catalog_items

Example request

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

GET /v1/business/catalog/items/{item_id}

Beta Business agreement required Sandbox supported

Read one catalogue item by its id: price, SKU, barcode, tax treatment, stock and availability.

Operationget_catalog_item
Scopemenu.read
EntitlementBusiness agreement required
IdempotencyNot required
MCP toolget_catalog_item

Example request

curl -s 'https://sandbox-api.ryde.us.com/v1/business/catalog/items/$item_id' \
  -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.

Operationcreate_catalog_item
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolcreate_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.

Operationupdate_catalog_item
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolupdate_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/by-sku/{sku}

Beta Business agreement required Sandbox supported

Create or update the catalogue item with this SKU. The SKU is unique within the store, so the same call is safe to repeat.

Operationupsert_catalog_item_by_sku
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolupsert_catalog_item_by_sku

Example request

curl -sX PUT 'https://sandbox-api.ryde.us.com/v1/business/catalog/items/by-sku/$sku' \
  -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.

Operationset_catalog_item_availability
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolset_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.

Operationdelete_catalog_item
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP tooldelete_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

Add many catalogue items at once, with their categories. Duplicate-safe: an item matched by SKU or barcode is updated (price and description) instead of added twice, a name-only match is skipped unless decided, and mode "replace" retires items missing from the list once confirm_retire equals the count a 409 names.

Operationimport_catalog_items
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolimport_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 '{ … }'

GET /v1/business/catalog/export

Beta Business agreement required Sandbox supported

Export the store's sellable catalogue as rows in the fixed template's columns (name, SKU, barcode, category, type, price, tax, cost, stock, warehouse, description). Cost, stock and barcode are filled only for a token with menu.manage.

Operationexport_catalog
Scopemenu.read
EntitlementBusiness agreement required
IdempotencyNot required
MCP toolexport_catalog

Example request

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

GET /v1/business/catalog/template

Beta Business agreement required Sandbox supported

The template's columns, the values each accepts, an example row, the row limit and the import modes.

Operationget_catalog_template
Scopemenu.read
EntitlementBusiness agreement required
IdempotencyNot required
MCP toolget_catalog_template

Example request

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

POST /v1/business/catalog/import/preview

Beta Business agreement required Sandbox supported

Check rows in the template's columns against the catalogue WITHOUT writing: what is new, updated, unchanged, a possible duplicate or an error, per row. Answers a token for the commit.

Operationpreview_catalog_import
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolpreview_catalog_import

Example request

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

POST /v1/business/catalog/import/commit

Beta Business agreement required Sandbox supported

Apply a previewed import by its token, in mode merge, add_only or replace. Committing the same token again answers the first result and writes nothing.

Operationcommit_catalog_import
Scopemenu.manage
EntitlementBusiness agreement required
IdempotencySupported
MCP toolcommit_catalog_import

Example request

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