Peer Mentor Status Repository
API Contract
REST
/api/v1/mentor-statuses
10 endpoints
GET
/api/v1/mentor-statuses/api/v1/mentor-statuses
List all mentor statuses
Public
Response Example
{
"data": [
{
"mentor_id": "mentor-001",
"status": "active",
"is_paused": false,
"pause_start_date": null,
"expected_return_date": null,
"last_updated": "2026-03-20T10:00:00Z"
},
{
"mentor_id": "mentor-042",
"status": "paused",
"is_paused": true,
"pause_start_date": "2026-03-01T00:00:00Z",
"expected_return_date": "2026-04-01T00:00:00Z",
"last_updated": "2026-03-01T09:15:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 87
}
}
GET
/api/v1/mentor-statuses/api/v1/mentor-statuses/:mentorId
Get current status for a specific mentor
Public
Response Example
{
"mentor_id": "mentor-042",
"status": "paused",
"is_paused": true,
"pause_start_date": "2026-03-01T00:00:00Z",
"expected_return_date": "2026-04-01T00:00:00Z",
"pause_reason": "certification_expiry",
"last_updated": "2026-03-01T09:15:00Z"
}
POST
/api/v1/mentor-statuses/api/v1/mentor-statuses
Create a new mentor status record
Public
Request Example
{
"mentor_id": "mentor-099",
"status": "active",
"is_paused": false
}
Response Example
{
"mentor_id": "mentor-099",
"status": "active",
"is_paused": false,
"pause_start_date": null,
"expected_return_date": null,
"last_updated": "2026-03-26T08:00:00Z"
}
PUT
/api/v1/mentor-statuses/api/v1/mentor-statuses/:mentorId
Update mentor status and metadata
Public
Request Example
{
"status": "paused",
"is_paused": true,
"pause_start_date": "2026-03-26T00:00:00Z",
"expected_return_date": "2026-05-01T00:00:00Z",
"pause_reason": "personal_leave",
"metadata": {
"initiated_by": "coordinator-007",
"notes": "Mentor requested leave"
}
}
Response Example
{
"mentor_id": "mentor-042",
"status": "paused",
"is_paused": true,
"pause_start_date": "2026-03-26T00:00:00Z",
"expected_return_date": "2026-05-01T00:00:00Z",
"last_updated": "2026-03-26T08:30:00Z"
}
DELETE
/api/v1/mentor-statuses/api/v1/mentor-statuses/:mentorId
Delete a mentor status record
Public
Response Example
{
"deleted": true,
"mentor_id": "mentor-099"
}
GET
/api/v1/mentor-statuses/api/v1/pause-records
List all pause records
Public
Response Example
{
"data": [
{
"pause_record_id": "pause-rec-0018",
"mentor_id": "mentor-042",
"start_date": "2026-03-01T00:00:00Z",
"expected_return_date": "2026-04-01T00:00:00Z",
"end_date": null,
"is_active": true,
"reason": "certification_expiry"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 34
}
}
GET
/api/v1/mentor-statuses/api/v1/pause-records/:id
Get a specific pause record
Public
Response Example
{
"pause_record_id": "pause-rec-0018",
"mentor_id": "mentor-042",
"start_date": "2026-03-01T00:00:00Z",
"expected_return_date": "2026-04-01T00:00:00Z",
"end_date": null,
"is_active": true,
"reason": "certification_expiry",
"created_at": "2026-03-01T09:15:00Z"
}
POST
/api/v1/mentor-statuses/api/v1/pause-records
Create a new pause record for a mentor
Public
Request Example
{
"mentor_id": "mentor-042",
"start_date": "2026-03-26T00:00:00Z",
"expected_return_date": "2026-05-01T00:00:00Z",
"reason": "personal_leave"
}
Response Example
{
"pause_record_id": "pause-rec-0019",
"mentor_id": "mentor-042",
"start_date": "2026-03-26T00:00:00Z",
"expected_return_date": "2026-05-01T00:00:00Z",
"end_date": null,
"is_active": true,
"reason": "personal_leave",
"created_at": "2026-03-26T08:30:00Z"
}
PUT
/api/v1/mentor-statuses/api/v1/pause-records/:id
Close or update a pause record
Public
Request Example
{
"end_date": "2026-04-15T00:00:00Z",
"is_active": false
}
Response Example
{
"pause_record_id": "pause-rec-0018",
"mentor_id": "mentor-042",
"start_date": "2026-03-01T00:00:00Z",
"expected_return_date": "2026-04-01T00:00:00Z",
"end_date": "2026-04-15T00:00:00Z",
"is_active": false
}
DELETE
/api/v1/mentor-statuses/api/v1/pause-records/:id
Delete a pause record
Public
Response Example
{
"deleted": true,
"pause_record_id": "pause-rec-0018"
}