Skip to content
shuffl

Searches the public product guides only. Nothing from a workspace is read, and questions are not saved.

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

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
  • 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
    • 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
    • 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

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

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

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

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

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

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

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

mentorship.pairs.end

End a mentorship pairing early

POST/api/v1/manage/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

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

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

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
  • 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

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

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

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

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

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

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

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

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