curl --request GET \
--url https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/', 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.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "NAR-123-456-789",
"node_id": "ND-123-456-789",
"type": "ip",
"value": "203.0.113.10",
"status": "activated",
"created_at": "2026-10-01T09:30:00.000000Z",
"updated_at": "2026-10-01T09:45:00.000000Z"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Retrieve a node access rule with the Chainstack Platform API v2
Retrieve the type, value, and status of a node access rule using the Chainstack Platform API v2. Send a GET request to /v2/nodes//access-rules//.
curl --request GET \
--url https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/', 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.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainstack.com/v2/nodes/{node_id}/access-rules/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "NAR-123-456-789",
"node_id": "ND-123-456-789",
"type": "ip",
"value": "203.0.113.10",
"status": "activated",
"created_at": "2026-10-01T09:30:00.000000Z",
"updated_at": "2026-10-01T09:45:00.000000Z"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Chainstack API uses API keys to authenticate requests. You can view and manage your API keys in the platform UI.
Your API keys carry many privileges, so be sure to keep them secure!
Provide your API key as the Authorization header. The value of the header consists of Bearer prefix and secret key generated through the platform UI.
curl -X GET 'https://api.chainstack.com/v1/organization/' \
--header 'Authorization: Bearer FX7CWlLg.FMpAO8cgCX2N7s41EncRru2nb5CmTZUt'
All API requests must be made over HTTPS.
Path Parameters
ID of the node.
"ND-123-456-789"
A unique value identifying the Object.
Response
ID of the access rule.
"NAR-123-456-789"
ID of the node the rule belongs to.
"ND-123-456-789"
Rule type:
ip— allow requests from an IP address.origin— allow requests whose HTTPOriginheader matches the value.
ip, origin The allowed IP address or origin.
"203.0.113.10"
Whether the rule is enforced. New rules start as deactivated.
activated, deactivated When the rule was created.
When the rule was last changed.
Was this page helpful?