Mnemos AI
API reference

Graph

Entities and relationships as first-class resources. Every read is permission-aware; every write produces an audit entry.

The entity object

entity
{
  "id":        "ent_01HZX...",
  "type":      "Person",
  "name":      "Priya Anand",
  "attributes": {
    "email": "priya@acme.com",
    "title": "VP RevOps",
    "team":  "Revenue Operations"
  },
  "risk_score":  72,
  "provenance":  [ { "session_id": "ses_01H..." } ],
  "created_at":  "2026-02-04T09:11:42Z",
  "updated_at":  "2026-05-18T14:24:00Z"
}

POST /v1/graph/entities

Create or upsert an entity.

curl
curl -X POST https://api.mnemos.ai/v1/graph/entities \
  -H "Authorization: Bearer $MNEMOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "System",
    "name": "NetSuite Production",
    "attributes": { "vendor": "Oracle", "criticality": "high" }
  }'

GET /v1/graph/entities/{id}

Retrieve an entity.

POST /v1/graph/relationships

Create a typed edge between two entities.

curl
curl -X POST https://api.mnemos.ai/v1/graph/relationships \
  -H "Authorization: Bearer $MNEMOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "owns",
    "from": "ent_priya",
    "to":   "ent_netsuite",
    "since": "2024-08-01"
  }'

POST /v1/graph/traverse

Run a bounded traversal. Returns nodes, edges, and an explicit list of edges redacted by permissions.

curl
curl -X POST https://api.mnemos.ai/v1/graph/traverse \
  -H "Authorization: Bearer $MNEMOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "start": { "type": "Person", "id": "ent_priya" },
    "edge_types": ["owns", "depends_on"],
    "depth": 2
  }'
response
{
  "nodes": [ { "id": "ent_priya" }, { "id": "ent_netsuite" } ],
  "edges": [
    { "type": "owns", "from": "ent_priya", "to": "ent_netsuite" }
  ],
  "redactions": [
    { "reason": "project_not_member", "edges": 4 }
  ]
}

POST /v1/graph/entities/{id}/merge

Merge a duplicate into a canonical entity. All relationships are rewritten; the merged id stays resolvable via a redirect for one year.