Documentation

Redis

Per-project Redis 7 — tenant-isolated key-value store for caching, sessions, queues, counters, and pub/sub. Pro+ plans only.

Basics

# SET with TTL
curl -X POST $API/{slug}/redis/set \
  -H "X-API-Key: $KEY" \
  -d '{"key":"session:abc","value":"user-data-json","ttl":3600}'

# GET
curl -X POST $API/{slug}/redis/get \
  -H "X-API-Key: $KEY" -d '{"key":"session:abc"}'

# DELETE multiple
curl -X POST $API/{slug}/redis/delete \
  -H "X-API-Key: $KEY" -d '{"keys":["key1","key2"]}'

Atomic counters

curl -X POST $API/{slug}/redis/incr \
  -H "X-API-Key: $KEY" \
  -d '{"key":"page:views","amount":1,"ttl":86400}'

Lists (queues, stacks)

# Push (right end of list)
curl -X POST $API/{slug}/redis/rpush \
  -H "X-API-Key: $KEY" \
  -d '{"key":"queue:jobs","values":["task1","task2"],"ttl":3600}'

# Pop (left end — FIFO queue)
curl -X POST $API/{slug}/redis/lpop \
  -H "X-API-Key: $KEY" -d '{"key":"queue:jobs"}'
Pub/subRedis publish sends messages on a channel. To subscribe, use the Realtime WebSocket — it consumes Redis pub/sub internally with auth and filters.

Best practices

Endpoints

EndpointMethodBody
/{slug}/redis/setPOST{key, value, ttl?}
/{slug}/redis/getPOST{key}
/{slug}/redis/deletePOST{keys: [...]}
/{slug}/redis/mgetPOST{keys: [...]}
/{slug}/redis/msetPOST{items: {...}, ttl?}
/{slug}/redis/expirePOST{key, ttl}
/{slug}/redis/ttlPOST{key}
/{slug}/redis/incrPOST{key, amount?, ttl?}
/{slug}/redis/decrPOST{key, amount?, ttl?}
/{slug}/redis/lpushPOST{key, values, ttl?}
/{slug}/redis/rpushPOST{key, values, ttl?}
/{slug}/redis/lpopPOST{key}
/{slug}/redis/rpopPOST{key}
/{slug}/redis/lrangePOST{key, start?, stop?}
/{slug}/redis/publishPOST{channel, message}
/{slug}/redis/keysPOST{pattern?, count?}
/{slug}/redis/usageGET—
/{slug}/redis/flushPOSTFlush all keys