OpenAPI Specification
View the complete OpenAPI specification for this REST API.
概要
The Key-Value Store REST API enables you to manage and access your lists and sets programmatically from any environment — your backend services, CI/CD pipelines, scripts, or anywhere you make HTTP requests.
Use the REST API to:
- Pre-populate lists with wallet addresses, token contracts, or other data before your Stream starts processing
- Update your Key-Value Store data on demand from outside of a Streams filter
- Build management tools and dashboards around your Key-Value Store data
For managing Key-Value Store data from within a Streams filter (e.g., during real-time block processing), use the qnLib.* methods documented in the Streams Filters documentation.
認証
To access the Key-Value Store REST API, create an API key and include it as an x-api-key header with every request.
API Base URL: https://api.quicknode.com/
Making Key-Value Store REST API Requests
In this documentation, you will see example requests made with cURL, the Quicknode CLI, and various programming languages for each supported Key-Value Store REST API method. This section will explain how to execute them 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
Here's an example of how to retrieve all list keys using the Key-Value Store REST API with cURL:
curl -X GET \
"https://api.quicknode.com/kv/rest/v1/lists" \
-H "accept: application/json" \
-H "x-api-key: YOUR_API_KEY"
Quicknode CLI
To run Quicknode 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 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 Quicknode CLI documentation.
Available Endpoints
Lists
Lists store collections of string items under a single key. Use them for membership checks against streaming data (e.g., checking if a wallet address is in your watchlist).
| 方法 | Endpoint | 説明 |
|---|---|---|
| 投稿 | /kv/rest/v1/lists | Create a new list |
| GET | /kv/rest/v1/lists | Retrieve all list keys |
| GET | /kv/rest/v1/lists/{key} | Retrieve items from a specific list |
| PATCH | /kv/rest/v1/lists/{key} | Add/remove items from a list |
| 投稿 | /kv/rest/v1/lists/{key}/items | Add a single item to a list |
| GET | /kv/rest/v1/lists/{key}/contains/{item} | Check if a list contains an item |
| DELETE | /kv/rest/v1/lists/{key}/items/{item} | Remove an item from a list |
| DELETE | /kv/rest/v1/lists/{key} | Delete a list |
Sets
Sets store individual key-value pairs. Use them for tracking data points that change over time (e.g., last processed block, running totals).
| 方法 | Endpoint | 説明 |
|---|---|---|
| 投稿 | /kv/rest/v1/sets | Create a new key-value set |
| GET | /kv/rest/v1/sets | Retrieve all set keys |
| GET | /kv/rest/v1/sets/{key} | Retrieve a set value by key |
| 投稿 | /kv/rest/v1/sets/bulk | Bulk create/delete sets |
| DELETE | /kv/rest/v1/sets/{key} | Delete a set |
Key-Value Store items are case-sensitive. This is particularly important when working with blockchain addresses, as they must be entered exactly as they appear onchain.