curl --request PUT \
--url https://api.runaether.dev/agent/daily-cap \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"daily_cap_cents": 1073741824
}
'import requests
url = "https://api.runaether.dev/agent/daily-cap"
payload = { "daily_cap_cents": 1073741824 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({daily_cap_cents: 1073741824})
};
fetch('https://api.runaether.dev/agent/daily-cap', 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.runaether.dev/agent/daily-cap",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'daily_cap_cents' => 1073741824
]),
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.runaether.dev/agent/daily-cap"
payload := strings.NewReader("{\n \"daily_cap_cents\": 1073741824\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.runaether.dev/agent/daily-cap")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"daily_cap_cents\": 1073741824\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.runaether.dev/agent/daily-cap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"daily_cap_cents\": 1073741824\n}"
response = http.request(request)
puts response.read_body{
"daily_cap_cents": 123,
"day": "<string>",
"spent_microdollars": 123,
"timezone": "<string>"
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "org_membership_required",
"error": "<string>"
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}Set your agent's daily spend cap
Sets the most your personal agent may spend on inference in a day, over every model call it makes; the day ends at midnight in your timezone. A model call is admitted while the day’s settled spend plus what the agent’s calls in flight hold (each its most possible cost) is under the cap, so the day overruns the cap by at most the last call admitted. The cap holds from the agent’s next model call: a refused agent thinks again once the cap is raised past the day’s spend and holds, once its calls in flight settle under it, or at midnight.
curl --request PUT \
--url https://api.runaether.dev/agent/daily-cap \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"daily_cap_cents": 1073741824
}
'import requests
url = "https://api.runaether.dev/agent/daily-cap"
payload = { "daily_cap_cents": 1073741824 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({daily_cap_cents: 1073741824})
};
fetch('https://api.runaether.dev/agent/daily-cap', 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.runaether.dev/agent/daily-cap",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'daily_cap_cents' => 1073741824
]),
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.runaether.dev/agent/daily-cap"
payload := strings.NewReader("{\n \"daily_cap_cents\": 1073741824\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.runaether.dev/agent/daily-cap")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"daily_cap_cents\": 1073741824\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.runaether.dev/agent/daily-cap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"daily_cap_cents\": 1073741824\n}"
response = http.request(request)
puts response.read_body{
"daily_cap_cents": 123,
"day": "<string>",
"spent_microdollars": 123,
"timezone": "<string>"
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "org_membership_required",
"error": "<string>"
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}{
"code": "account_deleting",
"error": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The most your agent may spend from your balance in a day, on Aether inference and on its tool calls while they are charged, in US cents. It holds from the agent's next such call.
1 <= x <= 2147483647Response
OK
The most the agent may spend from its owner's balance in a day, over every model call it makes on Aether inference and every tool call while tool calls are charged, in US cents. Such a call is refused (402 agent_host_daily_cap_reached) once the day's settled spend plus what the agent's calls in flight hold reaches it, until midnight in the timezone, until calls in flight settle under it, or until the cap is raised past them.
Today in the agent's timezone, as YYYY-MM-DD: the day spent_microdollars is for.
^[0-9]{4}-[0-9]{2}-[0-9]{2}$What the agent's model calls, and its tool calls while they are charged, settled today, in millionths of a US dollar.
The owner's IANA timezone, whose midnight starts the next day.