OpenAPI Specification
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.