update_memory_batch tool ¶Updates up to MAX_BATCH_SIZE (default 200) memories in a
single call. The embedding provider is invoked once per batch for
the items that supply new text; items that change only
metadata (tags, importance, freshness) don’t call the embedder at
all, so a bulk tag-normalization pass is cheap.
Strongly prefer this over calling update_memory repeatedly
when correcting several memories at once.
itemsRequired array. Each item is a partial update_memory
payload: id required, plus at least one of text,
tags, importance, expires_at,
last_confirmed_at.
dry_runBoolean. Optional, default false. When true, validate every item and report which fields would change, but make no writes.
{
"ok": true,
"dry_run": false,
"results": [
{ "input_index": 0, "id": 41, "ok": true,
"changed_fields": ["tags"], "message": "Ok" },
{ "input_index": 1, "id": 42, "ok": false,
"error": { "code": "NOT_FOUND",
"message": "Memory 42 not found." } }
],
"summary": { "total": 2, "updated": 1, "errors": 1 }
}
Per-item failures (null id, unknown id, secret rejected, embedding failure on a single text) do not fail the rest of the batch.
Batch-level: INVALID_INPUT (empty list, over 200 items),
LIMIT_EXCEEDED. Per-item errors appear inside results.