REST /api/v1/notification-triggers 5 endpoints
GET /api/v1/notification-triggers/api/v1/notification-triggers

List notification trigger event logs

Public

Response Example

{
  "data": [
    {
      "trigger_id": "trig-3301",
      "event_type": "assignment_event",
      "user_id": "usr-441",
      "payload_summary": "Assignment asgn-991 posted",
      "dispatched_at": "2026-03-25T13:00:00Z",
      "status": "dispatched"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 34
  }
}
GET /api/v1/notification-triggers/api/v1/notification-triggers/:id

Get a specific trigger log by ID

Public

Response Example

{
  "trigger_id": "trig-3301",
  "event_type": "assignment_event",
  "user_id": "usr-441",
  "payload": {
    "assignment_id": "asgn-991",
    "action": "posted",
    "due_at": "2026-03-27T23:59:00Z"
  },
  "dispatched_at": "2026-03-25T13:00:00Z",
  "status": "dispatched"
}
POST /api/v1/notification-triggers/api/v1/notification-triggers

Manually fire a notification trigger event

Public

Request Example

{
  "event_type": "deadline_approaching",
  "user_id": "usr-441",
  "payload": {
    "assignment_id": "asgn-991",
    "deadline": "2026-03-27T23:59:00Z",
    "hours_remaining": 24
  }
}

Response Example

{
  "trigger_id": "trig-3340",
  "event_type": "deadline_approaching",
  "user_id": "usr-441",
  "status": "dispatched",
  "dispatched_at": "2026-03-26T10:05:00Z"
}
PUT /api/v1/notification-triggers/api/v1/notification-triggers/:id

Update trigger log status or metadata

Public

Request Example

{
  "status": "failed",
  "error": "FCM quota exceeded"
}

Response Example

{
  "trigger_id": "trig-3301",
  "status": "failed",
  "error": "FCM quota exceeded"
}
DELETE /api/v1/notification-triggers/api/v1/notification-triggers/:id

Delete a trigger log record

Public

Response Example

{
  "deleted": true,
  "trigger_id": "trig-3301"
}

Additional Metadata

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