Every MentorCard returned by the endpoints below hides direct contact details and applies the mentor's own profileVisibility choice:
| Field | Notes |
|---|---|
anonymous | displayName and profileImageCode are always omitted. |
semi_anonymous | profileImageCode omitted; displayName shown in partial form (first name + last initial). |
visible_after_acceptance | displayName and profileImageCode omitted until the student's request is accepted. |
Returns available, complete, non-full mentors as a paged list of MentorCard. Excludes mentors either side has blocked.
Query
| Field | Notes |
|---|---|
search | Optional. Matches occupation, industry, interests, discussion topics, summary. |
locationArea, tag | Optional filters. |
page, pageSize | Optional, default 1 / 20. |
Response
{
"items": [
{
"mentorUserId": 2,
"occupation": "Senior Auditor",
"industry": "Accounting",
"tags": [
"Auditor",
"Accounting"
],
"isAvailable": true
}
],
"page": 1,
"pageSize": 20,
"totalItems": 1
}
Scores available mentors against the student's tags, location, and mentor availability - exact tag matches score higher than related/synonym matches. Requires a complete student profile (400 otherwise).
Response
{
"suggestions": [
{
"mentorUserId": 2,
"occupation": "Senior Auditor",
"tags": [
"Auditor"
],
"isAvailable": true,
"matchScore": 15
}
]
}
Returns the mentor card plus the current user's existing requestStatus/connectionStatus with them (if any) and simple action flags.
Response
{
"mentor": {
"mentorUserId": 2,
"occupation": "Senior Auditor"
},
"canShowInterest": true,
"canMessage": false
}
Students see requests they sent; mentors see requests they received. Each item is an InterestRequestDetail including both parties' user summary and profile.
Query
| Field | Notes |
|---|---|
status, page, pageSize | All optional. |
Student-only. Validates the mentor is available and not at capacity, that neither user has blocked the other, and that there is no existing open request, then creates a Messaging System conversation and emails the mentor.
Request fields
| Field | Notes |
|---|---|
mentorUserId | Required. |
introductionMessage | Optional. Added as the conversation's first message. |
Response
{
"interestRequest": {
"id": 10,
"status": "pending"
},
"conversationId": 501
}
Returns the full InterestRequestDetail. 403 unless the current user is the student, the mentor, or an admin.
Only the mentor on the request. Re-checks capacity, then sets the request to accepted and creates an active MentorConnection. Notifies the student.
Request fields
| Field | Notes |
|---|---|
responseMessage | Optional. |
Response
{
"interestRequest": {
"id": 10,
"status": "accepted"
},
"connection": {
"id": 30,
"status": "active"
}
}
Only the mentor on the request, and only while it is not already accepted/declined/cancelled/expired. Notifies the student with a neutral message.
Request fields
| Field | Notes |
|---|---|
responseMessage | Optional. |
Sets the request to more_information_requested and posts the message into the linked conversation.
Request fields
| Field | Notes |
|---|---|
message | Required. |
Only the requesting student, and only before the request is accepted.
Request fields
| Field | Notes |
|---|---|
reason | Optional. |