System
public/getRateLimits
Returns the caller’s current remaining rate-limit allowances for the active connection, broken out into matching-request, non-matching-request, and per-endpoint buckets. On WebSocket connections it also includes the remaining connection allowance.
POST
/
public
/
getRateLimits
public/getRateLimits
curl --request POST \
--url https://api.derive.xyz/v3/public/getRateLimits \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.derive.xyz/v3/public/getRateLimits"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.derive.xyz/v3/public/getRateLimits', 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.derive.xyz/v3/public/getRateLimits",
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([
]),
CURLOPT_HTTPHEADER => [
"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.derive.xyz/v3/public/getRateLimits"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
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://api.derive.xyz/v3/public/getRateLimits")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.derive.xyz/v3/public/getRateLimits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"remaining_matching": {
"consumedPoints": 123,
"isFirstInDuration": true,
"msBeforeNext": 1,
"remainingPoints": 123
},
"remaining_non_matching": {
"consumedPoints": 123,
"isFirstInDuration": true,
"msBeforeNext": 1,
"remainingPoints": 123
},
"remaining_per_endpoint": {},
"remaining_connections": {
"consumedPoints": 123,
"isFirstInDuration": true,
"msBeforeNext": 1,
"remainingPoints": 123
}
}{
"error": {
"code": 123,
"message": "<string>",
"data": "<string>"
}
}Body
application/json
This method takes no parameters; send an empty object {}.
Braced rather than a unit struct so schemars emits {"type": "object"}: a unit struct emits null, which contradicts the line above and forced every generated client to cast around the params type.
Response
Success
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Remaining WebSocket connection allowance for this account, present only on WebSocket connections.
Show child attributes
Show child attributes
public/getRateLimits
curl --request POST \
--url https://api.derive.xyz/v3/public/getRateLimits \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.derive.xyz/v3/public/getRateLimits"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.derive.xyz/v3/public/getRateLimits', 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.derive.xyz/v3/public/getRateLimits",
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([
]),
CURLOPT_HTTPHEADER => [
"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.derive.xyz/v3/public/getRateLimits"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
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://api.derive.xyz/v3/public/getRateLimits")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.derive.xyz/v3/public/getRateLimits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"remaining_matching": {
"consumedPoints": 123,
"isFirstInDuration": true,
"msBeforeNext": 1,
"remainingPoints": 123
},
"remaining_non_matching": {
"consumedPoints": 123,
"isFirstInDuration": true,
"msBeforeNext": 1,
"remainingPoints": 123
},
"remaining_per_endpoint": {},
"remaining_connections": {
"consumedPoints": 123,
"isFirstInDuration": true,
"msBeforeNext": 1,
"remainingPoints": 123
}
}{
"error": {
"code": 123,
"message": "<string>",
"data": "<string>"
}
}