Upstash Redis API

Redis database management

OpenAPI Specification

upstash-redis-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Upstash APIs Kafka Redis API
  version: 2.0.0
  summary: Developer (management) API and Redis REST API for Upstash.
  description: "Upstash exposes two distinct HTTP API surfaces:\n\n1. The Developer (Management) API at https://api.upstash.com/v2 — used\n   to programmatically create and administer Upstash Redis, Kafka, and\n   Vector databases, teams, and account-level resources. Authentication\n   is HTTP Basic using account email + API key.\n\n2. The per-database Redis REST API at https://{endpoint}.upstash.io —\n   used to execute Redis commands over HTTPS from edge and serverless\n   runtimes. Authentication is a Bearer token scoped to the database\n   (or via ?_token=... query parameter).\n\nEndpoint surface confirmed against https://upstash.com/docs/devops/developer-api\nand https://upstash.com/docs/redis/features/restapi.\n"
  contact:
    name: Upstash Docs
    url: https://upstash.com/docs
  license:
    name: Proprietary
    url: https://upstash.com/static/docs/terms.pdf
servers:
- url: https://api.upstash.com/v2
  description: Upstash Developer (management) API
- url: https://{endpoint}.upstash.io
  description: Per-database Redis REST API endpoint
  variables:
    endpoint:
      default: example-12345
      description: Database-specific endpoint hostname from the Upstash console
tags:
- name: Redis
  description: Redis database management
paths:
  /redis/databases:
    get:
      tags:
      - Redis
      summary: List Redis databases
      operationId: listRedisDatabases
      security:
      - basicAuth: []
      servers:
      - url: https://api.upstash.com/v2
      responses:
        '200':
          description: Redis database collection
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RedisDatabase'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      tags:
      - Redis
      summary: Create a Redis database
      operationId: createRedisDatabase
      security:
      - basicAuth: []
      servers:
      - url: https://api.upstash.com/v2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RedisDatabaseInput'
      responses:
        '200':
          description: Redis database created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedisDatabase'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /redis/database/{databaseId}:
    get:
      tags:
      - Redis
      summary: Retrieve a Redis database
      operationId: getRedisDatabase
      security:
      - basicAuth: []
      servers:
      - url: https://api.upstash.com/v2
      parameters:
      - $ref: '#/components/parameters/DatabaseId'
      responses:
        '200':
          description: Redis database
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedisDatabase'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Redis
      summary: Delete a Redis database
      operationId: deleteRedisDatabase
      security:
      - basicAuth: []
      servers:
      - url: https://api.upstash.com/v2
      parameters:
      - $ref: '#/components/parameters/DatabaseId'
      responses:
        '200':
          description: Redis database deleted
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Unauthorized:
      description: Missing or invalid credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    DatabaseId:
      name: databaseId
      in: path
      required: true
      schema:
        type: string
  schemas:
    RedisDatabaseInput:
      type: object
      required:
      - name
      - region
      properties:
        name:
          type: string
        region:
          type: string
        tls:
          type: boolean
          default: true
    RedisDatabase:
      type: object
      properties:
        database_id:
          type: string
        database_name:
          type: string
        region:
          type: string
        port:
          type: integer
        creation_time:
          type: integer
        state:
          type: string
        endpoint:
          type: string
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic auth with Upstash account email and API key.
    bearerAuth:
      type: http
      scheme: bearer
      description: Database-scoped bearer token issued from the Upstash console.