Activity Registration Service
API Contract
REST
/api/v1/activity-registrations
5 endpoints
GET
/api/v1/activity-registrations/api/v1/activity-registrations
List submitted registrations
Public
Response Example
{
"data": [
{
"id": "reg_cc4f91a2",
"peer_mentor_id": "mentor_4b8c21",
"activity_type_id": "type_running",
"date": "2026-03-25",
"duration_minutes": 45,
"status": "confirmed",
"validation_passed": true,
"error_code": null,
"created_at": "2026-03-25T08:15:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 12
}
}
GET
/api/v1/activity-registrations/api/v1/activity-registrations/:id
Get a single registration by ID
Public
Response Example
{
"id": "reg_cc4f91a2",
"peer_mentor_id": "mentor_4b8c21",
"activity_type_id": "type_running",
"date": "2026-03-25",
"duration_minutes": 45,
"status": "confirmed",
"validation_passed": true,
"error_code": null,
"created_at": "2026-03-25T08:15:00Z",
"updated_at": "2026-03-25T08:16:00Z"
}
POST
/api/v1/activity-registrations/api/v1/activity-registrations
Validate payload, build ActivityRecord, and submit — mirrors validatePayload + buildRecord + submitActivity in one atomic call
Public
Request Example
{
"peer_mentor_id": "mentor_4b8c21",
"activity_type_id": "type_running",
"date": "2026-03-25",
"duration_minutes": 45,
"notes": "Morning run along the river"
}
Response Example
{
"id": "reg_cc4f91a2",
"peer_mentor_id": "mentor_4b8c21",
"activity_type_id": "type_running",
"date": "2026-03-25",
"duration_minutes": 45,
"status": "confirmed",
"validation_passed": true,
"error_code": null,
"notes": "Morning run along the river",
"created_at": "2026-03-25T08:15:00Z",
"updated_at": "2026-03-25T08:15:00Z"
}
PUT
/api/v1/activity-registrations/api/v1/activity-registrations/:id
Update a registration (e.g. correct duration or activity type before confirmation)
Public
Request Example
{
"activity_type_id": "type_yoga",
"duration_minutes": 30,
"notes": "Corrected to yoga session"
}
Response Example
{
"id": "reg_cc4f91a2",
"peer_mentor_id": "mentor_4b8c21",
"activity_type_id": "type_yoga",
"date": "2026-03-25",
"duration_minutes": 30,
"status": "confirmed",
"validation_passed": true,
"error_code": null,
"notes": "Corrected to yoga session",
"created_at": "2026-03-25T08:15:00Z",
"updated_at": "2026-03-25T09:10:00Z"
}
DELETE
/api/v1/activity-registrations/api/v1/activity-registrations/:id
Delete a registration record
Public
Response Example
{
"deleted": true,
"id": "reg_cc4f91a2"
}