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.