---
title: "Create Memory"
method: POST
path: "/api/domains/{domain_id}/agent-desk/memories"
tags: ["agent_desk"]
---

# Create Memory

`POST /api/domains/{domain_id}/agent-desk/memories`

## Request

- Base URL: `https://api-v1.unusual.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api-v1.unusual.ai/api/domains/{domain_id}/agent-desk/memories`
- Auth: OAuth 2
  - Password
  - Token URL: `/auth/login`

THE THIRD DOOR: state a fact or a rule directly, with no answer behind it.

Will, 2026-08-10: *"Also add something where we can manually add memories."*

A MANUAL MEMORY IS A CORRECTION WITH NO SOURCE ANSWER, and that framing is the
whole design — not a shortcut. A memory in this product is never a stored string
fed to the model: it is the ledger record of a control-document change. So the
only way to "add one" that means anything is to ride the lane every other memory
rides — classify the statement, rewrite the document(s) it belongs in, apply, log
the row, offer Undo, attach the test if one is worth having. Storing the sentence
somewhere and pasting it into a prompt would produce a row that LOOKED like a
memory and behaved like nothing.

So this endpoint writes the same review row the correction doors write (no
target, ``source="manual_memory"``, the statement as the comment), commits it, and
hands it to the same actor through the same arm-then-enqueue tail. The response is
byte-shaped like ``POST /corrections`` on purpose: the surface polls
``GET /corrections/{review_id}``, and the working → applied toasts with Undo come
out of the machinery that already exists rather than a second copy of it.

``get_user`` for the reason ``POST /corrections`` requires it: this spends model
tokens, and an unattributed spend on an authenticated surface is not something to
leave possible.

400 — the statement is empty once sanitised. 404 — no desk on this domain.
422 — over the owner-text guardrail (``OWNER_TEXT_GUARDRAIL_CHARS``).

## Path parameters

- `domain_id` string, required

## Headers

- `x-view-as` string, nullable

## Request body

- MemoryCreate: One thing the owner wants their AgentDesk to know, or a rule to follow. A sentence (or several), typed on the Memories tab. No product limit (Will, 2026-10-14) — only the hidden owner-text guardrail every correction shares, because it is quoted into a prompt downstream.
  - `statement` string, required

## Response `200`

Successful Response

- CorrectionCreateOut: `POST /corrections`'s response: the state, plus what happened to the draft.
  - `review` ReviewOut, required
    - `id` string, required
    - `message_id` string, nullable
    - `answer_page_id` string, nullable
    - `question_text` string, nullable
    - `answer_excerpt` string, nullable
    - `verdict` string, required
    - `comment` string, nullable
    - `source` string, required
    - `created_by` string, nullable
    - `status` string, required
    - `incorporated_version_id` string, nullable
    - `created_at` string, nullable
    - `updated_at` string, nullable
  - `proposal` CorrectionProposalOut: The proposed control-document version a correction produced.
    - `version_id` string, required
    - `version_number` integer, required
    - `kind` string, nullable
    - `status` string, required
    - `source` string, required
    - `change_summary` string, nullable
    - `markdown` string, required
    - `created_at` string, nullable
  - `diff` object, nullable
  - `learning` object, nullable
  - `spam` boolean
  - `incorporated` boolean
  - `drafting` boolean
  - `strategy` object, nullable
  - `applied` object, nullable
  - `applied_versions` object[]
  - `held` object[]
  - `undo_available_until` string, nullable
  - `undone` boolean
  - `enqueued` boolean, required
  - `status` string, required
  - `detail` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unusual/apis/dashboard-server.md) - [All operations](https://skmtc.dev/unusual/apis/dashboard-server/llms.txt) - [OpenAPI document](https://skmtc.dev/unusual/apis/dashboard-server/revisions/89f716930ead?raw)
