Per-agent billing summary
Returns a paginated list of agents with their total costs within the specified date range. Only returns agents the authenticated user has access to.
Filtering
name— filter by agent name (case-insensitive contains match)usageTypes— filter by usage type (comma-separated:Server Time,Export GB,Agent Inputs,Proxy Data,Export CPM)
Sorting
sortColumn—name|cost(default:name)sortOrder—0ascending (default) |1descending
curl --request GET \
--url https://api.example.com/api/v1/billing/agents \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/billing/agents"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/billing/agents', 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.example.com/api/v1/billing/agents",
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.example.com/api/v1/billing/agents"
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.example.com/api/v1/billing/agents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/billing/agents")
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{
"agents": [
{
"agentId": 123,
"agentName": "<string>",
"cost": 123,
"spaceId": 123
}
],
"totalRecordCount": 123,
"totalCost": 123,
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z"
}{
"statusCode": 123,
"statusDescription": "<string>",
"message": "<string>",
"severity": 0,
"errorCode": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Authorizations
API Key authorization header. Example: "Authorization: ApiKey {your-api-key}"
OAuth 2.0 Bearer token. Example: "Authorization: Bearer {access-token}"
Query Parameters
Start date for the range (ISO format, required)
End date for the range (ISO format, required)
Page number (1-based, default: 1)
Records per page (default: 50, max: 1000)
Column to sort by: name, cost
Sort order: 0 = ascending (default), 1 = descending
Filter by agent name (contains match, case-insensitive)
Filter by usage types (comma-separated)
Response
Returns the paginated list of agents with costs
Paginated response for agent usage list
List of agents with their costs
Show child attributes
Show child attributes
Total number of agents matching the filter
Total cost across all agents in the date range
Start date of the range
End date of the range