Notification Record Repository
API Contract
REST
/api/v1/expiry-notifications
5 endpoints
GET
/api/v1/expiry-notifications/api/v1/expiry-notifications
List expiry notification records. Filterable by mentor, coordinator, and status.
Public
Response Example
{
"data": [
{
"notification_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"mentor_id": "mentor_sarah_chen",
"coordinator_id": "coord_maya_patel",
"threshold": "30_day",
"expiry_date": "2026-04-15T00:00:00Z",
"status": "active",
"sent_at": "2026-03-16T08:00:00Z",
"acknowledged_at": null,
"created_at": "2026-03-16T08:00:00Z"
},
{
"notification_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"mentor_id": "mentor_james_okafor",
"coordinator_id": "coord_maya_patel",
"threshold": "7_day",
"expiry_date": "2026-04-01T00:00:00Z",
"status": "active",
"sent_at": "2026-03-25T08:00:00Z",
"acknowledged_at": null,
"created_at": "2026-03-25T08:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/expiry-notifications/api/v1/expiry-notifications/:notification_id
Get a specific notification record by ID.
Public
Response Example
{
"notification_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"mentor_id": "mentor_sarah_chen",
"coordinator_id": "coord_maya_patel",
"threshold": "30_day",
"expiry_date": "2026-04-15T00:00:00Z",
"status": "active",
"sent_at": "2026-03-16T08:00:00Z",
"acknowledged_at": null,
"created_at": "2026-03-16T08:00:00Z"
}
POST
/api/v1/expiry-notifications/api/v1/expiry-notifications
Create a new expiry notification record when a threshold is triggered.
Public
Request Example
{
"mentor_id": "mentor_sarah_chen",
"coordinator_id": "coord_maya_patel",
"threshold": "30_day",
"expiry_date": "2026-04-15T00:00:00Z"
}
Response Example
{
"notification_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"mentor_id": "mentor_sarah_chen",
"coordinator_id": "coord_maya_patel",
"threshold": "30_day",
"expiry_date": "2026-04-15T00:00:00Z",
"status": "active",
"sent_at": "2026-03-26T08:00:00Z",
"acknowledged_at": null,
"created_at": "2026-03-26T08:00:00Z"
}
PUT
/api/v1/expiry-notifications/api/v1/expiry-notifications/:notification_id
Acknowledge or update an expiry notification record.
Public
Request Example
{
"status": "acknowledged",
"acknowledged_at": "2026-03-26T14:30:00Z",
"acknowledged_by": "coord_maya_patel"
}
Response Example
{
"notification_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"mentor_id": "mentor_sarah_chen",
"coordinator_id": "coord_maya_patel",
"threshold": "30_day",
"expiry_date": "2026-04-15T00:00:00Z",
"status": "acknowledged",
"sent_at": "2026-03-16T08:00:00Z",
"acknowledged_at": "2026-03-26T14:30:00Z",
"created_at": "2026-03-16T08:00:00Z"
}
DELETE
/api/v1/expiry-notifications/api/v1/expiry-notifications/:notification_id
Delete a notification record.
Public
Response Example
{
"deleted": true,
"notification_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}