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