Bulk Registration Service
API Contract
REST
/api/v1/bulk-registrations
5 endpoints
GET
/api/v1/bulk-registrations/api/v1/bulk-registrations
List bulk registration jobs
Public
Response Example
{
"data": [
{
"id": "bulk-001",
"coordinator_id": "coord-42",
"activity_type": "group_workshop",
"activity_date": "2026-03-22",
"mentor_count": 8,
"status": "completed",
"success_count": 7,
"failure_count": 1,
"created_at": "2026-03-22T10:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3
}
}
GET
/api/v1/bulk-registrations/api/v1/bulk-registrations/:id
Get bulk registration job details including per-mentor results
Public
Response Example
{
"id": "bulk-001",
"coordinator_id": "coord-42",
"activity_type": "group_workshop",
"activity_date": "2026-03-22",
"duration_minutes": 120,
"mentor_ids": [
"mentor-17",
"mentor-18",
"mentor-19"
],
"status": "completed",
"success_count": 3,
"failure_count": 0,
"results": [
{
"mentor_id": "mentor-17",
"activity_id": "pa-010",
"status": "success"
},
{
"mentor_id": "mentor-18",
"activity_id": "pa-011",
"status": "success"
},
{
"mentor_id": "mentor-19",
"activity_id": "pa-012",
"status": "success"
}
],
"created_at": "2026-03-22T10:00:00Z",
"completed_at": "2026-03-22T10:01:30Z"
}
POST
/api/v1/bulk-registrations/api/v1/bulk-registrations
Create bulk activity registration for multiple mentors (buildBatchPayload + executeBatchInsert internally)
Public
Request Example
{
"coordinator_id": "coord-42",
"mentor_ids": [
"mentor-17",
"mentor-18",
"mentor-19",
"mentor-20"
],
"activity_type": "group_workshop",
"activity_date": "2026-03-28",
"duration_minutes": 120,
"notes": "Spring semester kick-off workshop",
"override_duplicates": false
}
Response Example
{
"id": "bulk-002",
"coordinator_id": "coord-42",
"mentor_ids": [
"mentor-17",
"mentor-18",
"mentor-19",
"mentor-20"
],
"activity_type": "group_workshop",
"activity_date": "2026-03-28",
"mentor_count": 4,
"status": "processing",
"created_at": "2026-03-28T08:00:00Z"
}
PUT
/api/v1/bulk-registrations/api/v1/bulk-registrations/:id
Retry failed records in a bulk registration job
Public
Request Example
{
"action": "retry_failed",
"override_duplicates": true
}
Response Example
{
"id": "bulk-002",
"status": "processing",
"retry_count": 1,
"updated_at": "2026-03-28T08:05:00Z"
}
DELETE
/api/v1/bulk-registrations/api/v1/bulk-registrations/:id
Cancel or delete a bulk registration job
Public
Response Example
{
"message": "Bulk registration job bulk-002 cancelled successfully"
}