QuickNode Key-Value Store

REST API for large-scale dataset storage and retrieval keyed by string identifiers.

OpenAPI Specification

quicknode-key-value-store-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: QuickNode Key-Value Store REST API
  description: >-
    The QuickNode Key-Value Store REST API provides a managed, large-scale
    key-value storage service accessible over HTTP. Developers can create
    namespaces (databases), write and read keys, batch-load data, and
    delete keys, making it suitable for storing onchain-related metadata,
    indexer state, and application configuration alongside QuickNode's
    blockchain infrastructure. Authentication uses an API key issued from
    the QuickNode dashboard.
  version: '1.0.0'
  contact:
    name: QuickNode Support
    url: https://www.quicknode.com/support
  termsOfService: https://www.quicknode.com/terms-of-service
externalDocs:
  description: QuickNode Key-Value Store Documentation
  url: https://www.quicknode.com/docs/key-value-store
servers:
  - url: https://api.quicknode.com/kv/rest/v1
    description: QuickNode Key-Value Store REST production server
tags:
  - name: Database
    description: Manage key-value namespaces (databases).
  - name: Keys
    description: Read, write, and delete keys within a database.
  - name: Batch
    description: Bulk-load operations against a database.
paths:
  /databases:
    get:
      tags:
        - Database
      summary: List databases
      operationId: listDatabases
      responses:
        '200':
          description: Successful response
    post:
      tags:
        - Database
      summary: Create a database
      operationId: createDatabase
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
      responses:
        '201':
          description: Database created
  /databases/{database}:
    delete:
      tags:
        - Database
      summary: Delete a database
      operationId: deleteDatabase
      parameters:
        - name: database
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Database deleted
  /databases/{database}/keys/{key}:
    get:
      tags:
        - Keys
      summary: Get a value by key
      operationId: getKey
      parameters:
        - name: database
          in: path
          required: true
          schema:
            type: string
        - name: key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
    put:
      tags:
        - Keys
      summary: Set a value for a key
      operationId: setKey
      parameters:
        - name: database
          in: path
          required: true
          schema:
            type: string
        - name: key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  type: string
      responses:
        '200':
          description: Key set
    delete:
      tags:
        - Keys
      summary: Delete a key
      operationId: deleteKey
      parameters:
        - name: database
          in: path
          required: true
          schema:
            type: string
        - name: key
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Key deleted
  /databases/{database}/batch:
    post:
      tags:
        - Batch
      summary: Bulk write keys
      operationId: batchWrite
      parameters:
        - name: database
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                      value:
                        type: string
      responses:
        '200':
          description: Batch processed
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
security:
  - ApiKeyAuth: []