Reference
Mentorship API
21 operations. Generated from the OpenAPI document, so this page always matches the API.
OpenAPI documentErrors and rate limitsSDK and CLI recipes
On this page
mentorship.mine
Your mentorship programs and pairings, with goals and check-ins
POST/api/v1/manage/mentorship/mine
- Read
- Permission mentorship.mine
const result = await shuffl.mentorship.mine();Request fields (none)
This operation takes no input.
Response object
- pairs object[] required
- checkIns object[] required
- answer null | "helped" | "met" | "not_yet" required
- dueOn string required
- id string required
- kind "check_in" | "final" required
- endedAt null | string required
- endsOn string required
- goals object[] required
- done boolean required
- id string required
- title string required
- id string required
- nextCheckInOn null | string required
- nextMeeting null | object required
- end string required
- meetingUrl null | string required
- start string required
- status "booked" | "pending" required
- other object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- otherTopics string required
- prep null | object required
- nextStep null | string required
- openGoals string[] required
- questions string[] required
- stage "first" | "last" | "middle" required
- program string required
- role "mentee" | "mentor" required
- sessions object[] required
- author string required
- heldOn string required
- id string required
- mine boolean required
- nextStep string required
- notes string required
- startedAt string required
- status "active" | "ended" | "paused" required
- checkIns object[] required
- programs object[] required
- audience null | string required
- choices object[] required
- mentor object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- reasons string[] required
- topics string required
- mentor object required
- description string required
- id string required
- mentee null | object required
- status "active" | "left" | "removed" required
- topics string required
- menteesChoose boolean required
- mentor null | object required
- status "active" | "left" | "removed" required
- topics string required
- name string required
- requested null | object required
- mentor object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- requestedAt string required
- mentor object required
- terms string required
- waiting boolean required
- requests object[] required
- mentee object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- menteeTopics string required
- pairId string required
- program string required
- reasons string[] required
- requestedAt string required
- mentee object required
mentorship.join
Join a mentorship program as a mentor or mentee, saying what you can help with or want to learn
POST/api/v1/manage/mentorship/join
- Write
- Permission mentorship.join
- Needs a requestKey
- Needs confirm set to mentorship.join
const result = await shuffl.mentorship.join({
"programId": "<programId>",
"role": "mentee",
"topics": "<topics>",
"confirm": "mentorship.join",
"requestKey": "a-new-unique-key"
});Request fields (5)
- programId string required
- role "mentee" | "mentor" required
- topics string required
- confirm "mentorship.join" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- joined boolean required
- role "mentee" | "mentor" required
- topics boolean required
mentorship.leave
Leave a mentorship program as a mentor or mentee
POST/api/v1/manage/mentorship/leave
- Write
- Permission mentorship.leave
- Needs a requestKey
- Needs confirm set to mentorship.leave
const result = await shuffl.mentorship.leave({
"programId": "<programId>",
"role": "mentee",
"confirm": "mentorship.leave",
"requestKey": "a-new-unique-key"
});Request fields (4)
- programId string required
- role "mentee" | "mentor" required
- confirm "mentorship.leave" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
- role "mentee" | "mentor" required
mentorship.checkIns.answer
Answer whether you met your mentor or mentee, and whether it helped
POST/api/v1/manage/mentorship/checkIns/answer
- Write
- Permission mentorship.checkIns.answer
- Needs a requestKey
- Needs confirm set to mentorship.checkIns.answer
const result = await shuffl.mentorship.checkIns.answer({
"answer": "helped",
"checkInId": "<checkInId>",
"confirm": "mentorship.checkIns.answer",
"requestKey": "a-new-unique-key"
});Request fields (4)
- answer "helped" | "met" | "not_yet" required
- checkInId string required
- confirm "mentorship.checkIns.answer" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- answer "helped" | "met" | "not_yet" required
- changed boolean required
- kind "check_in" | "final" required
- role "mentee" | "mentor" required
mentorship.goals.remove
Remove a goal from your mentorship, as the mentee
POST/api/v1/manage/mentorship/goals/remove
- Write
- Permission mentorship.goals.remove
- Needs a requestKey
- Needs confirm set to mentorship.goals.remove
const result = await shuffl.mentorship.goals.remove({
"goalId": "<goalId>",
"pairId": "<pairId>",
"confirm": "mentorship.goals.remove",
"requestKey": "a-new-unique-key"
});Request fields (4)
- goalId string required
- pairId string required
- confirm "mentorship.goals.remove" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- removed boolean required
mentorship.goals.save
Add, rename or check off a goal in your mentorship, as the mentee
POST/api/v1/manage/mentorship/goals/save
- Write
- Permission mentorship.goals.save
- Needs a requestKey
- Needs confirm set to mentorship.goals.save
const result = await shuffl.mentorship.goals.save({
"pairId": "<pairId>",
"confirm": "mentorship.goals.save",
"requestKey": "a-new-unique-key"
});Request fields (6)
- done false | true optional
- goalId string optional
- pairId string required
- title string optional
- confirm "mentorship.goals.save" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- added boolean required
- done boolean required
- goalId null | string required
mentorship.members.setStatus
Take someone off a mentorship program, or put them back
POST/api/v1/manage/mentorship/members/setStatus
- Write
- Permission mentorship.members.setStatus
- Needs a requestKey
- Needs confirm set to mentorship.members.setStatus
const result = await shuffl.mentorship.members.setStatus({
"personId": "<personId>",
"programId": "<programId>",
"role": "mentee",
"status": "active",
"confirm": "mentorship.members.setStatus",
"requestKey": "a-new-unique-key"
});Request fields (6)
- personId string required
- programId string required
- role "mentee" | "mentor" required
- status "active" | "removed" required
- confirm "mentorship.members.setStatus" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
mentorship.mentors.choose
Choose your mentor from the mentors Shuffl suggests, in a program where mentees choose
POST/api/v1/manage/mentorship/mentors/choose
- Write
- Permission mentorship.mentors.choose
- Needs a requestKey
- Needs confirm set to mentorship.mentors.choose
const result = await shuffl.mentorship.mentors.choose({
"mentorId": "<mentorId>",
"programId": "<programId>",
"confirm": "mentorship.mentors.choose",
"requestKey": "a-new-unique-key"
});Request fields (4)
- mentorId string required
- programId string required
- confirm "mentorship.mentors.choose" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- pairId string required
- reached boolean required
- status "requested" required
mentorship.pairs.decide
Approve a suggested mentorship pair, which introduces them, or skip it
POST/api/v1/manage/mentorship/pairs/decide
- Write
- Permission mentorship.pairs.decide
- Needs a requestKey
- Needs confirm set to mentorship.pairs.decide
const result = await shuffl.mentorship.pairs.decide({
"decision": "approve",
"pairId": "<pairId>",
"confirm": "mentorship.pairs.decide",
"requestKey": "a-new-unique-key"
});Request fields (4)
- decision "approve" | "skip" required
- pairId string required
- confirm "mentorship.pairs.decide" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- Option 1 object optional
- decision "skip" required
- endsOn any optional
- reached number required
- status "skipped" required
- Option 2 object optional
- decision "approve" required
- endsOn string required
- reached number required
- status "active" required
- Option 1 object optional
mentorship.pairs.end
End a mentorship pairing early
POST/api/v1/manage/mentorship/pairs/end
- Write
- Permission mentorship.pairs.end
- Needs a requestKey
- Needs confirm set to mentorship.pairs.end
const result = await shuffl.mentorship.pairs.end({
"pairId": "<pairId>",
"confirm": "mentorship.pairs.end",
"requestKey": "a-new-unique-key"
});Request fields (3)
- pairId string required
- confirm "mentorship.pairs.end" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
mentorship.pairs.setMine
Pause, resume or end your own mentorship pairing
POST/api/v1/manage/mentorship/pairs/setMine
- Write
- Permission mentorship.pairs.setMine
- Needs a requestKey
- Needs confirm set to mentorship.pairs.setMine
const result = await shuffl.mentorship.pairs.setMine({
"pairId": "<pairId>",
"status": "active",
"confirm": "mentorship.pairs.setMine",
"requestKey": "a-new-unique-key"
});Request fields (4)
- pairId string required
- status "active" | "ended" | "paused" required
- confirm "mentorship.pairs.setMine" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
- role string required
- status "active" | "ended" | "paused" required
mentorship.pairs.suggest
Suggest a mentor outside their reporting line for every mentee still waiting
POST/api/v1/manage/mentorship/pairs/suggest
- Write
- Permission mentorship.pairs.suggest
- Needs a requestKey
- Needs confirm set to mentorship.pairs.suggest
const result = await shuffl.mentorship.pairs.suggest({
"programId": "<programId>",
"confirm": "mentorship.pairs.suggest",
"requestKey": "a-new-unique-key"
});Request fields (3)
- programId string required
- confirm "mentorship.pairs.suggest" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- suggested number required
- waiting number required
mentorship.programs.get
One mentorship program: who joined, the suggested pairs and whether pairs are meeting
POST/api/v1/manage/mentorship/programs/get
- Read
- Permission mentorship.programs.get
const result = await shuffl.mentorship.programs.get({
"programId": "<programId>"
});Request fields (1)
- programId string required
Response object
- members object[] required
- id string required
- joinedAt string required
- name string required
- pairs number required
- photoUrl null | string required
- role "mentee" | "mentor" required
- slackUserId null | string required
- status "active" | "left" | "removed" required
- title null | string required
- topics string required
- userId null | string required
- pairs object[] required
- checkIns object required
- answered number required
- asked number required
- met number required
- endedAt null | string required
- endReason null | "completed" | "hr" | "mentee" | "mentor" required
- endsOn null | string required
- final object required
- mentee null | "helped" | "met" | "not_yet" required
- mentor null | "helped" | "met" | "not_yet" required
- id string required
- mentee object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- mentor object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- nextCheckInOn null | string required
- reasons string[] required
- startedAt null | string required
- status "active" | "ended" | "paused" | "requested" | "skipped" | "suggested" required
- suggestedAt string required
- checkIns object required
- program object required
- activePairs number required
- audience null | string required
- checkInWeeks number required
- createdAt string required
- description string required
- groupId null | string required
- id string required
- mentees number required
- menteesChoose boolean required
- mentorCapacity number required
- mentors number required
- name string required
- pairingWeeks number required
- requested number required
- status "active" | "archived" | "paused" required
- suggested number required
- waiting number required
mentorship.programs.list
List mentorship programs, with how many mentors, mentees and pairs each has
POST/api/v1/manage/mentorship/programs/list
- Read
- Permission mentorship.programs.list
const result = await shuffl.mentorship.programs.list();Request fields (none)
This operation takes no input.
Response object
- programs object[] required
- activePairs number required
- audience null | string required
- checkInWeeks number required
- createdAt string required
- description string required
- groupId null | string required
- id string required
- mentees number required
- menteesChoose boolean required
- mentorCapacity number required
- mentors number required
- name string required
- pairingWeeks number required
- requested number required
- status "active" | "archived" | "paused" required
- suggested number required
- waiting number required
mentorship.programs.save
Create or change a mentorship program: who can join, how long pairings last and how often pairs check in
POST/api/v1/manage/mentorship/programs/save
- Write
- Permission mentorship.programs.save
- Needs a requestKey
- Needs confirm set to mentorship.programs.save
const result = await shuffl.mentorship.programs.save({
"name": "<name>",
"confirm": "mentorship.programs.save",
"requestKey": "a-new-unique-key"
});Request fields (10)
- checkInWeeks number optional
- description string optional
- groupId null | string optional
- id string optional
- menteesChoose false | true optional
- mentorCapacity number optional
- name string required
- pairingWeeks number optional
- confirm "mentorship.programs.save" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- created boolean required
- grouped boolean required
- id string required
mentorship.programs.setStatus
Turn mentorship programs on, pause one, or archive one and end its pairs
POST/api/v1/manage/mentorship/programs/setStatus
- Write
- Permission mentorship.programs.setStatus
- Needs a requestKey
- Needs confirm set to mentorship.programs.setStatus
const result = await shuffl.mentorship.programs.setStatus({
"programId": "<programId>",
"status": "active",
"confirm": "mentorship.programs.setStatus",
"requestKey": "a-new-unique-key"
});Request fields (4)
- programId string required
- status "active" | "archived" | "paused" required
- confirm "mentorship.programs.setStatus" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
- status "active" | "archived" | "paused" required
mentorship.requests.answer
Accept or pass on a mentee who chose you as their mentor
POST/api/v1/manage/mentorship/requests/answer
- Write
- Permission mentorship.requests.answer
- Needs a requestKey
- Needs confirm set to mentorship.requests.answer
const result = await shuffl.mentorship.requests.answer({
"decision": "accept",
"pairId": "<pairId>",
"confirm": "mentorship.requests.answer",
"requestKey": "a-new-unique-key"
});Request fields (4)
- decision "accept" | "pass" required
- pairId string required
- confirm "mentorship.requests.answer" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed boolean required
- decision "accept" | "pass" required
- status "active" | "ended" | "paused" | "skipped" | "suggested" required
mentorship.sessions.remove
Remove your notes from a mentorship meeting
POST/api/v1/manage/mentorship/sessions/remove
- Write
- Permission mentorship.sessions.remove
- Needs a requestKey
- Needs confirm set to mentorship.sessions.remove
const result = await shuffl.mentorship.sessions.remove({
"pairId": "<pairId>",
"sessionId": "<sessionId>",
"confirm": "mentorship.sessions.remove",
"requestKey": "a-new-unique-key"
});Request fields (4)
- pairId string required
- sessionId string required
- confirm "mentorship.sessions.remove" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- removed boolean required
mentorship.sessions.save
Add or change your notes from a mentorship meeting: what you talked about and one thing to try
POST/api/v1/manage/mentorship/sessions/save
- Write
- Permission mentorship.sessions.save
- Needs a requestKey
- Needs confirm set to mentorship.sessions.save
const result = await shuffl.mentorship.sessions.save({
"heldOn": "<heldOn>",
"pairId": "<pairId>",
"confirm": "mentorship.sessions.save",
"requestKey": "a-new-unique-key"
});Request fields (7)
- heldOn string required
- nextStep string optional
- notes string optional
- pairId string required
- sessionId string optional
- confirm "mentorship.sessions.save" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- added boolean required
- nextStep boolean required
- role string required
- sessionId null | string required
mentorship.settings.get
What a new mentorship program starts with: pairing length, check-in cadence and mentees per mentor
POST/api/v1/manage/mentorship/settings/get
- Read
- Permission mentorship.settings.get
const result = await shuffl.mentorship.settings.get();Request fields (none)
This operation takes no input.
Response object
- defaults object required
- checkInWeeks 2 required
- mentorCapacity 2 required
- pairingWeeks 12 required
- settings object required
- checkInWeeks number required
- mentorCapacity number required
- pairingWeeks number required
- updatedAt null | string required
mentorship.settings.save
Change what a new mentorship program starts with; existing programs keep their own terms
POST/api/v1/manage/mentorship/settings/save
- Write
- Permission mentorship.settings.save
- Needs a requestKey
- Needs confirm set to mentorship.settings.save
const result = await shuffl.mentorship.settings.save({
"checkInWeeks": 0,
"mentorCapacity": 0,
"pairingWeeks": 0,
"confirm": "mentorship.settings.save",
"requestKey": "a-new-unique-key"
});Request fields (5)
- checkInWeeks number required
- mentorCapacity number required
- pairingWeeks number required
- confirm "mentorship.settings.save" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- changed number required
- custom boolean required
- settings object required
- checkInWeeks number required
- mentorCapacity number required
- pairingWeeks number required