Activity API

User activity feed synthesized from multiple sources: AI agent conversations, workflow executions, tool calls, and system notifications. Activities prioritize showing agent work (what the system is doing for you) over simple message sends. All endpoints require JWT authentication.

Base path: /api/v2/activity

GET/api/v2/activityAuthenticated

Get the user's activity feed. Merges AI conversations, workflow executions, and logged activities into a unified timeline sorted by recency.

Query Parameters

limitinteger

Maximum activities to return (max 100). Defaults to 20.

offsetinteger

Number of activities to skip.

typesstring

Comma-separated activity types to include: chat, workflow, system.

Request

cURL
400">curl -X 400">GET 400">class="text-emerald-400">"https:400">class="text-zinc-500">//api.lvng.ai/api/v2/activity?limit=10&types=workflow,chat" \
  -H 400">class="text-emerald-400">"Authorization: Bearer YOUR_API_KEY" \
  -H 400">class="text-emerald-400">"x-workspace-id: ws_abc123"

Response 200

{
  400">class="text-emerald-400">"activities": [
    {
      400">class="text-emerald-400">"id": 400">class="text-emerald-400">"conv-msg_abc123",
      400">class="text-emerald-400">"400">type": 400">class="text-emerald-400">"agent_action",
      400">class="text-emerald-400">"icon": 400">class="text-emerald-400">"Wrench",
      400">class="text-emerald-400">"title": 400">class="text-emerald-400">"LVNG used 2 tools",
      400">class="text-emerald-400">"subtitle": 400">class="text-emerald-400">"Searched the web and summarized results...",
      400">class="text-emerald-400">"timestamp": 400">class="text-emerald-400">"2026-04-01T12:00:00.000Z",
      400">class="text-emerald-400">"time": 400">class="text-emerald-400">"5m ago",
      400">class="text-emerald-400">"status": 400">class="text-emerald-400">"success",
      400">class="text-emerald-400">"color": 400">class="text-emerald-400">"orange",
      400">class="text-emerald-400">"expandable": true,
      400">class="text-emerald-400">"metadata": {
        400">class="text-emerald-400">"channelId": 400">class="text-emerald-400">"ch_abc123",
        400">class="text-emerald-400">"messageId": 400">class="text-emerald-400">"msg_abc123",
        400">class="text-emerald-400">"personality": 400">class="text-emerald-400">"lvng",
        400">class="text-emerald-400">"model": 400">class="text-emerald-400">"claude-sonnet",
        400">class="text-emerald-400">"toolsUsed": [400">class="text-emerald-400">"web_search", 400">class="text-emerald-400">"summarize"],
        400">class="text-emerald-400">"userQuestion": 400">class="text-emerald-400">"What are the latest AI trends?"
      }
    },
    {
      400">class="text-emerald-400">"id": 400">class="text-emerald-400">"workflow-exec_xyz789",
      400">class="text-emerald-400">"400">type": 400">class="text-emerald-400">"workflow",
      400">class="text-emerald-400">"icon": 400">class="text-emerald-400">"Workflow",
      400">class="text-emerald-400">"title": 400">class="text-emerald-400">"Data Pipeline",
      400">class="text-emerald-400">"subtitle": 400">class="text-emerald-400">"Completed in 2m 15s",
      400">class="text-emerald-400">"timestamp": 400">class="text-emerald-400">"2026-04-01T11:30:00.000Z",
      400">class="text-emerald-400">"time": 400">class="text-emerald-400">"35m ago",
      400">class="text-emerald-400">"status": 400">class="text-emerald-400">"success",
      400">class="text-emerald-400">"color": 400">class="text-emerald-400">"purple",
      400">class="text-emerald-400">"expandable": true,
      400">class="text-emerald-400">"metadata": {
        400">class="text-emerald-400">"workflowId": 400">class="text-emerald-400">"wf_001",
        400">class="text-emerald-400">"executionId": 400">class="text-emerald-400">"exec_xyz789",
        400">class="text-emerald-400">"duration": 135,
        400">class="text-emerald-400">"status": 400">class="text-emerald-400">"completed"
      }
    }
  ],
  400">class="text-emerald-400">"count": 2,
  400">class="text-emerald-400">"offset": 0,
  400">class="text-emerald-400">"limit": 10,
  400">class="text-emerald-400">"hasMore": false
}
GET/api/v2/activity/statsAuthenticated

Get activity statistics including message counts, workflow totals, and top AI personalities used.

Request

cURL
400">curl -X 400">GET https:400">class="text-zinc-500">//api.lvng.ai/api/v2/activity/stats \
  -H 400">class="text-emerald-400">"Authorization: Bearer YOUR_API_KEY" \
  -H 400">class="text-emerald-400">"x-workspace-id: ws_abc123"

Response 200

