Proxy Registration Service
API Contract
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"
}