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"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}