Update Usage Limits Policy
curl --request PUT \
--url https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId} \
--header 'Content-Type: application/json' \
--header 'x-portkey-api-key: <api-key>' \
--data '
{
"credit_limit": 2000,
"alert_threshold": 1500,
"reset_usage_for_value": "api-key-123"
}
'import requests
url = "https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}"
payload = {
"credit_limit": 2000,
"alert_threshold": 1500,
"reset_usage_for_value": "api-key-123"
}
headers = {
"x-portkey-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-portkey-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
credit_limit: 2000,
alert_threshold: 1500,
reset_usage_for_value: 'api-key-123'
})
};
fetch('https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}', 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.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}",
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([
'credit_limit' => 2000,
'alert_threshold' => 1500,
'reset_usage_for_value' => 'api-key-123'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-portkey-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://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}"
payload := strings.NewReader("{\n \"credit_limit\": 2000,\n \"alert_threshold\": 1500,\n \"reset_usage_for_value\": \"api-key-123\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-portkey-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://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}")
.header("x-portkey-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"credit_limit\": 2000,\n \"alert_threshold\": 1500,\n \"reset_usage_for_value\": \"api-key-123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-portkey-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"credit_limit\": 2000,\n \"alert_threshold\": 1500,\n \"reset_usage_for_value\": \"api-key-123\"\n}"
response = http.request(request)
puts response.read_body{}Update Usage Limits Policy
Update an existing usage limits policy.
PUT
/
policies
/
usage-limits
/
{policyUsageLimitsId}
Update Usage Limits Policy
curl --request PUT \
--url https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId} \
--header 'Content-Type: application/json' \
--header 'x-portkey-api-key: <api-key>' \
--data '
{
"credit_limit": 2000,
"alert_threshold": 1500,
"reset_usage_for_value": "api-key-123"
}
'import requests
url = "https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}"
payload = {
"credit_limit": 2000,
"alert_threshold": 1500,
"reset_usage_for_value": "api-key-123"
}
headers = {
"x-portkey-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-portkey-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
credit_limit: 2000,
alert_threshold: 1500,
reset_usage_for_value: 'api-key-123'
})
};
fetch('https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}', 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.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}",
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([
'credit_limit' => 2000,
'alert_threshold' => 1500,
'reset_usage_for_value' => 'api-key-123'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-portkey-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://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}"
payload := strings.NewReader("{\n \"credit_limit\": 2000,\n \"alert_threshold\": 1500,\n \"reset_usage_for_value\": \"api-key-123\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-portkey-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://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}")
.header("x-portkey-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"credit_limit\": 2000,\n \"alert_threshold\": 1500,\n \"reset_usage_for_value\": \"api-key-123\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portkey.ai/v1/policies/usage-limits/{policyUsageLimitsId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-portkey-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"credit_limit\": 2000,\n \"alert_threshold\": 1500,\n \"reset_usage_for_value\": \"api-key-123\"\n}"
response = http.request(request)
puts response.read_body{}Authorizations
Path Parameters
Usage limits policy UUID
Body
application/json
Policy name
Maximum string length:
255Maximum usage allowed
Required range:
x >= 0Threshold at which to send alerts. Must be less than credit_limit.
Required range:
x >= 0Reset period. Set to null to remove periodic reset.
Available options:
monthly, weekly Reset usage for a specific value key (e.g., API key). This will reset the usage counter for that key to 0.
Response
OK
The response is of type object.
Last modified on November 18, 2025
Was this page helpful?
⌘I

