Usage report
curl --request GET \
--url https://api.getreply.in/v1/usage/report \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getreply.in/v1/usage/report', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getreply.in/v1/usage/report",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://api.getreply.in/v1/usage/report"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"currency": "INR",
"from": "string",
"to": "string",
"group_by": "hour",
"keys": [
"string"
],
"totals": {
"spent": "2166.46",
"messages": 1,
"delivered": 1,
"read": 1,
"sent": 1,
"failed": 1,
"requests": 1,
"errors": 1
},
"spent_by_category": {
"marketing": "2166.46",
"utility": "2166.46",
"authentication": "2166.46"
},
"buckets": [
{
"start": "2026-10-26T11:20:00+05:30",
"end": "2026-10-26T11:20:00+05:30",
"spent": "2166.46",
"spent_by_category": {
"marketing": "2166.46",
"utility": "2166.46",
"authentication": "2166.46"
},
"messages": 1,
"messages_by_category": {
"marketing": 1,
"utility": 1,
"authentication": 1,
"service": 1
},
"read": 1,
"delivered": 1,
"sent": 1,
"failed": 1,
"requests": 1,
"errors": 1
}
],
"by_key": [
{
"key_id": "string",
"name": "string",
"deleted": true,
"messages": 1,
"delivered": 1,
"spent": "2166.46",
"requests": 1,
"errors": 1,
"last_used_at": "2026-10-26T11:20:00+05:30"
}
],
"errors": [
{
"code": "string",
"message": "string",
"count": 1,
"last_seen_at": "2026-10-26T11:20:00+05:30"
}
],
"by_country": [
{
"country": "IN",
"messages": 1,
"delivered": 1,
"spent": "2166.46"
}
],
"by_endpoint": [
{
"method": "string",
"path": "string",
"requests": 1,
"errors": 1,
"average_ms": 1
}
]
}Account
Usage report
What you sent, spent and called through the API, by hour, day, week or month (India time). Messages are those sent with an API key that reached WhatsApp or failed: read, delivered, sent (accepted by WhatsApp, no delivery report yet) and failed. Spent is what each message was charged, in rupees; a failed message adds nothing. Messages and spend include campaigns made with the key. Requests and errors count your API calls. A key that is not yours answers validation_error on key: “No key with this id.”
Permission: Any key (Full, Send only or Read only).
GET
/
v1
/
usage
/
report
Usage report
curl --request GET \
--url https://api.getreply.in/v1/usage/report \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getreply.in/v1/usage/report', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getreply.in/v1/usage/report",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://api.getreply.in/v1/usage/report"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"currency": "INR",
"from": "string",
"to": "string",
"group_by": "hour",
"keys": [
"string"
],
"totals": {
"spent": "2166.46",
"messages": 1,
"delivered": 1,
"read": 1,
"sent": 1,
"failed": 1,
"requests": 1,
"errors": 1
},
"spent_by_category": {
"marketing": "2166.46",
"utility": "2166.46",
"authentication": "2166.46"
},
"buckets": [
{
"start": "2026-10-26T11:20:00+05:30",
"end": "2026-10-26T11:20:00+05:30",
"spent": "2166.46",
"spent_by_category": {
"marketing": "2166.46",
"utility": "2166.46",
"authentication": "2166.46"
},
"messages": 1,
"messages_by_category": {
"marketing": 1,
"utility": 1,
"authentication": 1,
"service": 1
},
"read": 1,
"delivered": 1,
"sent": 1,
"failed": 1,
"requests": 1,
"errors": 1
}
],
"by_key": [
{
"key_id": "string",
"name": "string",
"deleted": true,
"messages": 1,
"delivered": 1,
"spent": "2166.46",
"requests": 1,
"errors": 1,
"last_used_at": "2026-10-26T11:20:00+05:30"
}
],
"errors": [
{
"code": "string",
"message": "string",
"count": 1,
"last_seen_at": "2026-10-26T11:20:00+05:30"
}
],
"by_country": [
{
"country": "IN",
"messages": 1,
"delivered": 1,
"spent": "2166.46"
}
],
"by_endpoint": [
{
"method": "string",
"path": "string",
"requests": 1,
"errors": 1,
"average_ms": 1
}
]
}Query Parameters
Response
The report.