---
title: "Update a contact memory entry"
method: PUT
path: "/sessions/{sessionId}/memory/{entryName}"
tags: ["ContactMemory"]
---

# Update a contact memory entry

`PUT /sessions/{sessionId}/memory/{entryName}`

Create or replace the memory entry with this name; the entry is upserted, so a PUT to a name that does
not exist yet creates it. This is a full replace, not a patch: omitting `description` clears the stored
description. Returns `{ ok: true, entries: <count after the write> }`; invalid input returns 400 and an
unknown session 404. Staff writes work even when the project's contact-memory feature is disabled.

## Path parameters

- `sessionId` string, required
- `entryName` string, required

## Headers

- `project` string, required

## Request body

- ContactMemoryUpdateBody
  - `description` string — Optional. Omitting it clears the stored description; this is a full replace, not a patch. Truncated to 240 characters.
  - `content` string, required — Required. Truncated to 4000 characters.

## Response `200`

Ok

- ContactMemoryWriteResult
  - `ok` boolean, required
  - `reason` 'disabled' | 'no_userId' | 'invalid_input' | 'session_not_found' — Only set on internal (non-admin) calls; never present in an admin API 200 response.
  - `consolidationEnqueued` boolean
  - `entries` number, double

---

[API](https://skmtc.net/gleap/apis/gleap-server.md) · [All operations](https://skmtc.net/gleap/apis/gleap-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gleap/gleap-server/revisions/2bfe054193b5/schema)
