---
title: "Update a memory"
method: PATCH
path: "/v1/memories/{id}"
tags: ["Memories"]
---

# Update a memory

`PATCH /v1/memories/{id}`

Update memory-level properties including name, metadata, and collection associations.

This endpoint allows updating properties of an entire memory (document or conversation)
without modifying its content:
- **name**: Updates the authoritative engram title
- **metadata**: Can replace or merge with existing metadata
- **collection_ids**: Updates authoritative engram collection associations

Users can only update memories they own or have access to through collections.
At least one collection association must be maintained.

If collection_id is provided and the engram is shared across collections, a copy-on-write
will be performed to create a collection-specific copy before modification.

## Path parameters

- `id` string, uuid, required — The unique identifier of the memory

## Query parameters

- `collection_id` string, uuid, nullable — Collection context for copy-on-write. If provided and engram is shared, creates a copy before modification.

## Request body

- UpdateMemoryRequest
  - `collection_ids` string[], nullable — New collection associations
  - `merge_metadata` boolean — Merge with existing metadata
  - `metadata` object, nullable — Metadata to update
  - `name` string, nullable — New name for the memory

## Response `200`

Successful Response

- NebulaResultsEngramResponse
  - `results` EngramResponse, required — Base class for engram information handling.
    - `chunks` unknown[], nullable
      - unknown
    - `collection_ids` string[], required
    - `created_at` string, date-time, nullable
    - `document_type` 'mp3' | 'csv' | 'eml' | 'msg' | 'p7s' | 'epub' | 'xls' | 'xlsx' | 'html' | 'htm' | 'bmp' | 'heic' | 'jpeg' | 'png' | 'tiff' | 'jpg' | 'svg' | 'md' | 'org' | 'odt' | 'pdf' | 'txt' | 'json' | 'ppt' | 'pptx' | 'rst' | 'rtf' | 'tsv' | 'gif' | 'doc' | 'docx' | 'py' | 'js' | 'ts' | 'css', required — Types of file formats that can be stored as engrams.
    - `engram_type` 'document' | 'conversation', required — Types of engrams - broader categories that include documents and conversations.
    - `extraction_status` 'pending' | 'processing' | 'success' | 'failed' — Status of graph creation per document.
    - `id` string, uuid, required
    - `ingestion_attempt_number` integer, nullable
    - `ingestion_status` 'pending' | 'parsing' | 'extracting' | 'chunking' | 'embedding' | 'augmenting' | 'storing' | 'failed' | 'success' — Status of document processing.
    - `merkle_root` string, nullable
    - `metadata` object, required
    - `owner_id` string, uuid, required
    - `search_ready_seq` integer, nullable
    - `size_in_bytes` integer, nullable
    - `text` string, nullable
    - `title` string, nullable
    - `total_tokens` integer, nullable
    - `updated_at` string, date-time, nullable
    - `version` string, nullable
    - `workflow_run_id` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/zeroset-inc/apis/nebula-api.md) · [All operations](https://skmtc.net/zeroset-inc/apis/nebula-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zeroset-inc/nebula-api/revisions/b1da2c0bb1ae/schema)
