REST /api/v1/notification-records 7 endpoints
GET /api/v1/notification-records/api/v1/notification-records

List all notification records with optional filter by peer mentor

Auth Required coordinatororg_adminglobal_admin

Response Example

{
  "data": [
    {
      "id": "nr_0a1b2c3d4e5f",
      "peer_mentor_id": "pm_551e8400",
      "peer_mentor_name": "Kari Nordmann",
      "event_type": "pause_activated",
      "coordinator_id": "coord_9f8e7d6c",
      "channels_notified": [
        "push",
        "in_app"
      ],
      "sent_at": "2026-03-19T14:30:05.000Z"
    },
    {
      "id": "nr_1b2c3d4e5f6a",
      "peer_mentor_id": "pm_662f9511",
      "peer_mentor_name": "Lars Eriksen",
      "event_type": "pause_deactivated",
      "coordinator_id": "coord_2a3b4c5d",
      "channels_notified": [
        "push",
        "in_app"
      ],
      "sent_at": "2026-03-25T09:00:05.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2
  }
}
GET /api/v1/notification-records/api/v1/notification-records/:id

Get a single notification record by ID

Auth Required coordinatororg_adminglobal_admin

Response Example

{
  "id": "nr_0a1b2c3d4e5f",
  "peer_mentor_id": "pm_551e8400",
  "peer_mentor_name": "Kari Nordmann",
  "event_type": "pause_activated",
  "effective_date": "2026-03-20T00:00:00.000Z",
  "reason": "Personal leave",
  "coordinator_id": "coord_9f8e7d6c",
  "coordinator_name": "Ingrid Bakke",
  "channels_notified": [
    "push",
    "in_app"
  ],
  "dispatch_ids": [
    "disp_7f8a9b0c1d2e",
    "disp_3e4f5a6b7c8d"
  ],
  "sent_at": "2026-03-19T14:30:05.000Z"
}
POST /api/v1/notification-records/api/v1/notification-records

Record that a notification was sent for a pause event (recordNotificationSent)

Auth Required coordinatororg_admin

Request Example

{
  "peer_mentor_id": "pm_551e8400",
  "event_type": "pause_activated",
  "effective_date": "2026-03-20T00:00:00.000Z",
  "reason": "Personal leave",
  "coordinator_id": "coord_9f8e7d6c",
  "channels_notified": [
    "push",
    "in_app"
  ],
  "dispatch_ids": [
    "disp_7f8a9b0c1d2e",
    "disp_3e4f5a6b7c8d"
  ]
}

Response Example

{
  "id": "nr_0a1b2c3d4e5f",
  "peer_mentor_id": "pm_551e8400",
  "event_type": "pause_activated",
  "coordinator_id": "coord_9f8e7d6c",
  "channels_notified": [
    "push",
    "in_app"
  ],
  "sent_at": "2026-03-19T14:30:05.000Z"
}
PUT /api/v1/notification-records/api/v1/notification-records/:id

Update metadata on a notification record (e.g. append delivery confirmation)

Auth Required org_adminglobal_admin

Request Example

{
  "channels_notified": [
    "push",
    "in_app",
    "email"
  ],
  "notes": "Email fallback triggered due to push failure"
}

Response Example

{
  "id": "nr_0a1b2c3d4e5f",
  "channels_notified": [
    "push",
    "in_app",
    "email"
  ],
  "notes": "Email fallback triggered due to push failure",
  "updated_at": "2026-03-19T15:00:00.000Z"
}
DELETE /api/v1/notification-records/api/v1/notification-records/:id

Delete a notification record

Auth Required global_admin

Response Example

{
  "message": "Notification record deleted",
  "deleted_id": "nr_0a1b2c3d4e5f",
  "deleted_at": "2026-03-26T10:00:00.000Z"
}
GET /api/v1/notification-records/api/v1/notification-records/peer-mentor-profile/:peerMentorId

Get the peer mentor profile used for notification routing (getPeerMentorProfile)

Auth Required coordinatororg_adminglobal_admin

Response Example

{
  "peer_mentor_id": "pm_551e8400",
  "full_name": "Kari Nordmann",
  "email": "kari.nordmann@nhf-oslo.no",
  "phone": "+47 900 12 345",
  "coordinator_id": "coord_9f8e7d6c",
  "org_id": "org_nhf_oslo",
  "current_status": "paused",
  "pause_start_date": "2026-03-20T00:00:00.000Z"
}
GET /api/v1/notification-records/api/v1/notification-records/history/:peerMentorId

Get full notification history for a peer mentor (getNotificationHistory)

Auth Required coordinatororg_adminglobal_admin

Response Example

{
  "peer_mentor_id": "pm_551e8400",
  "peer_mentor_name": "Kari Nordmann",
  "history": [
    {
      "id": "nr_0a1b2c3d4e5f",
      "event_type": "pause_activated",
      "effective_date": "2026-03-20T00:00:00.000Z",
      "reason": "Personal leave",
      "channels_notified": [
        "push",
        "in_app"
      ],
      "sent_at": "2026-03-19T14:30:05.000Z"
    },
    {
      "id": "nr_9z8y7x6w5v4u",
      "event_type": "pause_deactivated",
      "effective_date": "2026-01-15T00:00:00.000Z",
      "reason": null,
      "channels_notified": [
        "push",
        "in_app"
      ],
      "sent_at": "2026-01-14T11:00:00.000Z"
    }
  ],
  "total_events": 2
}

Additional Metadata

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