Cost & usage
List routed requests
Returns older activity-feed rows using a composite cursor. Both cursor fields are required so requests that share a timestamp are not skipped.
List routed requests
curl --request GET \
--url https://api.usetokenless.com/v1/usage/requests \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.usetokenless.com/v1/usage/requests"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.usetokenless.com/v1/usage/requests', 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.usetokenless.com/v1/usage/requests",
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.usetokenless.com/v1/usage/requests"
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.usetokenless.com/v1/usage/requests")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.usetokenless.com/v1/usage/requests")
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{
"items": [
{
"request_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"prompt_preview": "<string>",
"response_preview": "<string>",
"provider_ranks": [
{
"model_id": "<string>",
"rank": 123
}
],
"total_cost_nanos": 123,
"total_input_tokens": 123,
"total_output_tokens": 123,
"selected_model_id": "<string>",
"byok": true,
"routing_mode": "pro",
"session_id": "<string>",
"agent_id": "<string>",
"parent_agent_id": "<string>",
"session_source": "<string>",
"credential_name": "<string>",
"feedback": {
"rating": -1,
"comment": "<string>",
"kind": "bug",
"reason": "<string>"
}
}
],
"has_more": true
}GET
/v1/usage/requestsAuthorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
RFC 3339 Nano timestamp from the last item in the current page.
Request ID from the last item in the current page.
Page size. Defaults to 50; maximum 200.
Required range:
1 <= x <= 200Restrict results to one coding-agent session.
Comma-separated session IDs to omit when discovering sessions.
⌘I
List routed requests
curl --request GET \
--url https://api.usetokenless.com/v1/usage/requests \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.usetokenless.com/v1/usage/requests"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.usetokenless.com/v1/usage/requests', 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.usetokenless.com/v1/usage/requests",
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.usetokenless.com/v1/usage/requests"
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.usetokenless.com/v1/usage/requests")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.usetokenless.com/v1/usage/requests")
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{
"items": [
{
"request_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"prompt_preview": "<string>",
"response_preview": "<string>",
"provider_ranks": [
{
"model_id": "<string>",
"rank": 123
}
],
"total_cost_nanos": 123,
"total_input_tokens": 123,
"total_output_tokens": 123,
"selected_model_id": "<string>",
"byok": true,
"routing_mode": "pro",
"session_id": "<string>",
"agent_id": "<string>",
"parent_agent_id": "<string>",
"session_source": "<string>",
"credential_name": "<string>",
"feedback": {
"rating": -1,
"comment": "<string>",
"kind": "bug",
"reason": "<string>"
}
}
],
"has_more": true
}