Redis
Managed Redis databases. A database's password is returned only by the single-database read, never by the list, so enumerating databases does not hand out credentials for all of them.
Every Redis database in the project, newest first. Terminated databases are omitted.
Passwords are never included here — read a single database to get its credential.
Auth: a project API key carrying redis:read.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Path Parameters
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/string/redis"{ "success": true, "data": [ { "id": "string", "name": "string", "provider": "REDIS_CLOUD", "engine": "REDIS", "engineVersion": "string", "planSlug": "string", "planType": "RAM", "memoryMb": -9007199254740991, "throughputOps": -9007199254740991, "cloudProvider": "string", "region": "string", "replication": true, "dataPersistence": "NONE", "status": "CREATING", "host": "string", "port": -9007199254740991, "createdAt": "2019-08-24T14:15:22Z" } ]}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}Provisions a managed Redis-compatible database and adds it to the project's subscription.
Every purchasable tier is Valkey, running on Cosmoner infrastructure. Valkey speaks the Redis protocol, so the connection string and any Redis client work unchanged.
No tier offers high availability, so replication: true is rejected with 400 rather
than ignored — the plan list reports supportsReplication per tier.
region must be one the chosen plan is sold in; the regions endpoint lists them.
Billing is charged to the project's saved card. A project with no usable card returns 402.
Auth: a project API key carrying all of redis:read and redis:write.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/projects/string/redis" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "planSlug": "string", "region": "string" }'{ "success": true, "data": { "deployed": true }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}The database, together with the password for its default user — everything needed to connect.
This is the only endpoint that returns the password; the list deliberately omits it.
Auth: a project API key carrying redis:read.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/string/redis/string"{ "success": true, "data": { "id": "string", "name": "string", "provider": "REDIS_CLOUD", "engine": "REDIS", "engineVersion": "string", "planSlug": "string", "planType": "RAM", "memoryMb": -9007199254740991, "throughputOps": -9007199254740991, "cloudProvider": "string", "region": "string", "replication": true, "dataPersistence": "NONE", "status": "CREATING", "host": "string", "port": -9007199254740991, "createdAt": "2019-08-24T14:15:22Z", "password": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}Deletes the database and stops billing for it. The data is not recoverable.
Auth: a project API key carrying all of redis:read and redis:write.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/projects/string/redis/string"{ "success": true, "data": {}}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}Memory and network usage for the database.
A database that is still provisioning reports zeroes rather than failing, so a caller can render the same view either way. Figures are cached briefly and may lag by up to a minute.
Auth: a project API key carrying redis:read.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/string/redis/string/usage"{ "success": true, "data": { "memoryUsedMb": 0, "memoryLimitMb": 0, "networkUsedBytes": 0 }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}What a given plan would be charged today and each month after, before committing to it.
Auth: a project API key carrying redis:read.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Path Parameters
1 <= lengthQuery Parameters
The plan to price, as listed by the catalogue.
^[A-Za-z0-9][A-Za-z0-9._-]*$1 <= length <= 64Price with high availability, which bills a second unit of the plan.
Value in
- "true"
- "false"
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/string/redis/preview?planSlug=string"{ "success": true, "data": { "subtotal": -9007199254740991, "tax": -9007199254740991, "creditApplied": -9007199254740991, "dueToday": -9007199254740991, "monthly": -9007199254740991, "currency": "string", "nextBillingDate": "2019-08-24T14:15:22Z" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}Every purchasable tier, cheapest first.
slug is what createRedisDatabase takes as planSlug, and it chooses the size. Tiers a
deployment cannot serve are not listed.
cpuMilli is the CPU reserved for the instance. throughputOps is a rated operation ceiling
and is null on every tier currently sold — it belonged to a retired line that published one
rather than the other. The two never convert into each other, so a caller that renders
performance should read whichever is present rather than assuming a field.
Auth: any valid project API key — this endpoint enforces no scope.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/redis/plans"{ "success": true, "data": [ { "slug": "string", "name": "string", "provider": "REDIS_CLOUD", "engine": "REDIS", "planType": "RAM", "memoryMb": -9007199254740991, "throughputOps": -9007199254740991, "cpuMilli": -9007199254740991, "supportsReplication": true, "supportsPersistence": true, "priceMonthly": 0 } ]}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}Every region a database can be created in.
One region is sold today, so this is a short list — but it is not a formality and should not be
hard-coded past. Availability is reported per provider and per plan family: filter on
providers and planTypes together before offering a region against a chosen plan. Creating a
database in a region its plan is not sold in is rejected rather than quietly relocated.
Auth: any valid project API key — this endpoint enforces no scope.
Authorization
apiKey A project API key. X-API-Key: <key> is accepted as an alternative to the Authorization header.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/redis/regions"{ "success": true, "data": [ { "slug": "string", "name": "string", "cloudProvider": "string", "providers": [ "REDIS_CLOUD" ], "planTypes": [ "RAM" ] } ]}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}{ "success": false, "error": { "code": "string", "message": "string" }}Shared Databases
Multi-tenant database access — provision isolated databases on a shared PostgreSQL cluster.
Secrets
Encrypted configuration. A secret's value is returned exactly once — by the call that sets it — and never again; reads describe the secret without handing the plaintext back. For values that do not need protecting, use variables instead.