REST /api/v1/reminder-scheduler 5 endpoints
GET /api/v1/reminder-scheduler/api/v1/reminder-scheduler/status

Get current scheduler status and last run details

Public

Response Example

{
  "status": "active",
  "last_run_at": "2026-03-26T08:00:01Z",
  "next_run_at": "2026-03-27T08:00:00Z",
  "last_run_assignments_evaluated": 47,
  "last_run_reminders_sent": 3,
  "last_run_escalations_sent": 1
}
POST /api/v1/reminder-scheduler/api/v1/reminder-scheduler/run

Manually trigger a reminder check cycle

Public

Request Example

{
  "dry_run": false
}

Response Example

{
  "run_id": "run_20260326_101900",
  "started_at": "2026-03-26T10:19:00Z",
  "assignments_evaluated": 47,
  "reminders_dispatched": 2,
  "escalations_dispatched": 1,
  "completed_at": "2026-03-26T10:19:04Z"
}
POST /api/v1/reminder-scheduler/api/v1/reminder-scheduler/evaluate/:assignment_id

Evaluate a single assignment for reminder/escalation eligibility

Public

Response Example

{
  "assignment_id": "asgn_001",
  "days_since_contact": 16,
  "reminder_due": true,
  "escalation_due": false,
  "action_taken": "reminder_dispatched",
  "evaluated_at": "2026-03-26T10:20:00Z"
}
GET /api/v1/reminder-scheduler/api/v1/reminder-scheduler/due-reminders

List assignments currently due for a reminder

Public

Response Example

{
  "data": [
    {
      "assignment_id": "asgn_002",
      "mentee_name": "Ingrid Halvorsen",
      "peer_mentor_id": "user_019",
      "days_since_contact": 22,
      "reminder_threshold": 14
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2
  }
}
GET /api/v1/reminder-scheduler/api/v1/reminder-scheduler/due-escalations

List assignments currently due for escalation

Public

Response Example

{
  "data": [
    {
      "assignment_id": "asgn_007",
      "mentee_name": "Knut Bergström",
      "peer_mentor_id": "user_033",
      "coordinator_id": "user_007",
      "days_since_contact": 28,
      "escalation_threshold": 21,
      "last_reminder_sent_at": "2026-03-12T08:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}

Additional Metadata

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