# Five-minute quickstart

Where credentials come from, how a call is authenticated, and one safe read-only request.

> **Note:** COMING SOON — the endpoints below are the published contract, generated from the platform's operation registry. They are not being served yet, so these commands will not succeed today.

## 1. Where credentials come from

Your organization registers an application and receives a client_id, and a client_secret if it is a confidential client. Those identify your APPLICATION. They never identify a customer and they never, on their own, let you transact — for that you need an access token a customer granted you.

## 2. Get an access token

```bash
# Step 1 — send the customer to Ryde to approve your scopes.
#          code_challenge is the S256 hash of a random verifier you keep.
open "https://auth.ryde.us.com/oauth/authorize?\
response_type=code&\
client_id=$RYDE_CLIENT_ID&\
redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&\
scope=food.read%20rides.read&\
state=$RANDOM_STATE&\
code_challenge=$CODE_CHALLENGE&\
code_challenge_method=S256"

# Step 2 — exchange the code Ryde redirected back with.
curl -sX POST https://auth.ryde.us.com/oauth/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d grant_type=authorization_code \
  -d code=$AUTHORIZATION_CODE \
  -d redirect_uri=https://example.com/callback \
  -d client_id=$RYDE_CLIENT_ID \
  -d code_verifier=$CODE_VERIFIER
```

## 3. Make one safe read

Searching merchants creates nothing, charges nothing and needs no membership — the right first call.

```bash
curl -s 'https://sandbox-api.ryde.us.com/v1/food/merchants?lat=18.4861&lng=-69.9312' \
  -H "Authorization: Bearer $RYDE_ACCESS_TOKEN"
```

## 4. Read the response

Every response carries X-Ryde-Request-ID. Log it. It is the one value that lets support find your exact call, and it is the first thing you will be asked for.

## 5. Then handle the boundary

Before writing anything that transacts, read the Ryde One entitlement page. A customer can connect their account, browse and get quotes without a membership — but creating a ride, order, booking or task requires one, and your integration has to say so gracefully rather than fail.