{
  400">class="text-emerald-400">"totalMessages": 1250,
  400">class="text-emerald-400">"totalWorkflows": 48,
  400">class="text-emerald-400">"todayActivity": 15,
  400">class="text-emerald-400">"weekActivity": 89,
  400">class="text-emerald-400">"agentResponses": 320,
  400">class="text-emerald-400">"topPersonalities": [
    { 400">class="text-emerald-400">"name": 400">class="text-emerald-400">"lvng", 400">class="text-emerald-400">"count": 45 },
    { 400">class="text-emerald-400">"name": 400">class="text-emerald-400">"steve-jobs", 400">class="text-emerald-400">"count": 22 },
    { 400">class="text-emerald-400">"name": 400">class="text-emerald-400">"paul-graham", 400">class="text-emerald-400">"count": 18 }
  ]
}
GET/api/v2/activity/:idAuthenticated

Get detailed information about a specific activity, including conversation context or workflow execution steps.

Path Parameters

idstringrequired

Activity ID (e.g. "conv-msg_abc123", "workflow-exec_xyz789").

Request

cURL
400">curl -X 400">GET https:400">class="text-zinc-500">//api.lvng.ai/api/v2/activity/conv-msg_abc123 \
  -H 400">class="text-emerald-400">"Authorization: Bearer YOUR_API_KEY"

Response 200

{
  400">class="text-emerald-400">"id": 400">class="text-emerald-400">"conv-msg_abc123",
  400">class="text-emerald-400">"400">type": 400">class="text-emerald-400">"conversation",
  400">class="text-emerald-400">"message": {
    400">class="text-emerald-400">"content": 400">class="text-emerald-400">"Based on my research, the top AI trends for 2026 are...",
    400">class="text-emerald-400">"personality": 400">class="text-emerald-400">"lvng",
    400">class="text-emerald-400">"model": 400">class="text-emerald-400">"claude-sonnet",
    400">class="text-emerald-400">"toolsUsed": [400">class="text-emerald-400">"web_search"],
    400">class="text-emerald-400">"createdAt": 400">class="text-emerald-400">"2026-04-01T12:00:00.000Z"
  },
  400">class="text-emerald-400">"context": [
    {
      400">class="text-emerald-400">"id": 400">class="text-emerald-400">"msg_user001",
      400">class="text-emerald-400">"content": 400">class="text-emerald-400">"What are the latest AI trends?",
      400">class="text-emerald-400">"isAI": false,
      400">class="text-emerald-400">"createdAt": 400">class="text-emerald-400">"2026-04-01T11:59:30.000Z"
    },
    {
      400">class="text-emerald-400">"id": 400">class="text-emerald-400">"msg_abc123",
      400">class="text-emerald-400">"content": 400">class="text-emerald-400">"Based on my research, the top AI trends for 2026 are...",
      400">class="text-emerald-400">"isAI": true,
      400">class="text-emerald-400">"personality": 400">class="text-emerald-400">"lvng",
      400">class="text-emerald-400">"createdAt": 400">class="text-emerald-400">"2026-04-01T12:00:00.000Z"
    }
  ]
}
POST/api/v2/activity/logAuthenticated

Log a custom activity to the user's activity feed.

Body Parameters

typestringrequired

Activity type (e.g. "system", "notification", "knowledge").

titlestringrequired

Activity title.

descriptionstring

Activity description.

metadataobject

Arbitrary metadata attached to the activity.

Request

cURL
400">curl -X 400">POST https:400">class="text-zinc-500">//api.lvng.ai/api/v2/activity/log \
  -H 400">class="text-emerald-400">"Authorization: Bearer YOUR_API_KEY" \
  -H 400">class="text-emerald-400">"Content-Type: application/json" \
  -H 400">class="text-emerald-400">"x-workspace-id: ws_abc123" \
  -d '{
    400">class="text-emerald-400">"400">type": 400">class="text-emerald-400">"system",
    400">class="text-emerald-400">"title": 400">class="text-emerald-400">"Knowledge base updated",
    400">class="text-emerald-400">"description": 400">class="text-emerald-400">"Indexed 150 400">new documents 400">from Confluence",
    400">class="text-emerald-400">"metadata": { 400">class="text-emerald-400">"source": 400">class="text-emerald-400">"confluence", 400">class="text-emerald-400">"documentCount": 150 }
  }'

Response 200

{
  400">class="text-emerald-400">"success": true,
  400">class="text-emerald-400">"activity": {
    400">class="text-emerald-400">"id": 400">class="text-emerald-400">"act_abc123",
    400">class="text-emerald-400">"user_id": 400">class="text-emerald-400">"a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
    400">class="text-emerald-400">"400">type": 400">class="text-emerald-400">"system",
    400">class="text-emerald-400">"title": 400">class="text-emerald-400">"Knowledge base updated",
    400">class="text-emerald-400">"description": 400">class="text-emerald-400">"Indexed 150 400">new documents 400">from Confluence",
    400">class="text-emerald-400">"metadata": { 400">class="text-emerald-400">"source": 400">class="text-emerald-400">"confluence", 400">class="text-emerald-400">"documentCount": 150 },
    400">class="text-emerald-400">"status": 400">class="text-emerald-400">"success",
    400">class="text-emerald-400">"created_at": 400">class="text-emerald-400">"2026-04-01T14:00:00.000Z"
  }
}