Customer counts by subscription status
curl --request GET \
--url https://platform.tolt.dev/v2/reports/customers \
--header 'Authorization: Bearer <token>'import requests
url = "https://platform.tolt.dev/v2/reports/customers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.tolt.dev/v2/reports/customers', 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://platform.tolt.dev/v2/reports/customers",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://platform.tolt.dev/v2/reports/customers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://platform.tolt.dev/v2/reports/customers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.tolt.dev/v2/reports/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Successfully fetched customer stats",
"data": {
"trialing": 12,
"active": 84,
"canceled": 7,
"suspended": 2
}
}{
"success": false,
"message": "start_date: Invalid ISO date",
"code": "validation_error",
"doc_url": "https://docs.tolt.com/errors#validation_error",
"errors": [
{
"field": "start_date",
"message": "Invalid ISO date"
},
{
"field": "start_date",
"message": "must be a valid calendar date"
}
]
}{
"success": false,
"message": "Unauthorized",
"code": "unauthorized",
"doc_url": "https://docs.tolt.com/errors#unauthorized"
}{
"success": false,
"message": "Request body exceeds 1 MB",
"code": "payload_too_large",
"doc_url": "https://docs.tolt.com/errors#payload_too_large"
}{
"success": false,
"message": "Too many requests. Retry after the window resets.",
"code": "rate_limited",
"doc_url": "https://docs.tolt.com/errors#rate_limited"
}Reports
Customer counts by subscription status
Returns how many customers are in each subscription status for the organization or one program.
GET
/
v2
/
reports
/
customers
Customer counts by subscription status
curl --request GET \
--url https://platform.tolt.dev/v2/reports/customers \
--header 'Authorization: Bearer <token>'import requests
url = "https://platform.tolt.dev/v2/reports/customers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.tolt.dev/v2/reports/customers', 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://platform.tolt.dev/v2/reports/customers",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://platform.tolt.dev/v2/reports/customers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://platform.tolt.dev/v2/reports/customers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.tolt.dev/v2/reports/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Successfully fetched customer stats",
"data": {
"trialing": 12,
"active": 84,
"canceled": 7,
"suspended": 2
}
}{
"success": false,
"message": "start_date: Invalid ISO date",
"code": "validation_error",
"doc_url": "https://docs.tolt.com/errors#validation_error",
"errors": [
{
"field": "start_date",
"message": "Invalid ISO date"
},
{
"field": "start_date",
"message": "must be a valid calendar date"
}
]
}{
"success": false,
"message": "Unauthorized",
"code": "unauthorized",
"doc_url": "https://docs.tolt.com/errors#unauthorized"
}{
"success": false,
"message": "Request body exceeds 1 MB",
"code": "payload_too_large",
"doc_url": "https://docs.tolt.com/errors#payload_too_large"
}{
"success": false,
"message": "Too many requests. Retry after the window resets.",
"code": "rate_limited",
"doc_url": "https://docs.tolt.com/errors#rate_limited"
}Authorizations
Tolt API key sent as a bearer token.
Query Parameters
Limit to one program, by its id (prg_...) as returned when listing programs.
Earliest day to include, by the day customers became active. Leave it out for no lower bound.
Latest day to include, by the day customers became active; the whole day counts. Leave it out for no upper bound.

