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

# Get Analytics

> Get comprehensive analytics data for the organization

# Get Analytics

Returns comprehensive analytics data including task metrics, mood metrics, team performance, and flag statistics.

<Note>This endpoint is only accessible to users with `manager` or `admin` roles.</Note>

## Request

<ParamField header="Authorization" type="string" required>
  Bearer token from authentication
</ParamField>

<ParamField query="timeRange" type="string" default="30d">
  Time range for analytics data. Options: `7d`, `30d`, `90d`
</ParamField>

## Response

### Task Metrics

<ResponseField name="taskMetrics.totalCreated" type="number">
  Total tasks created in the time period
</ResponseField>

<ResponseField name="taskMetrics.totalCompleted" type="number">
  Total tasks completed in the time period
</ResponseField>

<ResponseField name="taskMetrics.completionRate" type="number">
  Percentage of tasks completed (0-100)
</ResponseField>

<ResponseField name="taskMetrics.avgCompletionTime" type="number">
  Average time to complete a task in hours
</ResponseField>

<ResponseField name="taskMetrics.overdueCount" type="number">
  Number of tasks that became overdue in the period
</ResponseField>

### Mood Metrics

<ResponseField name="moodMetrics.averageScore" type="number">
  Average mood score (1-5)
</ResponseField>

<ResponseField name="moodMetrics.totalResponses" type="number">
  Total mood check-ins recorded
</ResponseField>

<ResponseField name="moodMetrics.trend" type="string">
  Mood trend: `up`, `down`, or `stable`
</ResponseField>

<ResponseField name="moodMetrics.distribution" type="array">
  Array of `{ score: number, count: number }` showing distribution
</ResponseField>

### Team Metrics

<ResponseField name="teamMetrics.activeUsers" type="number">
  Users who had activity in the time period
</ResponseField>

<ResponseField name="teamMetrics.totalUsers" type="number">
  Total users in the organization
</ResponseField>

<ResponseField name="teamMetrics.topPerformers" type="array">
  Top 3 users by completed tasks: `{ id, name, completedTasks }`
</ResponseField>

### Flag Metrics

<ResponseField name="flagMetrics.total" type="number">
  Total flags raised in the period
</ResponseField>

<ResponseField name="flagMetrics.bySeverity" type="array">
  Breakdown by severity: `{ severity, count }`
</ResponseField>

<ResponseField name="flagMetrics.resolved" type="number">
  Number of resolved flags
</ResponseField>

<ResponseField name="flagMetrics.pending" type="number">
  Number of pending flags
</ResponseField>

<RequestExample>
  ```bash theme={null}
  curl -X GET "https://api.hitler.app/analytics?timeRange=30d" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "taskMetrics": {
      "totalCreated": 245,
      "totalCompleted": 198,
      "completionRate": 81,
      "avgCompletionTime": 24,
      "overdueCount": 12
    },
    "moodMetrics": {
      "averageScore": 3.7,
      "totalResponses": 156,
      "trend": "up",
      "distribution": [
        { "score": 5, "count": 32 },
        { "score": 4, "count": 58 },
        { "score": 3, "count": 45 },
        { "score": 2, "count": 15 },
        { "score": 1, "count": 6 }
      ]
    },
    "teamMetrics": {
      "activeUsers": 18,
      "totalUsers": 24,
      "topPerformers": [
        { "id": "usr_123", "name": "Alice Smith", "completedTasks": 34 },
        { "id": "usr_456", "name": "Bob Johnson", "completedTasks": 28 },
        { "id": "usr_789", "name": "Carol Davis", "completedTasks": 25 }
      ]
    },
    "flagMetrics": {
      "total": 15,
      "bySeverity": [
        { "severity": "critical", "count": 2 },
        { "severity": "high", "count": 4 },
        { "severity": "medium", "count": 6 },
        { "severity": "low", "count": 3 }
      ],
      "resolved": 11,
      "pending": 4
    }
  }
  ```
</ResponseExample>
