{"id":13351,"plugin_id":"plugin_asdk_app_6a79c45722208191816dac268a720cb5","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:07:20.010Z","digest":"4a719e0e9bbc3df1464dab88f2a496a77a7048d5d7ab226e2b14aa9c8df1da73","against":null,"payload":{"name":"upstash-redis-start","description":"Provision a zero-config, no-signup, temporary Upstash Redis database for an AI agent with a single POST to https://upstash.com/start-redis, with no account, API key, or SDK setup required. Use when an agent needs scratch Redis right now and the user has not provided credentials, for short-term memory across tool calls, conversation history, a sub-agent work queue, ranked recall, or a quick prototype or demo. Covers idempotent creation and re-fetching credentials, calling the database through the body-style REST API or the official SDKs, and telling the user how to claim it. The database lives 3 days unless the user claims it; not for production data, PII, or secrets.","included_files":[],"skill_md_contents":"---\nname: upstash-redis-start\ndescription: Provision a zero-config, no-signup, temporary Upstash Redis database for an AI agent with a single POST to https://upstash.com/start-redis, with no account, API key, or SDK setup required. Use when an agent needs scratch Redis right now and the user has not provided credentials, for short-term memory across tool calls, conversation history, a sub-agent work queue, ranked recall, or a quick prototype or demo. Covers idempotent creation and re-fetching credentials, calling the database through the body-style REST API or the official SDKs, and telling the user how to claim it. The database lives 3 days unless the user claims it; not for production data, PII, or secrets.\nlicense: MIT\nmetadata:\n  author: Upstash\n  homepage: https://upstash.com\n---\n\n# Upstash Redis for Agents (`start-redis`)\n\nA 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.\n\nUse this when:\n- The agent needs Redis right now and the user has not given you credentials.\n- You want short-term memory across tool calls, conversation history, a sub-agent work queue, or recent-first ranked recall.\n\nThis is built for quick experiments, prototypes, and demos rather than production workloads or anything tied to a real user account — the database is temporary and unauthenticated until claimed, so keep PII, secrets, and production credentials out of it.\n\n## Create or re-fetch a database\n\n```bash\n# Generate a fresh UUIDv4 yourself, then POST it as the Idempotency-Key.\n# The UUIDv4 you send becomes the database id.\ncurl -X POST -H \"Idempotency-Key: <uuidv4>\" https://upstash.com/start-redis\n```\n\n- 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.\n- Re-POST with the same `Idempotency-Key` to **re-fetch credentials** for an existing database.\n- 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.\n\nThe response is markdown containing:\n- `Database ID`, `Endpoint`, `Token`\n- `Metrics` URL (JSON: uptime, commands, keys, throughput, memory, bandwidth)\n- `Expires` date\n- `Console URL` to share with the user (where they view usage and click **Claim** to keep the database)\n- An inline quickstart for the body-style REST API\n\nParse these out of the markdown response and use them directly — there is no separate JSON envelope.\n\n## Calling the database (body-style REST)\n\nThe 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.\n\n```bash\n# SET with TTL\ncurl https://<endpoint> \\\n  -H \"Authorization: Bearer <token>\" \\\n  -d '[\"SET\",\"session:abc\",\"{\\\"step\\\":2}\",\"EX\",\"3600\"]'\n\n# GET\ncurl https://<endpoint> \\\n  -H \"Authorization: Bearer <token>\" \\\n  -d '[\"GET\",\"session:abc\"]'\n```\n\nYou can also use the official SDKs against the same endpoint + token (`@upstash/redis` for TS/JS, `upstash-redis` for Python).\n\n## Common agent patterns\n\n| Need | Commands |\n|------|----------|\n| Short-term memory across tool calls in one run | `SET key value EX <ttl>` / `GET key` |\n| Conversation / turn-by-turn log | `LPUSH chat:<user> <json>` / `LRANGE chat:<user> 0 20` |\n| Sub-agent work queue (producer/consumer) | `LPUSH jobs <json>` / `RPOP jobs` |\n| Ranked memory (recent-first or score-first) | `ZADD memories <score> <member>` / `ZREVRANGE memories 0 9` |\n\n## Tell the user\n\nAfter provisioning, surface the **console URL** from the response to the user. Make clear that:\n- The database expires in 3 days.\n- They can view usage at the console URL and click **Claim** to keep it.\n- This is unauthenticated scratch storage — don't put secrets or PII in it.\n\n## Reference\n\n- Service entry point (also serves the `GET` doc): https://upstash.com/start-redis\n- Full REST API: https://upstash.com/docs/redis/features/restapi\n- TS/JS SDK: https://upstash.com/docs/redis/sdks/ts\n- Python SDK: https://upstash.com/docs/redis/sdks/py\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}