GET / POST · Consolidation

Detect and merge duplicate or contradictory memories. Paid features gated on plan or BYOK.

Mnueron periodically detects duplicate-looking and contradictory memories and proposes merges. The detection pass writes proposals to a queue; a reviewer (or the agent itself) approves or rejects each one.

GET /api/consolidate

List proposals.

curl "https://www.mnueron.com/api/consolidate?status=pending&kind=duplicate&limit=50" \
  -H "Authorization: Bearer $MNUERON_API_TOKEN"
QueryDefaultNotes
statuspendingpending / approved / rejected / merged / all
kindduplicate / contradiction / stale
limit501..500
offset0
{
  "proposals": [
    {
      "id": "01HQ…",
      "kind": "duplicate",
      "memory_a_id": "01HQA…",
      "memory_b_id": "01HQB…",
      "score": 0.94,
      "status": "pending",
      "note": null,
      "proposed_at": 1737070000000,
      "reviewed_at": null
    }
  ]
}

POST /api/consolidate

Discriminated by action:

action: "detect"

Run a detection pass over the org. Paid plan only.

curl -X POST https://www.mnueron.com/api/consolidate \
  -H "Authorization: Bearer $MNUERON_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "action": "detect", "threshold": 0.92, "namespace": "work" }'

Returns { scanned, proposalsCreated, alreadyKnown }.

action: "review"

Record a decision on a proposal.

curl -X POST https://www.mnueron.com/api/consolidate \
  -H "Authorization: Bearer $MNUERON_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "action": "review", "id": "01HQ…", "decision": "approved" }'

action: "merge"

Run an LLM-driven merge of the two memories on an approved proposal. Inserts a new merged memory tagged merged-from-consolidation and supersedes both originals.

Paid-only unless the request includes a byok_anthropic_key / byok_openai_key.

curl -X POST https://www.mnueron.com/api/consolidate \
  -H "Authorization: Bearer $MNUERON_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "action": "merge", "id": "01HQ…" }'

Returns { proposal_id, merged_memory_id, merged_content, had_conflict }.

Last updated 2026-05-24edit