Mentor Status Service
API Contract
REST
/api/v1/mentors
8 endpoints
GET
/api/v1/mentors/api/v1/mentors
List mentors with optional status/chapter filter
Public
Response Example
{
"data": [
{
"mentor_id": "mntr_01HX4V2K8P",
"full_name": "Sarah Chen",
"chapter_id": "chpt_03AZ",
"status": "active",
"paused_at": null,
"pause_reason": null,
"is_eligible_for_assignment": true
},
{
"mentor_id": "mntr_02BY7M3RL",
"full_name": "James Okafor",
"chapter_id": "chpt_03AZ",
"status": "paused",
"paused_at": "2026-03-10T08:00:00Z",
"pause_reason": "Certification expired",
"is_eligible_for_assignment": false
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 47
}
}
GET
/api/v1/mentors/api/v1/mentors/:id
Get a mentor's full status details
Public
Response Example
{
"mentor_id": "mntr_01HX4V2K8P",
"full_name": "Sarah Chen",
"chapter_id": "chpt_03AZ",
"email": "sarah.chen@example.org",
"status": "active",
"is_eligible_for_assignment": true,
"paused_at": null,
"pause_reason": null,
"reactivated_at": "2026-03-10T09:00:00Z",
"certification_expiry": "2027-06-15",
"created_at": "2024-09-01T10:00:00Z",
"updated_at": "2026-03-10T09:00:00Z"
}
POST
/api/v1/mentors/api/v1/mentors
Register a new mentor
Public
Request Example
{
"full_name": "Amara Diallo",
"email": "amara.diallo@example.org",
"chapter_id": "chpt_03AZ",
"certification_expiry": "2027-09-30"
}
Response Example
{
"mentor_id": "mntr_05DF9N2QW",
"full_name": "Amara Diallo",
"email": "amara.diallo@example.org",
"chapter_id": "chpt_03AZ",
"status": "active",
"is_eligible_for_assignment": true,
"certification_expiry": "2027-09-30",
"created_at": "2026-03-26T11:00:00Z"
}
PUT
/api/v1/mentors/api/v1/mentors/:id
Update mentor profile fields
Public
Request Example
{
"full_name": "Sarah Chen-Williams",
"certification_expiry": "2028-06-15"
}
Response Example
{
"mentor_id": "mntr_01HX4V2K8P",
"full_name": "Sarah Chen-Williams",
"certification_expiry": "2028-06-15",
"updated_at": "2026-03-26T11:10:00Z"
}
DELETE
/api/v1/mentors/api/v1/mentors/:id
Soft-delete a mentor record
Public
Response Example
{
"mentor_id": "mntr_01HX4V2K8P",
"deleted": true,
"deleted_at": "2026-03-26T11:15:00Z"
}
POST
/api/v1/mentors/api/v1/mentors/:id/pause
Pause an active mentor (manual)
Public
Request Example
{
"reason": "Personal leave — returning approximately 4 weeks",
"initiated_by": "user_coord_99XZ"
}
Response Example
{
"mentor_id": "mntr_01HX4V2K8P",
"status": "paused",
"paused_at": "2026-03-26T09:15:00Z",
"pause_reason": "Personal leave — returning approximately 4 weeks",
"is_eligible_for_assignment": false
}
POST
/api/v1/mentors/api/v1/mentors/:id/reactivate
Reactivate a paused mentor
Public
Request Example
{
"initiated_by": "user_coord_99XZ"
}
Response Example
{
"mentor_id": "mntr_01HX4V2K8P",
"status": "active",
"reactivated_at": "2026-03-26T09:20:00Z",
"is_eligible_for_assignment": true
}
GET
/api/v1/mentors/api/v1/mentors/:id/eligibility
Check assignment eligibility for a mentor
Public
Response Example
{
"mentor_id": "mntr_01HX4V2K8P",
"is_eligible_for_assignment": true,
"status": "active",
"reasons_ineligible": []
}