PUT /api/memories/:id (and PATCH /api/memories/:id — equivalent)
Update one or more fields on an existing memory. All fields are optional; pass only the ones you want to change.
curl -X PUT https://www.mnueron.com/api/memories/01HQB9R3MV… \
-H "Authorization: Bearer $MNUERON_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tags": ["style", "js", "indentation"],
"metadata": { "verified": true }
}'
Body
| Field | Type | Notes |
|---|---|---|
content | string | If changed, an entry is appended to metadata.history |
tags | string[] | Replaces the existing tag array |
namespace | string | Moves the memory to a different project (creates the namespace if it doesn't exist) |
metadata | object | Merged with existing metadata. To remove a key, pass it as null |
Empty bodies ({}) return 400 no patchable fields supplied.
Response
The full updated memory row, same shape as the POST response.
History tracking
When content is changed, an entry is appended to metadata.history:
{
"metadata": {
"history": [
{ "at": 1737071000000, "prev_content_len": 42, "by_user": "...", "by_token": "..." }
]
}
}
The prior text isn't stored (could be very large) — just length + actor + timestamp so an audit can correlate against application logs. For the full audit trail (including non-content edits), use GET /api/memories/:id/history.
Side effects
- Fires the
memory.updatedwebhook. - Writes a
memory.updaterow toaudit_log. - Counts toward the 60/min rate limit per token.