Skip to content

Latest commit

 

History

History
172 lines (123 loc) · 2.41 KB

api.md

File metadata and controls

172 lines (123 loc) · 2.41 KB

API Reference

Base URL

http://localhost:8000

Authentication

Currently, MemLens does not require authentication. Enterprise features will add API key support.

Endpoints

Health Check

GET /health

Response:

{
  "status": "healthy",
  "version": "0.1.0"
}

Write Traces

Create Write Trace

POST /traces/write

Request body:

{
  "trace_id": "uuid",
  "session_id": "session_123",
  "user_id": "user_456",
  "agent_id": "agent_1",
  "raw_input": "User input text",
  "candidates": [...],
  "stored_memories": [...],
  "dropped_memories": [...],
  "extraction_metadata": {},
  "latency_ms": 23.5
}

Get Write Trace

GET /traces/write/{trace_id}

Get Write Traces for User

GET /traces/write/user/{user_id}

Get Write Traces for Session

GET /traces/write/session/{session_id}

Read Traces

Create Read Trace

POST /traces/read

Request body:

{
  "trace_id": "uuid",
  "session_id": "session_123",
  "user_id": "user_456",
  "agent_id": "agent_1",
  "query": "What does the user prefer?",
  "returned_memories": [...],
  "considered_memories": [...],
  "rejected_memories": [...],
  "retrieval_strategy": "semantic",
  "latency_ms": 12.3
}

Get Read Trace

GET /traces/read/{trace_id}

Get Read Traces for User

GET /traces/read/user/{user_id}

Get Read Traces for Session

GET /traces/read/session/{session_id}

Belief State

Get Belief State

GET /belief-state/{user_id}

Query parameters:

  • agent_id (optional): Filter by agent ID

Get Health Metrics

GET /belief-state/{user_id}/health

Causal Chains

Get Causal Chain

GET /causal-chain/{response_id}

Query parameters:

  • user_id (required): User ID
  • session_id (required): Session ID

SDK

Python SDK

from memlens.sdk import MemLensClient

client = MemLensClient("http://localhost:8000")

# Health check
health = await client.health()

# Create write trace
trace = await client.create_write_trace({...})

# Get belief state
belief = await client.get_belief_state("user_123")

# Get health metrics
metrics = await client.get_health_metrics("user_123")

Decorator

from memlens.sdk import memlens_trace

@memlens_trace(user_id="user_123", agent_id="agent_1")
async def my_function():
    pass