Overview
The Quicknode Admin API allows users to perform all actions available in the User Dashboard programmatically via REST API. These actions include:
- Creating, managing, and deleting endpoints
- Retrieving metrics and billing information
- Managing and rotating API keys
- Configuring security features (e.g., whitelisting, JWT authentication, and more)
To manage supported endpoint resources through versioned configuration and review changes before applying them, use the Quicknode Terraform and OpenTofu provider.
API Specifications (OpenAPI)
Download the machine-readable API specifications for use with compatible tooling (e.g. Swagger Editor).
Access
The Admin API is available to accounts subscribed to paid plans.
Admin API requests share a global, plan-based rate-limit bucket with the Streams, Webhooks, Key-Value Store, and SQL Explorer APIs. See Platform API Rate Limits for sustained rates and burst capacity by plan.
Authentication
To use the Admin API, you must authenticate your requests by including an API key in the HTTP headers. Follow these steps:
- Generate an API key from your Quicknode dashboard.
- Include the API key in the
x-api-keyheader of your HTTP request. For example:
x-api-key: your-api-key-here
A missing key returns HTTP 401; an incorrect or malformed key returns HTTP 403. See authentication errors for the response formats.
Here's an example of how to request usage data using the Admin API with cURL:
curl -X GET 'https://api.quicknode.com/v0/usage/rpc' \
-H 'accept: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE'
Team Scoping
What an API key can reach through the Admin API depends on whether the key is assigned to a team.
| Key assigned to a team | Key with no team | |
|---|---|---|
| Endpoints | Its team's endpoints and endpoints with no team | Every endpoint in the account |
| Teams | Only the teams it is assigned to | Every team |
| Create teams | Not allowed | Allowed, with the required permissions |
| Metrics, usage, and logs | Every endpoint in the account (team scoping does not apply yet) | Every endpoint in the account |
Team assignment narrows what a key can reach. It does not add permissions: the key's role and application restrictions still decide which actions it can take.
For example, a key assigned to the Wallet team can list and update Wallet team endpoints and endpoints with no team. It cannot read or change an endpoint that belongs only to the Cloud team.
When an Endpoint or Team Seems to Be Missing
If an endpoint or team you expect is missing from a list, check the key's team assignment on the API Keys page. A direct request denied because of team access returns HTTP 403; a resource that is not found returns HTTP 404. To manage endpoints across teams or create teams, use a key with no team and the required permissions.
For a team-access 403, see the Admin API Error Reference.
Observability API (Enterprise only)
Enterprise accounts can query usage, traffic, errors, and recorded transaction submissions through nine read-only endpoints. See the Observability API overview for all methods, authentication, and shared request guidance.
Activity Logs API
Read your account's activity log programmatically to track who changed what, and when, across endpoints, teams, members, roles, billing, add-ons, and API keys. It's the same log you see at Account → Activity in the dashboard. Requires the activity log to be enabled for your account. See the Activity Logs API overview for all methods and usage examples.
Prometheus Exporter (Enterprise Exclusive)
Enterprise customers can use the Prometheus (/exporter/prometheus) endpoint to bring Quicknode metrics into their own monitoring tools. It provides metrics in a format compatible with Prometheus scrapers. To inspect traffic, usage, performance, errors, and transactions in the Quicknode dashboard, use Observability.
Please note that this endpoint is currently available only for Enterprise customers. For more information or inquiries about accessing these endpoints, feel free to contact us.
Making Admin REST API Requests
In this documentation, you will see example requests made with cURL and various programming languages for each supported Admin API method. This section will explain how to execute it on your machine.
cURL
Most *nix based systems have cURL support out of the box. cURL is a command line tool and library for transferring data with URLs. Check if you have it by running the following:
curl -h
CLI
To run CLI examples, install the qn command line tool:
brew install quicknode/tap/qn
Check if you have it by running the following:
qn --version
Then authenticate with an Admin API key from your Quicknode dashboard:
qn auth login
You can also provide the API key directly:
qn auth login --api-key YOUR_API_KEY_HERE
For other installation methods, output formats, and configuration options, see the CLI documentation.
Python
To run our Python code examples, you'll need to have Python installed as well as the requests package. You can install this package with the following command:
python -m pip install requests
JavaScript
To run our JavaScript code examples, you'll need to have Node v18 and up installed. You can follow this official document to install the latest, stable version of Node globally. Check if you have it by running the following:
node -v
Ruby
To run our Ruby code examples, you'll need to have Ruby installed. You can follow this official installation document for more information. Check if you have it by running the following:
ruby -v
SDK
To run SDK examples, install the SDK package for your preferred language, create an API key in the Quicknode dashboard, and set it in your environment:
export QN_SDK__API_KEY="YOUR_API_KEY"
Install the Node.js SDK package:
npm install @quicknode/sdk
Then initialize the SDK and make an Admin API request:
import { QuicknodeSdk } from "@quicknode/sdk";
const qn = QuicknodeSdk.fromEnv();
const response = await qn.admin.getEndpoints({ limit: 20 });
console.log(response.data);
For other languages and setup options, see the SDK Quick Start.