GET / POST / PATCH / DELETE · Runbooks

CRUD for procedural memories: titled how-to procedures with trigger phrases.

Procedural memories are titled how-to procedures — "deploy to prod", "rotate a credential" — that the agent can re-derive when it hears a matching trigger phrase. They live in their own table (separate from the free-form memories store) so steps stay structured.

GET /api/procedural

curl "https://www.mnueron.com/api/procedural?q=deploy&limit=50" \
  -H "Authorization: Bearer $MNUERON_API_TOKEN"
QueryNotes
qILIKE search on title / summary
triggerExact match against trigger_phrases[]
limit1..500 (default 50)
offset
{
  "procedurals": [
    {
      "id": "01HQ…",
      "title": "Deploy to production",
      "summary": "Bump version, push tag, watch GH Actions.",
      "trigger_phrases": ["deploy to prod", "ship to production"],
      "steps": [
        { "description": "Bump package.json", "command": "npm version patch" },
        { "description": "Push tag", "command": "git push --tags" }
      ],
      "success_count": 12,
      "failure_count": 0,
      "created_at": 1735000000000,
      "updated_at": 1737070000000,
      "last_used_at": 1737065000000
    }
  ]
}

POST /api/procedural

curl -X POST https://www.mnueron.com/api/procedural \
  -H "Authorization: Bearer $MNUERON_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Deploy to production",
    "summary": "Bump version, push tag, watch GH Actions.",
    "trigger_phrases": ["deploy to prod", "ship to production"],
    "steps": [
      { "description": "Bump package.json", "command": "npm version patch" }
    ]
  }'
FieldTypeNotes
titlestringrequired, ≤200 chars, UNIQUE per org
summarystring
trigger_phrasesstring[]≤50 entries
stepsobject[]≤200, each { description, command?, check?, notes? }
metadataobject

409 on duplicate title within an org.

GET / PATCH / DELETE /api/procedural/:id

  • GET — fetch one runbook (404 if missing).
  • PATCH — sparse update of any field above. 409 on title collision.
  • DELETE — removes the runbook. Returns { "deleted": true }.

POST /api/procedural/:id — mark outcome

Bump the success or failure counter after running a runbook end-to-end.

curl -X POST https://www.mnueron.com/api/procedural/01HQ… \
  -H "Authorization: Bearer $MNUERON_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "outcome": "success" }'

Returns the updated runbook. The runbook recall system uses success/failure ratio to rank suggestions in unified recall.

Last updated 2026-05-24edit