Certification Status Repository
API Contract
REST
/api/v1/certification-statuses
10 endpoints
GET
/api/v1/certification-statuses/api/v1/certification-statuses
List all mentor certification statuses
Public
Response Example
{
"data": [
{
"mentor_id": "mentor-001",
"certification_type": "peer_mentor_standard",
"issue_date": "2024-03-15T00:00:00Z",
"expiry_date": "2026-03-15T00:00:00Z",
"is_expired": false,
"days_until_expiry": 89
},
{
"mentor_id": "mentor-042",
"certification_type": "peer_mentor_advanced",
"issue_date": "2023-09-01T00:00:00Z",
"expiry_date": "2026-03-31T00:00:00Z",
"is_expired": false,
"days_until_expiry": 5
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 87
}
}
GET
/api/v1/certification-statuses/api/v1/certification-statuses/:mentorId
Get certification status for a specific mentor
Public
Response Example
{
"mentor_id": "mentor-042",
"certification_type": "peer_mentor_advanced",
"issue_date": "2023-09-01T00:00:00Z",
"expiry_date": "2026-03-31T00:00:00Z",
"is_expired": false,
"days_until_expiry": 5,
"last_renewal_date": "2023-09-01T00:00:00Z"
}
POST
/api/v1/certification-statuses/api/v1/certification-statuses
Create a new certification status record
Public
Request Example
{
"mentor_id": "mentor-099",
"certification_type": "peer_mentor_standard",
"issue_date": "2026-03-26T00:00:00Z",
"expiry_date": "2028-03-26T00:00:00Z"
}
Response Example
{
"mentor_id": "mentor-099",
"certification_type": "peer_mentor_standard",
"issue_date": "2026-03-26T00:00:00Z",
"expiry_date": "2028-03-26T00:00:00Z",
"is_expired": false,
"days_until_expiry": 730
}
PUT
/api/v1/certification-statuses/api/v1/certification-statuses/:mentorId
Update certification expiry date
Public
Request Example
{
"expiry_date": "2028-06-01T00:00:00Z",
"updated_reason": "renewal_extension"
}
Response Example
{
"mentor_id": "mentor-042",
"certification_type": "peer_mentor_advanced",
"expiry_date": "2028-06-01T00:00:00Z",
"is_expired": false,
"days_until_expiry": 797
}
DELETE
/api/v1/certification-statuses/api/v1/certification-statuses/:mentorId
Remove a certification status record
Public
Response Example
{
"deleted": true,
"mentor_id": "mentor-099"
}
GET
/api/v1/certification-statuses/api/v1/certification-renewals
List all certification renewal records
Public
Response Example
{
"data": [
{
"renewal_id": "renewal-0041",
"mentor_id": "mentor-001",
"renewal_date": "2024-03-15T00:00:00Z",
"new_expiry_date": "2026-03-15T00:00:00Z",
"processed_by": "coordinator-007"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 112
}
}
GET
/api/v1/certification-statuses/api/v1/certification-renewals/:id
Get a specific renewal record
Public
Response Example
{
"renewal_id": "renewal-0041",
"mentor_id": "mentor-001",
"renewal_date": "2024-03-15T00:00:00Z",
"new_expiry_date": "2026-03-15T00:00:00Z",
"processed_by": "coordinator-007",
"created_at": "2024-03-15T11:00:00Z"
}
POST
/api/v1/certification-statuses/api/v1/certification-renewals
Record a new certification renewal
Public
Request Example
{
"mentor_id": "mentor-042",
"renewal_date": "2026-03-26T00:00:00Z",
"new_expiry_date": "2028-03-26T00:00:00Z",
"processed_by": "coordinator-007"
}
Response Example
{
"renewal_id": "renewal-0042",
"mentor_id": "mentor-042",
"renewal_date": "2026-03-26T00:00:00Z",
"new_expiry_date": "2028-03-26T00:00:00Z",
"processed_by": "coordinator-007",
"created_at": "2026-03-26T09:00:00Z"
}
PUT
/api/v1/certification-statuses/api/v1/certification-renewals/:id
Update a renewal record
Public
Request Example
{
"new_expiry_date": "2028-06-01T00:00:00Z",
"notes": "Extended per programme policy update"
}
Response Example
{
"renewal_id": "renewal-0042",
"mentor_id": "mentor-042",
"renewal_date": "2026-03-26T00:00:00Z",
"new_expiry_date": "2028-06-01T00:00:00Z",
"updated_at": "2026-03-26T10:00:00Z"
}
DELETE
/api/v1/certification-statuses/api/v1/certification-renewals/:id
Delete a renewal record
Public
Response Example
{
"deleted": true,
"renewal_id": "renewal-0042"
}