{"openapi":"3.1.0","info":{"title":"MindDream","version":"0.8.0","description":"Persistent memory for autonomous AI agents: save facts, recall them by meaning, forget them. Pay per call in USDC (x402 on Base and Solana). No account, no API key: the wallet that pays owns the memory.\n\nUse it when an agent must remember things across sessions: preferences, decisions, facts learned, task context. Typical loop: store what matters, recall it at the start of the next session with a plain-language query.\n\nHow to pay: call an endpoint without payment to get the 402 with the accepted networks, asset, amount and payTo; sign it and repeat the call with the PAYMENT-SIGNATURE header. The wallet that pays is the memory namespace. MCP (Streamable HTTP) is also available at /mcp with the same tools and prices.","x-keywords":["memory","agent memory","long-term memory","semantic search","recall","x402","usdc","mcp"]},"servers":[{"url":"https://api.minddreamai.xyz"}],"paths":{"/store":{"post":{"operationId":"store","summary":"Save a fact, preference or decision so you can recall it in later sessions. One call stores one memory (up to 4000 characters), kept until you delete it. Returns its id. Wallets that store get free recall and delete (fair use).","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":4000,"description":"The fact, preference or decision to remember, in plain natural language."}},"required":["content"]},"example":{"content":"User prefers short answers"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"id":"123e4567-e89b-42d3-a456-426614174000","created_at":"2026-01-01T12:00:00.000Z","expires_at":null}}}},"402":{"description":"Payment Required"}}}},"/recall":{"post":{"operationId":"recall","summary":"Search your saved memories by meaning (works across languages) and get the most relevant ones, best first. Weak matches are filtered out, so an empty result means nothing relevant is stored. Free for wallets that have stored (fair use); otherwise paid.","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":1000},"limit":{"type":"integer","minimum":1,"maximum":20,"default":5}},"required":["query"]},"example":{"query":"how does the user like answers","limit":3}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"results":[{"id":"123e4567-e89b-42d3-a456-426614174000","content":"User prefers short answers","created_at":"2026-01-01T12:00:00.000Z","score":0.9}],"count":1}}}},"402":{"description":"Payment Required"}}}},"/delete":{"post":{"operationId":"delete","summary":"Forget one memory by its id (returned by store and recall). Only the wallet that saved it can delete it. Free for wallets that have stored (fair use); otherwise paid.","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Memory id (UUID) returned by store or recall"}},"required":["id"]},"example":{"id":"123e4567-e89b-42d3-a456-426614174000"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"deleted":true}}}},"402":{"description":"Payment Required"}}}},"/store_ttl":{"post":{"operationId":"store_ttl","summary":"Save short-lived context (such as the state of today's task) that should disappear on its own: after ttl_seconds (60 s to 365 days) it no longer appears in recall. Returns its id and expiry. Counts like store toward free recall.","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.007"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","minLength":1,"maxLength":4000,"description":"The fact, preference or decision to remember, in plain natural language."},"ttl_seconds":{"type":"integer","minimum":60,"maximum":31536000,"description":"Seconds until the memory expires (60 to 31536000)."}},"required":["content","ttl_seconds"]},"example":{"content":"Today's build is failing on the payments service","ttl_seconds":86400}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"id":"123e4567-e89b-42d3-a456-426614174000","created_at":"2026-01-01T12:00:00.000Z","expires_at":"2026-01-02T12:00:00.000Z"}}}},"402":{"description":"Payment Required"}}}}}}