API Documentation

Conversation persistence APIs for session discovery, transcript retrieval, and chat lifecycle operations keyed by subject_id and chat_id.

Chat History

GET /api/v1/chat/history/list

List all chats for a subject. Returns chat summaries with message counts — useful for building chat sidebars.

Scope: history:read

Parameters:

  • subject_id (required): string - The subject to list chats for.
  • limit: number - Max chats to return. Default: 50, Max: 500

Request

curl -G "https://www.mnexium.com/api/v1/chat/history/list" \
  -H "x-mnexium-key: $MNX_KEY" \
  --data-urlencode "subject_id=user_123" \
  --data-urlencode "limit=50"

Response

{
  "chats": [
    {
      "subject_id": "user_123",
      "chat_id": "550e8400-e29b-41d4-a716-446655440000",
      "last_time": "2024-12-17T19:00:01Z",
      "message_count": 12
    },
    {
      "subject_id": "user_123",
      "chat_id": "660e8400-e29b-41d4-a716-446655440001",
      "last_time": "2024-12-16T14:30:00Z",
      "message_count": 8
    }
  ]
}

GET /api/v1/chat/history/read

Retrieve message history for a specific conversation. Use after listing chats to load full messages.

Scope: history:read

Parameters:

  • chat_id (required): string - The conversation ID to fetch history for.
  • subject_id: string - Filter by subject (optional).
  • limit: number - Max messages to return. Default: 200

Request

curl -G "https://www.mnexium.com/api/v1/chat/history/read" \
  -H "x-mnexium-key: $MNX_KEY" \
  --data-urlencode "chat_id=550e8400-e29b-41d4-a716-446655440000" \
  --data-urlencode "subject_id=user_123" \
  --data-urlencode "limit=50"

Response

{
  "messages": [
    {
      "role": "user",
      "message": "I just switched to VS Code for my Rust projects.",
      "message_index": 0,
      "event_time": "2024-12-17T19:00:00Z",
      "tool_call_id": "",
      "tool_calls": "",
      "memory_ids": []
    },
    {
      "role": "assistant",
      "message": "Great choice! Since you work with Rust, I'd recommend installing rust-analyzer and...",