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

Additional Metadata

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