> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getreply.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Send your first WhatsApp template in five minutes.

## 1. Make a key

In the app, open **Developer → API keys → Create key**. Give it a name, pick **Send only**, and copy the key. You see it only once.

## 2. Check the key

```bash cURL theme={null}
curl https://api.getreply.in/v1/ping \
  -H "Authorization: Bearer gr_live_…"
```

```javascript Node.js theme={null}
const res = await fetch("https://api.getreply.in/v1/ping", {
  method: "GET",
  headers: {
    "Authorization": "Bearer gr_live_…",
  },
});
console.log(await res.json());
```

```php PHP theme={null}
<?php
$ch = curl_init("https://api.getreply.in/v1/ping");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer gr_live_…",
  ],
]);
echo curl_exec($ch);
```

```python Python theme={null}
import requests

res = requests.get(
    "https://api.getreply.in/v1/ping",
    headers={
        "Authorization": "Bearer gr_live_…",
    },
)
print(res.json())
```

The answer names your business and the key's permission.

## 3. Send an approved template

Use a template that is **Approved** in the app. Every template in the app has an **API example** card with this request filled in for you.

```bash cURL theme={null}
curl https://api.getreply.in/v1/messages/template \
  -H "Authorization: Bearer gr_live_…" \
  -H "Idempotency-Key: order-4521-update" \
  -H "Content-Type: application/json" \
  -d '{"to": "+9198250*****", "template": {"name": "order_update", "language": "en"}, "body": ["Riya", "#4521"]}'
```

```javascript Node.js theme={null}
const res = await fetch("https://api.getreply.in/v1/messages/template", {
  method: "POST",
  headers: {
    "Authorization": "Bearer gr_live_…",
    "Idempotency-Key": "order-4521-update",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "to": "+9198250*****",
    "template": {
      "name": "order_update",
      "language": "en"
    },
    "body": [
      "Riya",
      "#4521"
    ]
  }),
});
console.log(await res.json());
```

```php PHP theme={null}
<?php
$ch = curl_init("https://api.getreply.in/v1/messages/template");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer gr_live_…",
    "Idempotency-Key: order-4521-update",
    "Content-Type: application/json",
  ],
  CURLOPT_POSTFIELDS => '{"to": "+9198250*****", "template": {"name": "order_update", "language": "en"}, "body": ["Riya", "#4521"]}',
]);
echo curl_exec($ch);
```

```python Python theme={null}
import requests

res = requests.post(
    "https://api.getreply.in/v1/messages/template",
    headers={
        "Authorization": "Bearer gr_live_…",
        "Idempotency-Key": "order-4521-update",
    },
    json={
        "to": "+9198250*****",
        "template": {
            "name": "order_update",
            "language": "en"
        },
        "body": [
            "Riya",
            "#4521"
        ]
    },
)
print(res.json())
```

The answer has the message's `id` and its price. Requests sent here are real and charged like any other.

## 4. Follow the message

Ask for it with `GET /v1/messages/{id}`, or better, add a [webhook](https://docs.getreply.in/guides/webhooks.md) and get `message.delivered` and `message.read` as they happen.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.