curl --request PUT \
--url https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"value": 500000000,
"note": "<string>"
}
'import requests
url = "https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity"
payload = {
"value": 500000000,
"note": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({value: 500000000, note: '<string>'})
};
fetch('https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity', 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://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity",
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([
'value' => 500000000,
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity"
payload := strings.NewReader("{\n \"value\": 500000000,\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"value\": 500000000,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"value\": 500000000,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>",
"data": {
"resource": "CREDITS",
"amount": 123,
"immediateAmount": 123,
"from": {
"clientId": 123,
"newValue": 123
},
"to": {
"clientId": 123,
"newValue": 123
}
}
}Set client capacity
Set one client’s monthly credit budget or identity slots to an absolute value. The difference moves between the client and the organization’s unallocated pool, and is recorded in the capacity history. Credits moved mid-month are delivered or retracted right away. Clients billed through self-serve billing (billedSelfServe: true) are refused with ACCOUNT_BILLED_SELF_SERVE: their own plan sets their capacity. Lowering a client’s cap returns the difference to the pool; it does not lower what the organization pays. Requires the API key creator (or the connected MCP user) to be an ORGANIZATION_ADMIN of the organization the key’s workspace belongs to. For organizations (agencies, resellers, white-label partners, enterprises) and their client workspaces only. The organization role is checked first: a caller without one is refused with 403 (ORGANIZATION_READ_FORBIDDEN on reads, ORGANIZATION_ADMIN_FORBIDDEN on writes), and a caller with one whose workspace is not in a live organization gets 404 NOT_IN_ORGANIZATION.
Required scope:
WORKSPACE_WRITERate limit: 30 requests per minute
curl --request PUT \
--url https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"value": 500000000,
"note": "<string>"
}
'import requests
url = "https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity"
payload = {
"value": 500000000,
"note": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({value: 500000000, note: '<string>'})
};
fetch('https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity', 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://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity",
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([
'value' => 500000000,
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity"
payload := strings.NewReader("{\n \"value\": 500000000,\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"value\": 500000000,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/organization/clients/{clientId}/capacity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"value\": 500000000,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "<string>",
"data": {
"resource": "CREDITS",
"amount": 123,
"immediateAmount": 123,
"from": {
"clientId": 123,
"newValue": 123
},
"to": {
"clientId": 123,
"newValue": 123
}
}
}Authorizations
Path Parameters
The client (account) ID, as GET /v1/organization/clients returns it.
x <= 2147483647