memory_update
Update an existing memory by creating a new revision (full history is preserved). Supports changing kind, canon_status, confidence, and verification_status in-place. Mutates. Tags and conversations are additive. Retryable — duplicate calls create extra revisions but do not corrupt data. Returns the updated memory with id and shortId. SOFT-DELETE RESTORE: If the target memory is soft-deleted (status deleted), any successful update revives it (status becomes active) and sets restoredFromDeleted: true on the response — this is the supported undelete path besides POST /v1/memories/:id/restore. SUPERSESSION CLEANUP: Setting canon_status to 'accepted' on a memory that has a supersededBy pointer will automatically clear that pointer and remove any superseded_by links — this restores the memory to canonical status without stale supersession artifacts. To clear supersededBy without changing canon_status, pass superseded_by: null explicitly. CONTENT POLICY: NEVER store passwords, API keys, secrets, credit card numbers, SSNs, government IDs, medical/health records (PHI/HIPAA), biometric data, or any legally protected PII.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"memory_id": "<memory_id>"
},
"name": "memory_update"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | New body text | |
| kind | No | Change the memory kind | |
| mode | No | How to apply the update | |
| tags | No | Tags to add (additive) | |
| signer | No | Agent identity -- who wrote this. Required fields: agent_id, run_id. | |
| content | No | Alias for body — some agent SDKs send content instead of body | |
| headline | No | New headline text | |
| metadata | No | Arbitrary key-value metadata stored on the revision (not merged into the memory). Opaque to search and ranking. | |
| replaces | No | Mark as replacing another memory, or pass null to clear | |
| memory_id | Yes | ID of the memory to update | |
| collection | No | Target team collection slug for within-team collection move. Requires a team-namespaced memory_id. | |
| confidence | No | Confidence as an integer percentage from 0 to 100 (e.g. 85 means 85% confident) | |
| append_mode | No | Alias for mode | |
| canon_status | No | Set canon status: draft, proposed, accepted, deprecated, alternative, meta | |
| conversations | No | Conversation contexts to add (additive) | |
| superseded_by | No | Mark as superseded by another memory, or pass null to clear an existing supersession pointer | |
| source_memory_ids | No | IDs of memories this revision was derived from | |
| human_collaborator | No | Human collaborator context (name, email, timezone, etc.) | |
| verification_status | No | Verification status: unverified, verified, disputed, superseded |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the memory | |
| body | Yes | Memory body content | |
| kind | No | Memory type | |
| tags | Yes | Tags attached to the memory | |
| status | No | Memory status | |
| shortId | Yes | Human-friendly short ID (mem-*) | |
| headline | Yes | Memory headline | |
| metadata | Yes | User-provided metadata | |
| createdAt | Yes | ISO 8601 creation timestamp | |
| updatedAt | Yes | ISO 8601 last-update timestamp | |
| confidence | No | Confidence percentage (0-100) | |
| canonStatus | No | Canon status | |
| collections | Yes | Collections containing this memory | |
| verificationStatus | No | Verification status | |
| restoredFromDeleted | No | True when this update revived a soft-deleted memory (status was deleted, now active) |