---
title: "Update a memory"
method: POST
path: "/memories/update/{source}/{resource_id}"
tags: ["Memories"]
---

# Update a memory

`POST /memories/update/{source}/{resource_id}`

Updates an existing document in the index. You can update the text, collection,
title, and metadata. The document must already exist or a 404 will be returned.
This works for documents from any source (vault, slack, gmail, etc.).

To remove a collection, set it to null explicitly.

## Path parameters

- `source` 'reddit' | 'notion' | 'slack' | 'google_calendar' | 'google_mail' | 'box' | 'dropbox' | 'github' | 'google_drive' | 'vault' | 'web_crawler' | 'trace' | 'microsoft_teams' | 'gmail_actions' | 'granola' | 'fathom' | 'fireflies' | 'linear' | 'hubspot' | 'salesforce' | 'coda' | 'lightfield' | 'gong', required
- `resource_id` string, required

## Request body

- UpdateRequest
  - `text` union — Full text of the document. If provided, the document will be re-indexed.
    - string
    - unknown
  - `collection` union — The collection to move the document to — deprecated, set the collection using metadata instead.
    - string
    - unknown
  - `title` union — Title of the document.
    - string
    - unknown
  - `date` union — Date of the document for ranking and filtering.
    - string, date-time
    - unknown
  - `metadata` union — Custom metadata for filtering. Keys must be alphanumeric with underscores, max 64 chars. Values must be string, number, boolean, or null. Will be merged with existing metadata.
    - object
    - unknown

## Response `200`

Successful Response

- DocumentStatusResponse
  - `source` 'reddit' | 'notion' | 'slack' | 'google_calendar' | 'google_mail' | 'box' | 'dropbox' | 'github' | 'google_drive' | 'vault' | 'web_crawler' | 'trace' | 'microsoft_teams' | 'gmail_actions' | 'granola' | 'fathom' | 'fireflies' | 'linear' | 'hubspot' | 'salesforce' | 'coda' | 'lightfield' | 'gong', required
  - `resource_id` string, required
  - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'pending_review' | 'skipped', required

## Other responses

- `422` — Validation Error

## Changes

> 37 revisions in range; 1 not diffed.

- **2026-06-17** `77d3e8d5e8a7` — 1 warning, 1 info
  - added the new `gong` enum value to the `source` response property for the response status `200`
  - added the new enum value `gong` to the `path` request parameter `source`
- **2026-05-29** `5485767cdcda` — 1 warning, 1 info
  - added the new `fireflies` enum value to the `source` response property for the response status `200`
  - added the new enum value `fireflies` to the `path` request parameter `source`
- **2026-05-20** `912f94dd47ba` — 1 warning, 1 info
  - added the new `lightfield` enum value to the `source` response property for the response status `200`
  - added the new enum value `lightfield` to the `path` request parameter `source`
- **2026-05-20** `d7c846c2cd79` — 1 warning, 1 info
  - added the new `coda` enum value to the `source` response property for the response status `200`
  - added the new enum value `coda` to the `path` request parameter `source`
- **2026-05-18** `6eb290df2d3b` — 2 warning, 2 info
  - added the new `hubspot` enum value to the `source` response property for the response status `200`
  - added the new `salesforce` enum value to the `source` response property for the response status `200`
  - added the new enum value `hubspot` to the `path` request parameter `source`
  - added the new enum value `salesforce` to the `path` request parameter `source`

[Full history](https://skmtc.dev/hyperspell/apis/hyperspell-api/changes/memories/update/:source/:resource_id/post.md)

---

[API](https://skmtc.dev/hyperspell/apis/hyperspell-api.md) · [All operations](https://skmtc.dev/hyperspell/apis/hyperspell-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hyperspell/hyperspell-api/revisions/5721acd588e6/schema)
