REST /api/v1/proxy-activities 6 endpoints
GET /api/v1/proxy-activities/api/v1/proxy-activities

List proxy activities with optional filters

Public

Response Example

{
  "data": [
    {
      "id": "pa-001",
      "coordinator_id": "coord-42",
      "mentor_id": "mentor-17",
      "activity_type": "tutoring_session",
      "activity_date": "2026-03-20",
      "duration_minutes": 60,
      "status": "completed",
      "created_at": "2026-03-20T14:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 5
  }
}
GET /api/v1/proxy-activities/api/v1/proxy-activities/:id

Get a single proxy activity by ID

Public

Response Example

{
  "id": "pa-001",
  "coordinator_id": "coord-42",
  "mentor_id": "mentor-17",
  "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/proxy-activities/api/v1/proxy-activities

Create a proxy activity on behalf of a mentor (validateProxyPermission + buildProxyPayload internally)

Public

Request Example

{
  "coordinator_id": "coord-42",
  "mentor_id": "mentor-17",
  "activity_type": "tutoring_session",
  "activity_date": "2026-03-25",
  "duration_minutes": 60,
  "notes": "Mathematics support session"
}

Response Example

{
  "id": "pa-002",
  "coordinator_id": "coord-42",
  "mentor_id": "mentor-17",
  "activity_type": "tutoring_session",
  "activity_date": "2026-03-25",
  "duration_minutes": 60,
  "notes": "Mathematics support session",
  "status": "pending",
  "is_proxy": true,
  "created_at": "2026-03-25T09:00:00Z",
  "updated_at": "2026-03-25T09:00:00Z"
}
PUT /api/v1/proxy-activities/api/v1/proxy-activities/:id

Update a proxy activity

Public

Request Example

{
  "duration_minutes": 90,
  "notes": "Extended session — covered chapters 3 and 4",
  "status": "completed"
}

Response Example

{
  "id": "pa-002",
  "coordinator_id": "coord-42",
  "mentor_id": "mentor-17",
  "activity_type": "tutoring_session",
  "activity_date": "2026-03-25",
  "duration_minutes": 90,
  "notes": "Extended session — covered chapters 3 and 4",
  "status": "completed",
  "updated_at": "2026-03-25T10:30:00Z"
}
DELETE /api/v1/proxy-activities/api/v1/proxy-activities/:id

Delete a proxy activity

Public

Response Example

{
  "message": "Proxy activity pa-002 deleted successfully"
}
POST /api/v1/proxy-activities/api/v1/proxy-activities/validate-permission

Validate coordinator has proxy permission for a given mentor

Public

Request Example

{
  "coordinator_id": "coord-42",
  "mentor_id": "mentor-17"
}

Response Example

{
  "allowed": true,
  "coordinator_id": "coord-42",
  "mentor_id": "mentor-17",
  "permission_type": "full_proxy",
  "granted_at": "2026-01-15T08:00:00Z"
}

Additional Metadata

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