curl --request POST \
--url https://api.wirespeed.co/v1/team/clients/usage \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"size": 123,
"page": 123,
"filter": "<string>",
"search": "<string>",
"orderBy": "<string>",
"orderDir": "asc",
"startDate": "<string>",
"endDate": "<string>",
"month": "2026-08"
}
'import requests
url = "https://api.wirespeed.co/v1/team/clients/usage"
payload = {
"size": 123,
"page": 123,
"filter": "<string>",
"search": "<string>",
"orderBy": "<string>",
"orderDir": "asc",
"startDate": "<string>",
"endDate": "<string>",
"month": "2026-08"
}
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({
size: 123,
page: 123,
filter: '<string>',
search: '<string>',
orderBy: '<string>',
orderDir: 'asc',
startDate: '<string>',
endDate: '<string>',
month: '2026-08'
})
};
fetch('https://api.wirespeed.co/v1/team/clients/usage', 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.wirespeed.co/v1/team/clients/usage",
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([
'size' => 123,
'page' => 123,
'filter' => '<string>',
'search' => '<string>',
'orderBy' => '<string>',
'orderDir' => 'asc',
'startDate' => '<string>',
'endDate' => '<string>',
'month' => '2026-08'
]),
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.wirespeed.co/v1/team/clients/usage"
payload := strings.NewReader("{\n \"size\": 123,\n \"page\": 123,\n \"filter\": \"<string>\",\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"orderDir\": \"asc\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"month\": \"2026-08\"\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.wirespeed.co/v1/team/clients/usage")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"size\": 123,\n \"page\": 123,\n \"filter\": \"<string>\",\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"orderDir\": \"asc\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"month\": \"2026-08\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/team/clients/usage")
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 \"size\": 123,\n \"page\": 123,\n \"filter\": \"<string>\",\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"orderDir\": \"asc\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"month\": \"2026-08\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"name": "<string>",
"logoUrl": "<string>",
"demo": true,
"sku": "identity",
"addOns": [
"data"
],
"isTrial": true,
"skuEndDate": "<string>",
"billableUsers": 123,
"billableEndpoints": 123,
"premiumIngestedBytes": "<string>",
"ingestedBytes": "<string>",
"integrationsConnected": 123,
"premiumRetentionType": "THIRTY_DAYS"
}
],
"totalCount": 123
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"params": {},
"validationErrors": [
{
"property": "<string>",
"constraint": "<string>",
"params": {},
"code": "<string>"
}
]
}Get historical service provider client usage
Returns a paginated list of usage rows, one per client of the current service provider team. Only service provider teams can call this endpoint. Values come from nightly usage snapshots, which only include ingestion volume starting October 1, 2026. Billable counts come from the latest snapshot in the range. Byte totals are int64 values encoded as strings. Provide either month, or both startDate and endDate; a date range can be at most one year.
curl --request POST \
--url https://api.wirespeed.co/v1/team/clients/usage \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"size": 123,
"page": 123,
"filter": "<string>",
"search": "<string>",
"orderBy": "<string>",
"orderDir": "asc",
"startDate": "<string>",
"endDate": "<string>",
"month": "2026-08"
}
'import requests
url = "https://api.wirespeed.co/v1/team/clients/usage"
payload = {
"size": 123,
"page": 123,
"filter": "<string>",
"search": "<string>",
"orderBy": "<string>",
"orderDir": "asc",
"startDate": "<string>",
"endDate": "<string>",
"month": "2026-08"
}
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({
size: 123,
page: 123,
filter: '<string>',
search: '<string>',
orderBy: '<string>',
orderDir: 'asc',
startDate: '<string>',
endDate: '<string>',
month: '2026-08'
})
};
fetch('https://api.wirespeed.co/v1/team/clients/usage', 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.wirespeed.co/v1/team/clients/usage",
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([
'size' => 123,
'page' => 123,
'filter' => '<string>',
'search' => '<string>',
'orderBy' => '<string>',
'orderDir' => 'asc',
'startDate' => '<string>',
'endDate' => '<string>',
'month' => '2026-08'
]),
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.wirespeed.co/v1/team/clients/usage"
payload := strings.NewReader("{\n \"size\": 123,\n \"page\": 123,\n \"filter\": \"<string>\",\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"orderDir\": \"asc\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"month\": \"2026-08\"\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.wirespeed.co/v1/team/clients/usage")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"size\": 123,\n \"page\": 123,\n \"filter\": \"<string>\",\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"orderDir\": \"asc\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"month\": \"2026-08\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/team/clients/usage")
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 \"size\": 123,\n \"page\": 123,\n \"filter\": \"<string>\",\n \"search\": \"<string>\",\n \"orderBy\": \"<string>\",\n \"orderDir\": \"asc\",\n \"startDate\": \"<string>\",\n \"endDate\": \"<string>\",\n \"month\": \"2026-08\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"name": "<string>",
"logoUrl": "<string>",
"demo": true,
"sku": "identity",
"addOns": [
"data"
],
"isTrial": true,
"skuEndDate": "<string>",
"billableUsers": 123,
"billableEndpoints": 123,
"premiumIngestedBytes": "<string>",
"ingestedBytes": "<string>",
"integrationsConnected": 123,
"premiumRetentionType": "THIRTY_DAYS"
}
],
"totalCount": 123
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"params": {},
"validationErrors": [
{
"property": "<string>",
"constraint": "<string>",
"params": {},
"code": "<string>"
}
]
}Authorizations
Team API key sent as a Bearer token. Create a key in Wirespeed under Settings → Team. See https://docs.wirespeed.co/api-reference/authentication.
Body
asc, desc Start date (inclusive, ISO8601 string)
End date (inclusive, ISO8601 string)
UTC snapshot month in YYYY-MM format. Required when endDate is omitted; ignored when endDate is provided.
"2026-08"

