Certification Record Repository
API Contract
REST
/api/v1/certifications
7 endpoints
GET
/api/v1/certifications/api/v1/certifications
List certification records
Public
Response Example
{
"data": [
{
"record_id": "cert_001abc",
"mentor_id": "mentor_a1b2c3",
"issued_date": "2024-03-10T00:00:00Z",
"expiry_date": "2026-03-10T00:00:00Z",
"issuer": "Frivillig Sentralen",
"course_code": "PM-BASIC-2024",
"is_current": false,
"created_at": "2024-03-10T09:00:00Z"
},
{
"record_id": "cert_002def",
"mentor_id": "mentor_a1b2c3",
"issued_date": "2026-01-20T00:00:00Z",
"expiry_date": "2028-01-20T00:00:00Z",
"issuer": "Frivillig Sentralen",
"course_code": "PM-ADVANCED-2026",
"is_current": true,
"created_at": "2026-01-20T11:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/certifications/api/v1/certifications/:id
Get certification record by ID
Public
Response Example
{
"record_id": "cert_002def",
"mentor_id": "mentor_a1b2c3",
"issued_date": "2026-01-20T00:00:00Z",
"expiry_date": "2028-01-20T00:00:00Z",
"issuer": "Frivillig Sentralen",
"course_code": "PM-ADVANCED-2026",
"notes": "Completed refresher module",
"is_current": true,
"created_at": "2026-01-20T11:30:00Z"
}
POST
/api/v1/certifications/api/v1/certifications
Save a new certification record
Public
Request Example
{
"mentor_id": "mentor_a1b2c3",
"issued_date": "2026-03-26T00:00:00Z",
"expiry_date": "2028-03-26T00:00:00Z",
"issuer": "Frivillig Sentralen",
"course_code": "PM-ADVANCED-2026",
"notes": "Renewed on schedule"
}
Response Example
{
"record_id": "cert_003ghi",
"mentor_id": "mentor_a1b2c3",
"issued_date": "2026-03-26T00:00:00Z",
"expiry_date": "2028-03-26T00:00:00Z",
"issuer": "Frivillig Sentralen",
"course_code": "PM-ADVANCED-2026",
"is_current": true,
"created_at": "2026-03-26T10:00:00Z"
}
PUT
/api/v1/certifications/api/v1/certifications/:id
Update a certification record
Public
Request Example
{
"expiry_date": "2028-06-01T00:00:00Z",
"notes": "Expiry extended after appeal"
}
Response Example
{
"record_id": "cert_002def",
"mentor_id": "mentor_a1b2c3",
"expiry_date": "2028-06-01T00:00:00Z",
"notes": "Expiry extended after appeal",
"is_current": true,
"updated_at": "2026-03-26T10:30:00Z"
}
DELETE
/api/v1/certifications/api/v1/certifications/:id
Delete a certification record
Public
Response Example
{
"deleted": true,
"record_id": "cert_001abc"
}
GET
/api/v1/certifications/api/v1/certifications/mentor/:mentor_id/latest
Get the most recent certification for a mentor
Public
Response Example
{
"record_id": "cert_002def",
"mentor_id": "mentor_a1b2c3",
"issued_date": "2026-01-20T00:00:00Z",
"expiry_date": "2028-01-20T00:00:00Z",
"course_code": "PM-ADVANCED-2026",
"is_current": true
}
GET
/api/v1/certifications/api/v1/certifications/mentor/:mentor_id/history
Get full certification history for a mentor
Public
Response Example
{
"data": [
{
"record_id": "cert_001abc",
"issued_date": "2024-03-10T00:00:00Z",
"expiry_date": "2026-03-10T00:00:00Z",
"course_code": "PM-BASIC-2024",
"is_current": false
},
{
"record_id": "cert_002def",
"issued_date": "2026-01-20T00:00:00Z",
"expiry_date": "2028-01-20T00:00:00Z",
"course_code": "PM-ADVANCED-2026",
"is_current": true
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}