Mnemos AI
API reference

SOPs

Programmatic access to the SOP library. Every write produces a new version; the previous version remains addressable.

The SOP object

sop
{
  "id":            "sop_01HZX...",
  "workspace_id":  "ws_01HZX...",
  "project_id":    "prj_01HZX...",
  "title":         "Close month-end revenue",
  "status":        "approved",
  "version":       4,
  "owner_id":      "usr_01HZX...",
  "freshness":     0.82,
  "depends_on":    ["ent_01HZX...", "ent_01HZY..."],
  "source_session_id": "ses_01HZX...",
  "created_at":    "2026-04-04T10:00:00Z",
  "updated_at":    "2026-05-18T14:25:11Z",
  "body": { "steps": [ /* structured steps */ ] }
}

POST /v1/sops

Create a draft SOP.

curl
curl -X POST https://api.mnemos.ai/v1/sops \
  -H "Authorization: Bearer $MNEMOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "prj_01HZX...",
    "title": "Close month-end revenue",
    "body": {
      "summary": "Five-step close, executed by RevOps...",
      "steps": [
        { "n": 1, "what": "Lock period in NetSuite", "who": "RevOps lead" },
        { "n": 2, "what": "Reconcile Stripe payouts",  "who": "Accounting" }
      ]
    }
  }'

GET /v1/sops

List SOPs. Filter by status, project_id, owner_id, freshness_lt.

GET /v1/sops/{id}

Retrieve the latest approved version. Append ?version=3 to fetch a historical version.

PATCH /v1/sops/{id}

Edit. Creates a new version on success. Supports an optional If-Match: "version-N" header for optimistic concurrency.

POST /v1/sops/{id}/approve

Move from review to approved. Requires the sops:write scope and a Curator-or-above role.

curl
curl -X POST https://api.mnemos.ai/v1/sops/sop_01HZX.../approve \
  -H "Authorization: Bearer $MNEMOS_API_KEY"

POST /v1/sops/{id}/archive

Archive. Removed from search; retained for audit. Cannot be re-approved (clone to a new draft instead).