Students see their mentor connections, mentors see their mentee connections, admins see all. Each item is a ConnectionDetail with both parties' user summary and profile.
Query
| Field | Notes |
|---|---|
status, page, pageSize | All optional. |
Returns the connection detail, the linked conversation id, and whether the current user can still submit a rating (they have not already rated this connection).
Response
{
"connection": {
"connection": {
"id": 30,
"status": "active"
}
},
"conversationId": 501,
"canRate": true
}
The student, mentor, or an admin can end an active connection. Status becomes ended_by_student, ended_by_mentor, or ended_by_admin accordingly, and the other party is notified.
Request fields
| Field | Notes |
|---|---|
reason | Optional. |
Only someone who was part of the connection, rating the other party. Requires at least one of overallRating or adminOnlyFeedback, so feedback can be left alone without scoring every category. Only one rating per user per connection (409 on a repeat).
Request fields
| Field | Notes |
|---|---|
connectionId, ratedUserId | Required. |
helpfulnessRating, knowledgeRating, politenessRating, responsivenessRating, seriousnessRating, communicationRating, overallRating | Optional integers, 1-5. |
adminOnlyFeedback | Optional written feedback, never shown publicly. |
Response
{
"ratingId": 55
}
Normal users see ratings they submitted; admins see all. Ratings are never public.
Query
| Field | Notes |
|---|---|
page, pageSize | Optional. |
Creates an open report for admin review. If a connection or interest request is referenced, the reporting user must be part of it.
Request fields
| Field | Notes |
|---|---|
reportedUserId, reportType | Required. reportType is one of inappropriate_message, harassment, dishonest_profile, unprofessional_behaviour, safety_concern, spam, inappropriate_profile_picture, other. |
connectionId, interestRequestId, conversationId, messageId | Optional context. |
reportDetails | Optional. |
Prevents future mentor suggestions, interest requests, and messages between the two users. 409 if already blocked.
Request fields
| Field | Notes |
|---|---|
blockedUserId | Required. |
reason | Optional. |
Only the user who created the block can remove it. Matching and messaging may resume unless blocked for another reason.
Response
{
"removed": true
}