Scenario Notification Repository
API Contract
REST
/api/v1/scenario-notifications
8 endpoints
GET
/api/v1/scenario-notifications/api/v1/scenario-notifications
List scenario notification records with pagination and optional user/scenario filter
Public
Response Example
{
"data": [
{
"id": "sn_01HSNR001",
"user_id": "usr_mentor_7821",
"scenario_type": "inactivity",
"notification_id": "notif_01HPN010",
"last_triggered_at": "2026-03-26T08:05:00Z",
"created_at": "2026-03-26T08:05:00Z"
},
{
"id": "sn_01HSNR002",
"user_id": "usr_mentor_4402",
"scenario_type": "certification_expiry",
"notification_id": "notif_01HPN011",
"last_triggered_at": "2026-03-25T08:05:00Z",
"created_at": "2026-03-25T08:05:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 856
}
}
GET
/api/v1/scenario-notifications/api/v1/scenario-notifications/:id
Get a specific scenario notification record
Public
Response Example
{
"id": "sn_01HSNR001",
"user_id": "usr_mentor_7821",
"scenario_type": "inactivity",
"notification_id": "notif_01HPN010",
"last_triggered_at": "2026-03-26T08:05:00Z",
"created_at": "2026-03-26T08:05:00Z"
}
POST
/api/v1/scenario-notifications/api/v1/scenario-notifications
Create a new scenario notification record
Public
Request Example
{
"user_id": "usr_mentor_7821",
"scenario_type": "inactivity",
"notification_id": "notif_01HPN099",
"last_triggered_at": "2026-03-26T10:40:00Z"
}
Response Example
{
"id": "sn_01HSNR099",
"user_id": "usr_mentor_7821",
"scenario_type": "inactivity",
"notification_id": "notif_01HPN099",
"last_triggered_at": "2026-03-26T10:40:00Z",
"created_at": "2026-03-26T10:40:00Z"
}
PUT
/api/v1/scenario-notifications/api/v1/scenario-notifications/:id
Update a scenario notification record (e.g. update last_triggered_at)
Public
Request Example
{
"last_triggered_at": "2026-03-26T11:00:00Z"
}
Response Example
{
"id": "sn_01HSNR001",
"user_id": "usr_mentor_7821",
"scenario_type": "inactivity",
"notification_id": "notif_01HPN010",
"last_triggered_at": "2026-03-26T11:00:00Z",
"created_at": "2026-03-26T08:05:00Z"
}
DELETE
/api/v1/scenario-notifications/api/v1/scenario-notifications/:id
Delete a scenario notification record
Public
Response Example
{
"success": true,
"deleted_id": "sn_01HSNR001"
}
GET
/api/v1/scenario-notifications/api/v1/scenario-notifications/users/:userId
Get paginated notification history for a specific user
Public
Response Example
{
"data": [
{
"id": "sn_01HSNR001",
"scenario_type": "inactivity",
"notification_id": "notif_01HPN010",
"last_triggered_at": "2026-03-26T08:05:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 5
}
}
GET
/api/v1/scenario-notifications/api/v1/scenario-notifications/users/:userId/last-triggered/:scenarioType
Get the timestamp of the last triggered notification for a user and scenario type
Public
Response Example
{
"user_id": "usr_mentor_7821",
"scenario_type": "inactivity",
"last_triggered_at": "2026-03-26T08:05:00Z",
"notification_id": "notif_01HPN010"
}
PUT
/api/v1/scenario-notifications/api/v1/scenario-notifications/users/:userId/last-triggered/:scenarioType
Update the last-triggered timestamp for a user and scenario type
Public
Request Example
{
"timestamp": "2026-03-26T11:05:00Z",
"notification_id": "notif_01HPN099"
}
Response Example
{
"user_id": "usr_mentor_7821",
"scenario_type": "inactivity",
"last_triggered_at": "2026-03-26T11:05:00Z",
"notification_id": "notif_01HPN099"
}