curl --request POST \
--url https://service.abundly.ai/workspaceapi/agents/credit-limits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"<string>"
],
"dailyCreditLimit": 1,
"monthlyCreditLimit": 1
}
'import requests
url = "https://service.abundly.ai/workspaceapi/agents/credit-limits"
payload = {
"ids": ["<string>"],
"dailyCreditLimit": 1,
"monthlyCreditLimit": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ids: ['<string>'], dailyCreditLimit: 1, monthlyCreditLimit: 1})
};
fetch('https://service.abundly.ai/workspaceapi/agents/credit-limits', 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://service.abundly.ai/workspaceapi/agents/credit-limits",
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([
'ids' => [
'<string>'
],
'dailyCreditLimit' => 1,
'monthlyCreditLimit' => 1
]),
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://service.abundly.ai/workspaceapi/agents/credit-limits"
payload := strings.NewReader("{\n \"ids\": [\n \"<string>\"\n ],\n \"dailyCreditLimit\": 1,\n \"monthlyCreditLimit\": 1\n}")
req, _ := http.NewRequest("POST", 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.post("https://service.abundly.ai/workspaceapi/agents/credit-limits")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"<string>\"\n ],\n \"dailyCreditLimit\": 1,\n \"monthlyCreditLimit\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.abundly.ai/workspaceapi/agents/credit-limits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"<string>\"\n ],\n \"dailyCreditLimit\": 1,\n \"monthlyCreditLimit\": 1\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "<string>",
"success": true,
"name": "<string>",
"unchanged": true,
"applied": {},
"tags": [
"<string>"
],
"impact": "<unknown>",
"error": "<string>"
}
],
"summary": {
"total": 123,
"succeeded": 123,
"failed": 123,
"unchanged": 123
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Set agents' daily and monthly credit limits
Set (or clear, with null) the daily and/or monthly credit limit on the listed agents; an omitted limit is left unchanged. An agent that hits its daily limit stops running until the next day, and one that hits its monthly limit until the next month. Only admins can change the monthly limit, and resetting today’s usage doesn’t affect it. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check results[].success and summary.
curl --request POST \
--url https://service.abundly.ai/workspaceapi/agents/credit-limits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ids": [
"<string>"
],
"dailyCreditLimit": 1,
"monthlyCreditLimit": 1
}
'import requests
url = "https://service.abundly.ai/workspaceapi/agents/credit-limits"
payload = {
"ids": ["<string>"],
"dailyCreditLimit": 1,
"monthlyCreditLimit": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ids: ['<string>'], dailyCreditLimit: 1, monthlyCreditLimit: 1})
};
fetch('https://service.abundly.ai/workspaceapi/agents/credit-limits', 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://service.abundly.ai/workspaceapi/agents/credit-limits",
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([
'ids' => [
'<string>'
],
'dailyCreditLimit' => 1,
'monthlyCreditLimit' => 1
]),
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://service.abundly.ai/workspaceapi/agents/credit-limits"
payload := strings.NewReader("{\n \"ids\": [\n \"<string>\"\n ],\n \"dailyCreditLimit\": 1,\n \"monthlyCreditLimit\": 1\n}")
req, _ := http.NewRequest("POST", 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.post("https://service.abundly.ai/workspaceapi/agents/credit-limits")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"<string>\"\n ],\n \"dailyCreditLimit\": 1,\n \"monthlyCreditLimit\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.abundly.ai/workspaceapi/agents/credit-limits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"<string>\"\n ],\n \"dailyCreditLimit\": 1,\n \"monthlyCreditLimit\": 1\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "<string>",
"success": true,
"name": "<string>",
"unchanged": true,
"applied": {},
"tags": [
"<string>"
],
"impact": "<unknown>",
"error": "<string>"
}
],
"summary": {
"total": 123,
"succeeded": 123,
"failed": 123,
"unchanged": 123
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Workspace API key (wk_). GET endpoints require the Workspace read API scope, POST, PUT, PATCH and DELETE endpoints the Workspace write API scope.
Body
Agent IDs to update.
1Daily credit limit for each agent, or null to fall back to the workspace default.
x >= 0Monthly credit limit for each agent, or null to remove it. Unlike the daily one, it can't be reset.
x >= 0
