REST /api/v1/personal-stats 4 endpoints
GET /api/v1/personal-stats/api/v1/personal-stats/:mentor_id

Get personal stats summary for a peer mentor

Public

Response Example

{
  "mentor_id": "mentor_b2c91a",
  "mentor_name": "James Park",
  "period": "last_30_days",
  "start_date": "2026-02-24",
  "end_date": "2026-03-25",
  "total_activities": 12,
  "completed_activities": 11,
  "cancelled_activities": 1,
  "completion_rate": 0.917,
  "avg_session_duration_minutes": 52,
  "total_hours_logged": 10.4,
  "most_common_activity_type": "one_on_one_session",
  "most_active_weekday": "Wednesday",
  "peer_rank_percentile": 78,
  "streak_days": 14
}
GET /api/v1/personal-stats/api/v1/personal-stats/:mentor_id/monthly-series

Get monthly activity series for a mentor's personal trend chart

Public

Response Example

{
  "data": [
    {
      "year": 2026,
      "month": 1,
      "month_label": "Jan 2026",
      "total_activities": 8,
      "completed_activities": 8,
      "total_hours": 6.5
    },
    {
      "year": 2026,
      "month": 2,
      "month_label": "Feb 2026",
      "total_activities": 10,
      "completed_activities": 9,
      "total_hours": 7.8
    },
    {
      "year": 2026,
      "month": 3,
      "month_label": "Mar 2026",
      "total_activities": 12,
      "completed_activities": 11,
      "total_hours": 10.4
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 3
  }
}
GET /api/v1/personal-stats/api/v1/personal-stats/:mentor_id/activity-breakdown

Get activity type breakdown for a mentor's own activities

Public

Response Example

{
  "data": [
    {
      "activity_type_id": "act_type_001",
      "activity_type_name": "One-on-One Session",
      "count": 7,
      "percentage": 58.3,
      "avg_duration_minutes": 55,
      "total_hours": 6.4
    },
    {
      "activity_type_id": "act_type_003",
      "activity_type_name": "Check-in",
      "count": 5,
      "percentage": 41.7,
      "avg_duration_minutes": 20,
      "total_hours": 1.7
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2
  }
}
GET /api/v1/personal-stats/api/v1/personal-stats/:mentor_id/contribution-history

Get multi-year contribution history heatmap data for a mentor

Public

Response Example

{
  "data": [
    {
      "year": 2025,
      "total_activities": 89,
      "total_hours": 74.2,
      "monthly_breakdown": [
        {
          "month": 1,
          "count": 4
        },
        {
          "month": 2,
          "count": 6
        },
        {
          "month": 3,
          "count": 9
        },
        {
          "month": 4,
          "count": 7
        },
        {
          "month": 5,
          "count": 8
        },
        {
          "month": 6,
          "count": 5
        },
        {
          "month": 7,
          "count": 3
        },
        {
          "month": 8,
          "count": 6
        },
        {
          "month": 9,
          "count": 8
        },
        {
          "month": 10,
          "count": 9
        },
        {
          "month": 11,
          "count": 10
        },
        {
          "month": 12,
          "count": 14
        }
      ],
      "peak_month": 12,
      "zero_activity_months": 0
    },
    {
      "year": 2026,
      "total_activities": 30,
      "total_hours": 24.7,
      "monthly_breakdown": [
        {
          "month": 1,
          "count": 8
        },
        {
          "month": 2,
          "count": 10
        },
        {
          "month": 3,
          "count": 12
        }
      ],
      "peak_month": 3,
      "zero_activity_months": 0
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2
  }
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}