Admin API REST API: V0 Endpoints Id Rate Limits | Quicknode
v0/endpoints/{id}/rate-limits REST API Endpoint
Updates endpoint rate limits.
Updated on
Jun 26, 2026
Path Parameters
id
string
REQUIRED
The unique identifier for the specific endpoint
Body Parameters
rate_limits
object
REQUIRED
Contains the rate limit configurations that you want to update
rps
integer
Specifies the maximum number of requests allowed per second
rpd
integer
Specifies the maximum number of requests allowed per day
rpm
integer
Specifies the maximum number of requests allowed per minute
Returns
data
object
The data object which contains the following fields:
limits
object
The limits object which contains the following fields:
rps
integer
The maximum number of requests allowed per second. A value of -1 indicates that no endpoint-level override is set for this bucket.
rpd
integer
The maximum number of requests allowed per day. A value of -1 indicates that no endpoint-level override is set for this bucket.
rpm
integer
The maximum number of requests allowed per minute. A value of -1 indicates that no endpoint-level override is set for this bucket.
error
string
A field containing an error message if any issue occurs
Request
Curl
curl -X 'PATCH' \
'https://api.quicknode.com/v0/endpoints/{id}/rate-limits' \
-H 'accept: */*' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"rate_limits": {
"rps": 300
}
}'
JavaScript
const myHeaders = new Headers();
myHeaders.append("accept", "*/*");
myHeaders.append("x-api-key", "YOUR_API_KEY");
myHeaders.append("Content-Type", "application/json");
const raw = JSON.stringify({
"rate_limits": {
"rps": 300
}
});
const requestOptions = {
method: "PATCH",
headers: myHeaders,
body: raw,
redirect: "follow"
};
fetch("https://api.quicknode.com/v0/endpoints/{id}/rate-limits", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
Python
import requests
import json
url = "https://api.quicknode.com/v0/endpoints/{id}/rate-limits"
payload = json.dumps({
"rate_limits": {
"rps": 300
}
})
headers = {
'accept': '*/*',
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
}
response = requests.request("PATCH", url, headers=headers, data=payload)
print(response.text)
Ruby
require "uri"
require "json"
require "net/http"
url = URI("https://api.quicknode.com/v0/endpoints/{id}/rate-limits")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["accept"] = "*/*"
request["x-api-key"] = "YOUR_API_KEY"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"rate_limits": {
"rps": 300
}
})
response = https.request(request)
puts response.read_body
Rust
use quicknode_sdk::admin::{RateLimitSettings, UpdateRateLimitsRequest};
use quicknode_sdk::{QuicknodeSdk, SdkFullConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let qn = QuicknodeSdk::new(
&SdkFullConfig::builder()
.api_key("YOUR_API_KEY".to_string())
.build(),
)?;
let response = qn
.admin
.update_rate_limits(
"ENDPOINT_ID",
&UpdateRateLimitsRequest {
rate_limits: RateLimitSettings {
rps: Some(100),
rpm: Some(1000),
rpd: Some(10000),
},
},
)
.await?;
println!("{:?}", response);
Ok(())
}