REST /api/v1/assignments 7 endpoints
GET /api/v1/assignments/api/v1/assignments

List all open assignments with their last contact dates

Public

Response Example

{
  "data": [
    {
      "assignment_id": "asgn_001",
      "mentee_name": "Lars Eriksson",
      "peer_mentor_id": "user_042",
      "status": "active",
      "last_contact_date": "2026-03-10T14:30:00Z",
      "days_since_contact": 16,
      "created_at": "2026-01-15T09:00:00Z"
    },
    {
      "assignment_id": "asgn_002",
      "mentee_name": "Ingrid Halvorsen",
      "peer_mentor_id": "user_019",
      "status": "active",
      "last_contact_date": null,
      "days_since_contact": null,
      "created_at": "2026-02-20T11:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 47
  }
}
GET /api/v1/assignments/api/v1/assignments/:id

Get a single assignment with contact date details

Public

Response Example

{
  "assignment_id": "asgn_001",
  "mentee_name": "Lars Eriksson",
  "peer_mentor_id": "user_042",
  "coordinator_id": "user_007",
  "org_id": "org_03",
  "status": "active",
  "last_contact_date": "2026-03-10T14:30:00Z",
  "days_since_contact": 16,
  "reminder_sent_at": "2026-03-18T08:00:00Z",
  "escalation_sent_at": null,
  "created_at": "2026-01-15T09:00:00Z",
  "updated_at": "2026-03-18T08:00:01Z"
}
POST /api/v1/assignments/api/v1/assignments

Create a new assignment

Public

Request Example

{
  "mentee_id": "user_088",
  "peer_mentor_id": "user_042",
  "coordinator_id": "user_007",
  "org_id": "org_03",
  "start_date": "2026-03-26"
}

Response Example

{
  "assignment_id": "asgn_048",
  "mentee_name": "Bjørn Solberg",
  "peer_mentor_id": "user_042",
  "status": "active",
  "last_contact_date": null,
  "created_at": "2026-03-26T10:00:00Z"
}
PUT /api/v1/assignments/api/v1/assignments/:id

Update assignment details or status

Public

Request Example

{
  "status": "completed",
  "peer_mentor_id": "user_055"
}

Response Example

{
  "assignment_id": "asgn_001",
  "status": "completed",
  "peer_mentor_id": "user_055",
  "updated_at": "2026-03-26T10:05:00Z"
}
DELETE /api/v1/assignments/api/v1/assignments/:id

Delete an assignment

Public

Response Example

{
  "deleted": true,
  "assignment_id": "asgn_001"
}
PUT /api/v1/assignments/api/v1/assignments/:id/last-contact

Update the last contact date for an assignment

Public

Request Example

{
  "contact_date": "2026-03-26T09:45:00Z",
  "contact_type": "message"
}

Response Example

{
  "assignment_id": "asgn_001",
  "last_contact_date": "2026-03-26T09:45:00Z",
  "days_since_contact": 0,
  "updated_at": "2026-03-26T09:45:01Z"
}
GET /api/v1/assignments/api/v1/assignments/overdue

List assignments with no contact since a cutoff date

Public

Response Example

{
  "data": [
    {
      "assignment_id": "asgn_002",
      "mentee_name": "Ingrid Halvorsen",
      "peer_mentor_id": "user_019",
      "last_contact_date": null,
      "days_since_contact": null
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 3
  }
}

Additional Metadata

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