Calls Usage
curl --request POST \
--url https://api.example.com/calls/usage \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "<string>",
"call_ids": [
"<string>"
],
"include_costs": false,
"limit": 10000
}
'import requests
url = "https://api.example.com/calls/usage"
payload = {
"project_id": "<string>",
"call_ids": ["<string>"],
"include_costs": False,
"limit": 10000
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
project_id: '<string>',
call_ids: ['<string>'],
include_costs: false,
limit: 10000
})
};
fetch('https://api.example.com/calls/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.example.com/calls/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([
'project_id' => '<string>',
'call_ids' => [
'<string>'
],
'include_costs' => false,
'limit' => 10000
]),
CURLOPT_HTTPHEADER => [
"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.example.com/calls/usage"
payload := strings.NewReader("{\n \"project_id\": \"<string>\",\n \"call_ids\": [\n \"<string>\"\n ],\n \"include_costs\": false,\n \"limit\": 10000\n}")
req, _ := http.NewRequest("POST", url, payload)
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.example.com/calls/usage")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"<string>\",\n \"call_ids\": [\n \"<string>\"\n ],\n \"include_costs\": false,\n \"limit\": 10000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/calls/usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"<string>\",\n \"call_ids\": [\n \"<string>\"\n ],\n \"include_costs\": false,\n \"limit\": 10000\n}"
response = http.request(request)
puts response.read_body{
"call_usage": {},
"unfinished_call_ids": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Call の使用状況
Compute aggregated usage for multiple root calls, with descendant rollup.
POST
/
calls
/
usage
Calls Usage
curl --request POST \
--url https://api.example.com/calls/usage \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "<string>",
"call_ids": [
"<string>"
],
"include_costs": false,
"limit": 10000
}
'import requests
url = "https://api.example.com/calls/usage"
payload = {
"project_id": "<string>",
"call_ids": ["<string>"],
"include_costs": False,
"limit": 10000
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
project_id: '<string>',
call_ids: ['<string>'],
include_costs: false,
limit: 10000
})
};
fetch('https://api.example.com/calls/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.example.com/calls/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([
'project_id' => '<string>',
'call_ids' => [
'<string>'
],
'include_costs' => false,
'limit' => 10000
]),
CURLOPT_HTTPHEADER => [
"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.example.com/calls/usage"
payload := strings.NewReader("{\n \"project_id\": \"<string>\",\n \"call_ids\": [\n \"<string>\"\n ],\n \"include_costs\": false,\n \"limit\": 10000\n}")
req, _ := http.NewRequest("POST", url, payload)
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.example.com/calls/usage")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"<string>\",\n \"call_ids\": [\n \"<string>\"\n ],\n \"include_costs\": false,\n \"limit\": 10000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/calls/usage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"project_id\": \"<string>\",\n \"call_ids\": [\n \"<string>\"\n ],\n \"include_costs\": false,\n \"limit\": 10000\n}"
response = http.request(request)
puts response.read_body{
"call_usage": {},
"unfinished_call_ids": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}ボディ
application/json
Request to compute aggregated usage for multiple root calls.
This endpoint returns usage metrics for each requested root call, where each root's metrics include the sum of its own usage plus all descendants' usage.
Note: All matching calls are loaded into memory for aggregation. For very large result sets (>10k calls), consider batching root call IDs or using narrower filters at the application layer.
Root call IDs to aggregate. Each result key corresponds to one input call ID.
If true, include cost calculations in the usage.
Maximum number of calls to process across all traces. Acts as a safety limit to prevent unbounded memory usage.
最終更新日 2026年9月30日
このページは役に立ちましたか?