Forget Omega memory
Omega forgetting deletes an exact or bounded set of authorized memories and returns durable, content-free proof of the result. Retention policy and legal hold remain authoritative; a valid request can be held instead of deleted.
Use this operation when a user or administrator must remove one memory, a known set of memories, or a narrowly defined scope.
Choose a selector
Send a request to:
POST /v1/graymatter/omega/forget
Choose one selector style:
memoryReffor one memory;memoryRefsfor 1 through 500 exact memory IDs; or- one or more scoped selectors such as
memoryTypes,sourceChannel,applicationRef,projectRef,createdBefore, orexpiredBefore.
Do not combine exact references with scoped selectors. The server derives principal, tenant, owner, ACL visibility, retention policy, and the final target set.
Forget one memory
{
"memoryRef": "41151b6f-d4fd-413a-b450-f44a3a0fd25e",
"reasonCode": "user-request",
"idempotencyKey": "forget-41151b6f-v1"
}
Forget a bounded scope
{
"memoryTypes": ["working", "episodic"],
"sourceChannel": "codex:workspace:example",
"createdBefore": "2026-01-01T00:00:00Z",
"maxEntries": 100,
"reasonCode": "retention-cleanup",
"idempotencyKey": "workspace-example-cleanup-2026-01-v1"
}
Set maxEntries to the largest result you intend to delete, up to 500. If the authorized target set exceeds the bound, narrow the selector rather than treating a partial deletion as complete.
Verify the result
The response includes:
eventRef, the durable deletion event;deletionStatus, which can bedeleted,replayed,held, ordegraded;proofStatus, which can beverified,held, ordegraded;- selected, deleted, and residual counts; and
legalHoldAppliedand the retention policy version.
Read the proof later with:
GET /v1/graymatter/omega/forget/events/{eventId}
The event read is authorized. An event ID is not a public receipt and does not reveal deleted memory content.
Application behavior
- Report
heldas a legal-hold outcome, not a successful deletion. - Treat any nonzero residual count or
degradedproof as incomplete and follow the returned flags. - Preserve the
eventRefin the requesting workflow or compliance record. - Reuse an idempotency key only for the same logical selector and reason code.
- Never send tenant, owner, principal, audit, or policy fields in the request.