agent_desk

Create Memory

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).

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)
  • Auth
    OAuth 2
    Password
    Token URL: /auth/login

Path parameters

domain_idstring required

Headers

x-view-asstring nullable

Request body

statementstring required

Response

Successful Response

diffobject nullable
learningobject nullable
spamboolean
incorporatedboolean
draftingboolean
strategyobject nullable
appliedobject nullable
applied_versionsobject[]
heldobject[]
undo_available_untilstring nullable
undoneboolean
enqueuedboolean required
statusstring required
detailstring required

Changes

No recorded changes to this operation across all 1 revision of this API.