--- id: upstash/skills/upstash-redis-start version: "7ecf74fc" license: MIT install: manual updated: 2026-07-14 --- # upstash-redis-start — Get a working Redis database for your agent instantly via a single HTTP request to Upstash's start-redis endpoint. No signup, credentials, or configuration needed—just POST with an idempotency key and receive an endpoint and token ready to use. Ideal for agent short-term memory, conversation logs, work queues, and ranked recall; databases expire after 3 days unless claimed. Publisher: upstash · Stars: 15 · Updated: 2026-07-14 Install (manual): `git clone https://github.com/upstash/skills` ## SKILL.md # Upstash Redis for Agents (`start-redis`) A zero-config Redis database for AI agents — **no signup, no UI, no SDK setup**. One HTTP request returns a working endpoint + token. Databases live for **3 days** unless the user claims them. Use this when: - The agent needs Redis right now and the user has not given you credentials. - You want short-term memory across tool calls, conversation history, a sub-agent work queue, or recent-first ranked recall. Do **not** use this for: production workloads, anything tied to a user account, or anything storing PII / secrets / production credentials. The database is temporary and unauthenticated until claimed. ## Create or re-fetch a database ```bash # Generate a fresh UUIDv4 yourself, then POST it as the Idempotency-Key. # The UUIDv4 you send becomes the database id. curl -X POST -H "Idempotency-Key: " https://upstash.com/start-redis ``` - Sending your own UUIDv4 makes the first call **retry-safe** — if the response is lost, retrying with the same UUID returns the same database instead of minting a duplicate. - Re-POST with the same `Idempotency-Key` to **re-fetch credentials** for an existing database. - The header is optional. Omit it to mint a new database with a server-generated id (returned in the response — re-fetch later by passing that id back as `Idempotency-Key`). Only UUIDv4 is accepted. The response is markdown containing: - `Database ID`, `Endpoint`, `Token` - `Metrics` URL (JSON: uptime, commands, keys, throughput, memory, bandwidth) - `Expires` date - `Console URL` to share with the user (where they view usage and click **Claim** to keep the database) - An inline quickstart for the body-style REST API Parse these out of the markdown response and use them directly — there is no separate JSON envelope. ## Calling the database (body-style REST) The returned endpoint speaks the Upstash Redis REST API. Prefer the **body-style** form: POST a JSON array as the body so you don't have to URL-encode the command. ```bash # SET with TTL curl https:// \ -H "Authorization: Bearer " \ -d '["SET","session:abc","{\"step\":2}","EX","3600"]' # GET curl https:// \ -H "Authorization: Bearer " \ -d '["GET","session:abc"]' ``` You can also use the official SDKs against the same endpoint + token (`@upstash/redis` for TS/JS, `upstash-redis` for Python). ## Common agent patterns | Need | Commands | |------|----------| | Short-term memory across tool calls in one run | `SET key value EX ` / `GET key` | | Conversation / turn-by-turn log | `LPUSH chat: ` / `LRANGE chat: 0 20` | | Sub-agent work queue (producer/consumer) | `LPUSH jobs ` / `RPOP jobs` | | Ranked memory (recent-first or score-first) | `ZADD memories ` / `ZREVRANGE memories 0 9` | ## Tell the user After provisioning, surface the **console URL** from the response to the user. Make clear that: - The database expires in 3 days. - They can view usage at the console URL and click **Claim** to keep it. - This is unauthenticated scratch storage — don't put secrets or PII in it. ## Reference - Service entry point (also serves the `GET` doc): https://upstash.com/start-redis - Full REST API: https://upstash.com/docs/redis/features/restapi - TS/JS SDK: https://upstash.com/docs/redis/sdks/ts - Python SDK: https://upstash.com/docs/redis/sdks/py [View on SkillFed](https://skillfed.io/upstash/skills/upstash-redis-start) · [View on GitHub](https://github.com/upstash/skills)