Get assets over time
curl --request GET \
--url https://api.wirespeed.co/v1/billing/assets-over-time \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.wirespeed.co/v1/billing/assets-over-time"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.wirespeed.co/v1/billing/assets-over-time', 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/billing/assets-over-time",
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://api.wirespeed.co/v1/billing/assets-over-time"
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://api.wirespeed.co/v1/billing/assets-over-time")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/billing/assets-over-time")
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[
{
"date": "2023-11-07T05:31:56Z",
"billableEndpoints": 123,
"billableUsers": 123
}
]{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"params": {},
"validationErrors": [
{
"property": "<string>",
"constraint": "<string>",
"params": {},
"code": "<string>"
}
]
}Billing
Get assets over time
Returns billable endpoint and user counts for the current team, one point per nightly usage snapshot. Snapshots only include asset counts starting July 28, 2026. startDate is a required inclusive UTC ISO 8601 date-time string, endDate is an optional inclusive UTC ISO 8601 date-time string that defaults to now, and the range can be at most one year.
GET
/
v1
/
billing
/
assets-over-time
Get assets over time
curl --request GET \
--url https://api.wirespeed.co/v1/billing/assets-over-time \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.wirespeed.co/v1/billing/assets-over-time"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.wirespeed.co/v1/billing/assets-over-time', 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/billing/assets-over-time",
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://api.wirespeed.co/v1/billing/assets-over-time"
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://api.wirespeed.co/v1/billing/assets-over-time")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/billing/assets-over-time")
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[
{
"date": "2023-11-07T05:31:56Z",
"billableEndpoints": 123,
"billableUsers": 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.
Query Parameters
Start date (inclusive, ISO8601 string)
End date (inclusive, ISO8601 string); defaults to now

