REST /api/v1/activity-summaries 7 endpoints
GET /api/v1/activity-summaries/api/v1/activity-summaries

List aggregated activity summaries across all mentors

Public

Response Example

{
  "data": [
    {
      "mentor_id": "mentor_001",
      "total_sessions": 25,
      "average_session_duration_minutes": 30,
      "total_minutes": 750,
      "last_session_date": "2026-03-18T15:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}
GET /api/v1/activity-summaries/api/v1/activity-summaries/:mentor_id

Get full aggregated activity summary for a specific mentor

Public

Response Example

{
  "mentor_id": "mentor_001",
  "total_sessions": 25,
  "average_session_duration_minutes": 30,
  "total_minutes": 750,
  "last_session_date": "2026-03-18T15:00:00Z"
}
POST /api/v1/activity-summaries/api/v1/activity-summaries

Create or seed an activity summary record for a mentor

Public

Request Example

{
  "mentor_id": "mentor_002",
  "total_sessions": 10,
  "average_session_duration_minutes": 45,
  "total_minutes": 450,
  "last_session_date": "2026-03-10T10:00:00Z"
}

Response Example

{
  "mentor_id": "mentor_002",
  "total_sessions": 10,
  "average_session_duration_minutes": 45,
  "total_minutes": 450,
  "last_session_date": "2026-03-10T10:00:00Z"
}
PUT /api/v1/activity-summaries/api/v1/activity-summaries/:mentor_id

Trigger re-aggregation / update the cached summary for a mentor

Public

Request Example

{
  "force_refresh": true
}

Response Example

{
  "mentor_id": "mentor_001",
  "total_sessions": 28,
  "average_session_duration_minutes": 31,
  "total_minutes": 868,
  "last_session_date": "2026-03-25T16:30:00Z"
}
DELETE /api/v1/activity-summaries/api/v1/activity-summaries/:mentor_id

Remove cached activity summary for a mentor (forces fresh aggregation on next request)

Public

Response Example

{
  "deleted": true,
  "mentor_id": "mentor_001"
}
GET /api/v1/activity-summaries/api/v1/activity-summaries/:mentor_id/total-sessions

Get total session count for a mentor

Public

Response Example

{
  "mentor_id": "mentor_001",
  "total_sessions": 25
}
GET /api/v1/activity-summaries/api/v1/activity-summaries/:mentor_id/average-duration

Get average session duration in minutes for a mentor

Public

Response Example

{
  "mentor_id": "mentor_001",
  "average_session_duration_minutes": 30
}

Additional Metadata

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