Proxy Activity Repository
API Contract
REST
/api/v1/activity-records
5 endpoints
GET
/api/v1/activity-records/api/v1/activity-records
List activity records filtered by mentor or recorder (coordinator)
Public
Response Example
{
"data": [
{
"id": "pa-001",
"mentor_id": "mentor-17",
"coordinator_id": "coord-42",
"activity_type": "tutoring_session",
"activity_date": "2026-03-20",
"duration_minutes": 60,
"status": "completed",
"is_proxy": true,
"created_at": "2026-03-20T14:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 12
}
}
GET
/api/v1/activity-records/api/v1/activity-records/:id
Get a single activity record by ID
Public
Response Example
{
"id": "pa-001",
"mentor_id": "mentor-17",
"coordinator_id": "coord-42",
"activity_type": "tutoring_session",
"activity_date": "2026-03-20",
"duration_minutes": 60,
"notes": "Covered algebra chapter 3",
"status": "completed",
"is_proxy": true,
"created_at": "2026-03-20T14:30:00Z",
"updated_at": "2026-03-20T14:30:00Z"
}
POST
/api/v1/activity-records/api/v1/activity-records
Insert a single proxy activity record (insertProxyActivity) or bulk (insertBulkActivities via bulk_mode flag)
Public
Request Example
{
"mentor_id": "mentor-17",
"coordinator_id": "coord-42",
"activity_type": "tutoring_session",
"activity_date": "2026-03-25",
"duration_minutes": 60,
"notes": "Mathematics support session",
"is_proxy": true
}
Response Example
{
"id": "pa-030",
"mentor_id": "mentor-17",
"coordinator_id": "coord-42",
"activity_type": "tutoring_session",
"activity_date": "2026-03-25",
"duration_minutes": 60,
"status": "pending",
"is_proxy": true,
"created_at": "2026-03-25T09:00:00Z"
}
PUT
/api/v1/activity-records/api/v1/activity-records/:id
Update an activity record
Public
Request Example
{
"duration_minutes": 75,
"status": "completed",
"notes": "Session extended by 15 minutes"
}
Response Example
{
"id": "pa-030",
"mentor_id": "mentor-17",
"coordinator_id": "coord-42",
"duration_minutes": 75,
"status": "completed",
"notes": "Session extended by 15 minutes",
"updated_at": "2026-03-25T10:15:00Z"
}
DELETE
/api/v1/activity-records/api/v1/activity-records/:id
Delete an activity record
Public
Response Example
{
"message": "Activity record pa-030 deleted successfully"
}