Admin SMS Stats
curl --request POST \
--url https://api.voxo.co/v2/admin/reporting/messages/stats \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tenantId": 123,
"startDate": "<string>",
"endDate": "<string>"
}
'import requests
url = "https://api.voxo.co/v2/admin/reporting/messages/stats"
payload = {
"tenantId": 123,
"startDate": "<string>",
"endDate": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tenantId: 123, startDate: '<string>', endDate: '<string>'})
};
fetch('https://api.voxo.co/v2/admin/reporting/messages/stats', 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.voxo.co/v2/admin/reporting/messages/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tenantId' => 123,
'startDate' => '<string>',
'endDate' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.voxo.co/v2/admin/reporting/messages/stats"
payload := strings.NewReader("{\n \"tenantId\": 123,\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.voxo.co/v2/admin/reporting/messages/stats")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tenantId\": 123,\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voxo.co/v2/admin/reporting/messages/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tenantId\": 123,\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"tenantId": 123,
"results": [
{
"inbound": 123,
"outbound": 123,
"total": 123,
"date": "<string>",
"distribution": "<string>",
"peerName": "<string>",
"name": "<string>"
}
]
}Reporting - Messages
Admin SMS Stats
Get SMS/message statistics for a tenant with optional filters
POST
/
v2
/
admin
/
reporting
/
messages
/
stats
Admin SMS Stats
curl --request POST \
--url https://api.voxo.co/v2/admin/reporting/messages/stats \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tenantId": 123,
"startDate": "<string>",
"endDate": "<string>"
}
'import requests
url = "https://api.voxo.co/v2/admin/reporting/messages/stats"
payload = {
"tenantId": 123,
"startDate": "<string>",
"endDate": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({tenantId: 123, startDate: '<string>', endDate: '<string>'})
};
fetch('https://api.voxo.co/v2/admin/reporting/messages/stats', 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.voxo.co/v2/admin/reporting/messages/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tenantId' => 123,
'startDate' => '<string>',
'endDate' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.voxo.co/v2/admin/reporting/messages/stats"
payload := strings.NewReader("{\n \"tenantId\": 123,\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.voxo.co/v2/admin/reporting/messages/stats")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tenantId\": 123,\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voxo.co/v2/admin/reporting/messages/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tenantId\": 123,\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"tenantId": 123,
"results": [
{
"inbound": 123,
"outbound": 123,
"total": 123,
"date": "<string>",
"distribution": "<string>",
"peerName": "<string>",
"name": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Tenant ID
Start date for the report period
End date for the report period
distribution
Option 1 · enum<string>Option 2 · enum<string>Option 3 · enum<string>Option 4 · enum<string>
Time distribution grouping (daily, weekly, monthly, or totals)
Available options:
weekly Filter by user peer names, or 'ALL' for all users
Filter by groups (queue, huntlist, or branch)
Show child attributes
Show child attributes
Filter by phone numbers
Message direction filter (inbound or outbound)
Available options:
inbound Was this page helpful?
⌘I