> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shinzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Session Analytics

> Query session analytics including token usage and request history.

# Session Analytics

Retrieve analytics about your AI model usage grouped by sessions. Sessions are identified by the `metadata.user_id` field in your API requests.

## List Sessions

Get a paginated list of sessions with aggregated metrics.

### Authentication

Requires JWT token authentication.

<ParamField query="start_date" type="string">Start date (ISO 8601)</ParamField>
<ParamField query="end_date" type="string">End date (ISO 8601)</ParamField>
<ParamField query="session_id" type="string">Filter by specific session ID</ParamField>
<ParamField query="model" type="string">Filter by model name</ParamField>
<ParamField query="provider" type="string">Filter by provider</ParamField>
<ParamField query="limit" type="integer" default="25">Results per page</ParamField>
<ParamField query="offset" type="integer" default="0">Pagination offset</ParamField>
<ParamField query="sort" type="string" default="start_time">Sort field (`start_time`, `end_time`, `total_requests`, `total_input_tokens`, `total_output_tokens`, `session_id`)</ParamField>
<ParamField query="sortDirection" type="string" default="desc">Sort direction (`asc`, `desc`)</ParamField>

### Example Request

```bash theme={null}
curl -X GET "https://api.app.shinzo.ai/spotlight/analytics/sessions?limit=10&sort=total_input_tokens&sortDirection=desc" \
  -H "Authorization: Bearer <jwt_token>"
```

### Response

```json theme={null}
{
  "sessions": [
    {
      "session_id": "my-app-session-123",
      "session_uuid": "sess_abc123",
      "start_time": "2025-01-15T10:00:00Z",
      "end_time": "2025-01-15T11:30:00Z",
      "total_requests": 15,
      "total_input_tokens": 12450,
      "total_output_tokens": 8320,
      "total_cache_read_tokens": 2100,
      "models_used": ["claude-sonnet-4-20250514"],
      "providers_used": ["anthropic"]
    }
  ],
  "pagination": {
    "total": 42,
    "limit": 10,
    "offset": 0
  }
}
```

***

## Get Session Details

Get detailed information about a specific session including all interactions.

### Authentication

Requires JWT token authentication.

<ParamField path="sessionUuid" type="string" required>The session UUID</ParamField>

### Example Request

```bash theme={null}
curl -X GET https://api.app.shinzo.ai/spotlight/analytics/sessions/sess_abc123 \
  -H "Authorization: Bearer <jwt_token>"
```

### Response

```json theme={null}
{
  "session": {
    "session_id": "my-app-session-123",
    "session_uuid": "sess_abc123",
    "start_time": "2025-01-15T10:00:00Z",
    "end_time": "2025-01-15T11:30:00Z",
    "total_requests": 15,
    "total_input_tokens": 12450,
    "total_output_tokens": 8320
  },
  "interactions": [
    {
      "interaction_uuid": "int_xyz789",
      "timestamp": "2025-01-15T10:00:00Z",
      "model": "claude-sonnet-4-20250514",
      "provider": "anthropic",
      "input_tokens": 120,
      "output_tokens": 85,
      "latency_ms": 1250,
      "status": "success"
    }
  ]
}
```

***

## Token Usage Analytics

Get aggregated token usage metrics.

### Authentication

Requires JWT token authentication.

<ParamField query="start_date" type="string">Start date (ISO 8601)</ParamField>
<ParamField query="end_date" type="string">End date (ISO 8601)</ParamField>
<ParamField query="session_id" type="string">Filter by session</ParamField>
<ParamField query="model" type="string">Filter by model</ParamField>

### Example Request

```bash theme={null}
curl -X GET "https://api.app.shinzo.ai/spotlight/analytics/tokens?start_date=2025-01-01" \
  -H "Authorization: Bearer <jwt_token>"
```

### Response

```json theme={null}
{
  "total_input_tokens": 125000,
  "total_output_tokens": 87500,
  "total_cache_read_tokens": 15000,
  "total_cache_creation_tokens": 8000,
  "total_requests": 450,
  "by_model": {
    "claude-sonnet-4-20250514": {
      "input_tokens": 100000,
      "output_tokens": 70000,
      "requests": 380
    },
    "claude-opus-4-20250514": {
      "input_tokens": 25000,
      "output_tokens": 17500,
      "requests": 70
    }
  }
}
```
