PersonTerm

APIDescription
GET api/PersonTerm/GetTerms

Get all terms for the university associated with this person

GET api/PersonTerm/GetCurrentTerm

Get the current term for the university assoicated with this peson. If a term is in session right now, then returns that term. If not, returns the next future term. If no future term is set up, return 204-NoContent

ServiceBus

APIDescription
POST api/ServiceBus/Post

No documentation available.

InstructorExcel

APIDescription
GET api/InstructorExcel/GetEventConversation?eventId={eventId}&utcOffset={utcOffset}

No documentation available.

GET api/InstructorExcel/GetBotConversation?studentId={studentId}&startTime={startTime}&endTime={endTime}&utcOffset={utcOffset}

Returns CSV of bot conversations (messages) during the specified time for the student

UniversityAdminRc

APIDescription
POST api/UniversityAdminRc/Post

Creates a new resource center and adds the new resource center to all pre-existing rcAdmins

DELETE api/UniversityAdminRc/Delete?rcId={rcId}

Delete the resource center with the specified id.

TimerWeekly

APIDescription
POST api/TimerWeekly/Post

No documentation available.

RcAdminTcs

APIDescription
GET api/RcAdminTcs/Get?rcId={rcId}

Returns all the tutoring centers from the university. A tc's "IsLinked" field will be true if the tc is linked to the rc. It will be false otherwise.

POST api/RcAdminTcs/Post

Create a new tutoring center, linked with the current resource center.

PUT api/RcAdminTcs/Put

Make an existing location a tutoring center. The new tutoring center will be linked with the current resource center.

PUT api/RcAdminTcs/PutLink

Links a resource center with a tutoring center.

PUT api/RcAdminTcs/PutUnlink

Unlinks a resource center from a tutoring center.

PUT api/RcAdminTcs/PutRequestDelay

No documentation available.

PUT api/RcAdminTcs/PutMinDuration

No documentation available.

AdminSurveyQuestionChoice

APIDescription
PUT api/AdminSurveyQuestionChoice/Put

Updates SurveyQuestionChoice name and value

DELETE api/AdminSurveyQuestionChoice/Delete/{id}

Delete a specific choice with the matching engagement type choice id

AdminMessages

APIDescription
PUT api/AdminMessages/Put

Sends the specified message to all the students from the specified section (as if from Leon).

PUT api/AdminMessages/PutUniversityMessage

Sends the specified message to all the students in the specified university (as if from Leon).

AdminWebLog

APIDescription
GET api/AdminWebLog/Get

Returns the most recent 1000 webLogs.

PersonAvailability

APIDescription
POST api/PersonAvailability/Post

Create a new availability event for the person making the call.

PUT api/PersonAvailability/Put

Updates an availability event

PUT api/PersonAvailability/PutGenerate

This call generates the availability schedule for the person. It is inteded to be invoked the first time a person enters the app. An availability is generated for each day between 9 am to 9 pm (person's timezone), where the person is free (not attending other events). Each created availability event has a minimum span of 30 minutes. Any existing availability schedule of this person during the current term will be deleted. First two weeks of availability is generated. The rest of the availability is generated by scheduler at night.

RcAdminPeople

APIDescription
GET api/RcAdminPeople/GetPersonSuggestions?searchTerm={searchTerm}&nrOfResults={nrOfResults}

Returns top 'nrOfResults' people from the caller's univesity that match the search term. The match is determined by first name, last name or email.

ApiAi

APIDescription
POST api/ApiAi/Post

No documentation available.

RcAdminLocations

APIDescription
GET api/RcAdminLocations/Get

Returns all the study locations in the university.

GET api/RcAdminLocations/Get?excludeTcs={excludeTcs}

Returns StudyLocations which are not tutoring centers, if the argument is true. Returns all the study locations in the university otherwise.

POST api/RcAdminLocations/Post

No documentation available.

PUT api/RcAdminLocations/Put

Edit an existing location.

DELETE api/RcAdminLocations/Delete?studyLocationId={studyLocationId}

No documentation available.

StudentGsInvitationResponse

APIDescription
PUT api/StudentGsInvitationResponse/Put

Saves the response to a GsInvitation. The valid responses are "Accept", "Decline", or "Ask me later". If the response is "Accept", self-assesment scores for all topics in the assignemnt should be provided.

InstructorStudents

APIDescription
GET api/InstructorStudents/Get?studentId={studentId}

Returns information about a specific student

GET api/InstructorStudents/Get?sectionId={sectionId}&pageNumber={pageNumber}&pageSize={pageSize}

Returns all the students in a section

GET api/InstructorStudents/GetStudentSearchSuggestions?sectionId={sectionId}&searchToken={searchToken}&pageNumber={pageNumber}&pageSize={pageSize}

No documentation available.

StudentSessions

APIDescription
PUT api/StudentSessions/PutUpdateTimer

No documentation available.

StudentResources

APIDescription
GET api/StudentResources/Get?resourceId[0]={resourceId[0]}&resourceId[1]={resourceId[1]}

No documentation available.

GET api/StudentResources/GetAvailableResources?courseId={courseId}

No documentation available.

InstructorAssignments

APIDescription
GET api/InstructorAssignments/GetTypes

Returns the list of existing assignment types.

GET api/InstructorAssignments/Get?sectionId={sectionId}

Returns all the assignments for the specified section. Use ParentSectionId when appropriate

POST api/InstructorAssignments/Post

Creates a new assignment and returns it's DTO.

PUT api/InstructorAssignments/Put

Updates/Edits an assignment.

PUT api/InstructorAssignments/PutTopic

Adds the specified topic to the specified assignment.

DELETE api/InstructorAssignments/Delete?assignmentId={assignmentId}

Deletes the specified assignment.

DELETE api/InstructorAssignments/DeleteTopic?assignmentId={assignmentId}&topicId={topicId}

Removes the topic from the assignment.

AdminSection

APIDescription
GET api/AdminSection/GetStudentIds?sectionId={sectionId}

Returns the list of student IDs for the provided section.

TutorSessions

APIDescription
PUT api/TutorSessions/PutFinalize

No documentation available.

PUT api/TutorSessions/PutStart

No documentation available.

DELETE api/TutorSessions/DeleteGroupSession?groupId={groupId}&reason={reason}&isNoShow={isNoShow}

Deletes all sessions inside this group session. 1. Changes type code to deleted. 2. Adds reason to DeletedSessions table. 3. Notifies students that the session was deleted.

TutorNotifications

APIDescription
GET api/TutorNotifications/GetNotifications

No documentation available.

RcAdminSurveys

APIDescription
POST api/RcAdminSurveys/Post

No documentation available.

PUT api/RcAdminSurveys/Put

No documentation available.

InstructorTopics

APIDescription
GET api/InstructorTopics/Get?courseId={courseId}

Returns the topics linked to the specified course.

GET api/InstructorTopics/GetSuggestions?courseId={courseId}&prefix={prefix}

Returns the first 10 topics (ordered by name) form the course that start with the specified prefix.

POST api/InstructorTopics/Post

Creates a new topic. Either assignment ID or course ID should be specified. The topic is associated with the course (or assignment's course). If assignment is specified, then the topic is associated with the assignment as well.

DELETE api/InstructorTopics/Delete?topicId={topicId}

Deletes the specified topic from the database.

Admin

APIDescription
POST api/Admin/PostUniversityAdmin

No documentation available.

PUT api/Admin/PutUniversityAdmin

No documentation available.

POST api/Admin/PostItUser

No documentation available.

TutorScheduledDropInResponse

APIDescription
PUT api/TutorScheduledDropInResponse/Put

If accept is successfull, retruns 200-Ok and the StudySessionDTO object. If reject is successfull, returns 204-NoContent. If the call fails, it returns 400-BadRequest along with the reason of failure.

Appetize

APIDescription
GET api/Appetize/Get

Returns the most up-to-date appetize URL

AdminSr

AdminSrController should be used purely for asking students to self reflect. If you want students to be grouped into group sessions automatically after self reflections are comple, use AdminGsCreatorController instead.

APIDescription
GET api/AdminSr/Get?startTime={startTime}&endTime={endTime}

Returns the list of SrJobs that were created between the specified start and end times.

GET api/AdminSr/GetStudents?srJobId={srJobId}

Returns the list of students that self-reflected as a result of the provided SR job.

POST api/AdminSr/Post

Creates a SrJob object and asks all the students from the assignment's course to self-reflect on the topics from the assignment.

POST api/AdminSr/PostForStudent

Asks the student to self reflect on the assignment's topics.

UniversityAdminTc

APIDescription
POST api/UniversityAdminTc/PostTcAuthConfig

No documentation available.

PersonLocations

APIDescription
GET api/PersonLocations/Get

Returns all the study locations in the university.

StudentPeerRequest

APIDescription
POST api/StudentPeerRequest/Post

Creates a student request for on-demand resource. If there is an existing session that matches the request, creates a group session and returns 201-Created along with the session DTO. Otherwise, notifies tutors and returns 200-Ok along with the request DTO. If the call fails, it returns 400-BadRequest along with the reason of failure.

UniversityAdminFunds

APIDescription
PUT api/UniversityAdminFunds/PutFundsToStudent

Adds funds to the specified student.

PUT api/UniversityAdminFunds/PutFunds

Adds funds to all students from the universityAdmin's university.

StudentKiosk

APIDescription
GET api/StudentKiosk/Get

Returns student's pending drop-in request/session (if they exist). Note: A student can have maximum one active drop-in request/session at a time.

TutorTcStay

APIDescription
GET api/TutorTcStay/Get

Returns 200-Ok and the tutor's current tcStay, if one exists. Otherwise, returns 204-NoContent.

POST api/TutorTcStay/Post

Marks the tutor as available in the specified tutoring center. Also a tcStay timer is lauched, that will notify the tutor when the stay ends.

PUT api/TutorTcStay/Put

Edits the endTime of the tutor's current tcStay. The old tcStay timer is replaced with a new one.

DELETE api/TutorTcStay/Delete

End the tutor's current tcStay.

AdminEmailDomain

APIDescription
GET api/AdminEmailDomain/GetAll?universityId={universityId}

Get valid email domain(s) for the requested unversityId

POST api/AdminEmailDomain/Post

Add new valid email domain for the university

DELETE api/AdminEmailDomain/Delete?emailDomainId={emailDomainId}

Delete EmailDomain by Id

PersonMessages

APIDescription
GET api/PersonMessages/Get?eventId={eventId}

Returns the conversation (list of 50 most recent messages) associated with the specified event. The caller must be an attendee of the event to be able to view messages.

GET api/PersonMessages/Get?eventId={eventId}&maxSentTime={maxSentTime}

Returns the conversation (list of last 50 messages) associated with the specified event that occurred before maxSentTime. The caller must be an attendee of the event to be able to view messages.

POST api/PersonMessages/Post

Sends a new message in the conversation of the specified event. The caller must be an attendee of the event to be able to send messages.

PUT api/PersonMessages/PutRead

Marks all messages received by the caller in the specified event as read.

AdminEmail

APIDescription
PUT api/AdminEmail/PutValidateEmail

No documentation available.

StudentScheduledDropInRequest

APIDescription
POST api/StudentScheduledDropInRequest/Post

Creates a student request. If there is an existing session with the same tutor, same course, same location, and that includes this session's interval, then a pooled session is created and 201-Created along with the session DTO is returned. Otherwise, notifies the tutor and returns 200-Ok along with the request DTO. If the call fails, it returns 400-BadRequest along with the reason of failure.

RcAdminEvents

RcAdminEvent contains calls applicable for all resource types of Events

APIDescription
GET api/RcAdminEvents/GetRecurringEvent?rcId={rcId}&recurringEventId={recurringEventId}

Returns Recurring Event meta data

GET api/RcAdminEvents/Get?rcId={rcId}&eventId={eventId}&includeChild={includeChild}&includeLocation={includeLocation}&includeResource={includeResource}&includeCreator={includeCreator}&includeAttendee={includeAttendee}&includeMessage={includeMessage}

Returns the event with the specified ID.

GET api/RcAdminEvents/Get?rcId={rcId}&startTime={startTime}&endTime={endTime}&lifecycle[0]={lifecycle[0]}&lifecycle[1]={lifecycle[1]}&courseId={courseId}&personId={personId}&locationId={locationId}&resourceId[0]={resourceId[0]}&resourceId[1]={resourceId[1]}&orderType={orderType}&orderAscending={orderAscending}&includeChild={includeChild}&includeLocation={includeLocation}&includeResource={includeResource}&includeCreator={includeCreator}&includeAttendee={includeAttendee}&includeMessage={includeMessage}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}&isCSV={isCSV}&includeSummary={includeSummary}&utcOffset={utcOffset}

Returns a paginated list of events associated with the specified resource center, and happen between the specified times and that fit the criteria Currently resourceIds only support student study-resources (SS and GS).

PUT api/RcAdminEvents/PutAttendee

Adds a person to an event as an attendee (role = student). Currently supports Group Sessions only

DELETE api/RcAdminEvents/DeleteAttendee?eventId={eventId}&personId={personId}&reason={reason}&updateRecurring={updateRecurring}

Deletes (removes) an attendee person from the gs event. - Study Session: Since StudySesison is 1:1, you cannot delete an attendee. Delete the event entirely instead - Group Session: Deletes attendee, both leader and student - Other resources: Not supported

DELETE api/RcAdminEvents/Delete?rcId={rcId}&eventId={eventId}&deleteRecurring={deleteRecurring}&deletePast={deletePast}

Delete specified event (or subsequent future events) based on deleteRecurring value - Study Session: Since StudySesison is 1:1, deleting the event notifies both attendees regarding event deletion - Group Session: Group session cannot be deleted when attendee exists. Remove all attendees first - Other resources: Not supported

BlockUser

APIDescription
PUT api/BlockUser/Put

No documentation available.

GET api/BlockUser/Get?rcId={rcId}

No documentation available.

TutorDropInResponse

APIDescription
PUT api/TutorDropInResponse/Put

If accept is successfull, retruns 200-Ok and the StudySessionDTO object. If reject is successfull, returns 204-NoContent. If the call fails, it returns 400-BadRequest along with the reason of failure.

TutorBadges

APIDescription
GET api/TutorBadges/GetTutorNotificationsBadge

No documentation available.

GET api/TutorBadges/GetTutorRequestsBadge

No documentation available.

GET api/TutorBadges/GetTutorSessionBadge?studySessionId={studySessionId}

No documentation available.

GET api/TutorBadges/GetTutorGroupSessionBadge?groupSessionId={groupSessionId}

No documentation available.

GET api/TutorBadges/GetTutorSessionsBadge

No documentation available.

GET api/TutorBadges/GetTutorBadge

No documentation available.

Fulfillment

APIDescription
POST api/Fulfillment/Post

No documentation available.

StudentGs

APIDescription
GET api/StudentGs/Get?courseId={courseId}

Returns the group sessions for the specified course, that happen in the next 2 weeks, to which the student hasn't subscribed yet.

GET api/StudentGs/Get?gsIds[0]={gsIds[0]}&gsIds[1]={gsIds[1]}

No documentation available.

PUT api/StudentGs/Put

Registers the student for a gs for the specified course

RcAdminExcel

APIDescription
GET api/RcAdminExcel/GetEventConversation?eventId={eventId}&utcOffset={utcOffset}

Returns csv sheet of conversations for the specified event

GET api/RcAdminExcel/GetCompletedSessionsSheet?rcId={rcId}&startTime={startTime}&endTime={endTime}&utcOffset={utcOffset}

Return completed StudySession sheet

GET api/RcAdminExcel/GetUserAdoption?rcId={rcId}&startTime={startTime}&endTime={endTime}&utcOffset={utcOffset}

Return user adoptions

GET api/RcAdminExcel/GetGroupSessions?rcId={rcId}&startTime={startTime}&endTime={endTime}&utcOffset={utcOffset}

No documentation available.

GET api/RcAdminExcel/GetResourceUsageSheet?rcId={rcId}&startTime={startTime}&endTime={endTime}&utcOffset={utcOffset}

Get Resource Usage Sheet

GET api/RcAdminExcel/GetTcUsageSheet?rcId={rcId}&startTime={startTime}&endTime={endTime}&utcOffset={utcOffset}

No documentation available.

GET api/RcAdminExcel/GetEventSummary?rcId={rcId}&startTime={startTime}&endTime={endTime}&lifecycle[0]={lifecycle[0]}&lifecycle[1]={lifecycle[1]}&courseId={courseId}&personId={personId}&locationId={locationId}&resourceId[0]={resourceId[0]}&resourceId[1]={resourceId[1]}&orderType={orderType}&orderAscending={orderAscending}&includeChild={includeChild}&includeLocation={includeLocation}&includeResource={includeResource}&includeCreator={includeCreator}&includeAttendee={includeAttendee}&includeMessage={includeMessage}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}&utcOffset={utcOffset}

No documentation available.

Authentication

APIDescription
GET api/Authentication/GetTcAuthConfig?tcId={tcId}

No documentation available.

GET api/Authentication/GetSamlRedirect?universityId={universityId}&clientType={clientType}

Initial request for SAML2 authentication from the client. It will result in a redirect to the Identity Provider. "clientType" should be: - "1" for mobile clients. - "2" for web clients. - "3" for kiosk client.

POST api/Authentication/PostBasicAuthentication

No documentation available.

POST api/Authentication/PostOAuth2Authentication

No documentation available.

POST api/Authentication/PostTcBasicAuthentication

No documentation available.

POST api/Authentication/PostTcOAuth2Authentication

No documentation available.

POST api/Authentication/PostSamlAuthentication

Initial request for SAML2 authentication from the client. It will result in a redirect to the Identity Provider. "ClientType" should be: - "1" for mobile clients. - "2" for web clients. - "3" for kiosk client.

POST api/Authentication/PostSamlConsumer

Call invoked by the SAML IdP after the user authenticated with them. It contains the user's email and allows us to authenticate him.

POST api/Authentication/PostRegister

Registers a new user

UserAuthentication

APIDescription
GET api/UserAuthentication/GetUniversityAuthenticationConfig?universityId={universityId}

Returns the authentication configuration for the specified university.

GET api/UserAuthentication/GetUniversityAuthenticationConfig?universityName={universityName}

Returns the authentication configuration for the specified university.

StudentTcs

APIDescription
GET api/StudentTcs/Get?courseId={courseId}

Returns the tutoring centers which offer Drop-In or Scheduled Drop-In to the student for the specified course. For each tutoring center, it's specified what resources does it support for the student (i.e. "Walk-In", "Appointments").

RcAdminStudentCourses

APIDescription
PUT api/RcAdminStudentCourses/Put

No documentation available.

DELETE api/RcAdminStudentCourses/Delete?studentId={studentId}&sectionId={sectionId}

No documentation available.

GET api/RcAdminStudentCourses/Get?courseId={courseId}

No documentation available.

GET api/RcAdminStudentCourses/GetCourses?studentId={studentId}

No documentation available.

StudentGsInvitation

APIDescription
GET api/StudentGsInvitation/Get?gsCreatorId={gsCreatorId}

Returns the assignement associated with the specified gsCreator. The assignment's topics are included as well. If the specified gsCreatorId does not exist, or the student is not registered in the assignmnet's section, then a corresponding error message is returned.

STProfile

APIDescription
GET api/STProfile/GetUpdates

No documentation available.

PUT api/STProfile/PutUtcOffset

No documentation available.

PUT api/STProfile/PutLocation

No documentation available.

PUT api/STProfile/PutProfileInformation

No documentation available.

InstructorSections

APIDescription
GET api/InstructorSections/Get

Get sections associated with the instructor for the current (or near future) term

GET api/InstructorSections/Get?personId={personId}

Get sections associated with the instructor for the current (or near future) term

GET api/InstructorSections/Get?termId={termId}&parentOnly={parentOnly}&searchToken={searchToken}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}

Get sections associated with the instructor for the term id specified

GET api/InstructorSections/GetChildren?termId={termId}&sectionId={sectionId}

No documentation available.

PUT api/InstructorSections/PutSectionsToInstructor

Add section association to the instructor caller

DELETE api/InstructorSections/DeleteSectionsToInstructor?PersonId={PersonId}&SectionIds[0]={SectionIds[0]}&SectionIds[1]={SectionIds[1]}

Delete section association to the instructor caller

PUT api/InstructorSections/PutParentSection

Update ParentSectionId to the list of sectionIds. ParentSectionId is used to group sections with the same assignments as one single admnistrative unit within the course. For example, BIO 101 has 2 lectures and 3 recitations each = 8 sections in total, but they all have the same Assignments. By updating the ParentSectionId of all 8 sections with SectionId of 1, all students can have one "Parent Section" to look up ParentSectionId may or maynot be included in Sectionids. Assignments from. * Parent Section can be from different courses due to cross-registration: eg. BIO 101 and ECOL 101 are taught by same professor, have the same assignments etc. If ParentSectionId is from BIOL 101, students of ECOL 101 can use ParentSectionId to look up assignments, but SectionIds should be used for things like enrollment and schedule

PUT api/InstructorSections/PutGenerateParentSection

No documentation available.

PUT api/InstructorSections/PutCopyAssignments

No documentation available.

StudentTutoring

APIDescription
GET api/StudentTutoring/GetChanceOfTutoring?courseId={courseId}&startTime={startTime}&endTime={endTime}&timeRequested={timeRequested}

Returns the likelihood of finding tutoring for a cetain interval.

GET api/StudentTutoring/GetScheduleWithChanceOfTutoring?courseId={courseId}&timeRequested={timeRequested}

Returns a list of intervals (from student's schedule for the next 2 weeks) that can fulfil the request, and the likelihood of finding tutoring during each interval.

GET api/StudentTutoring/GetAvailableTutors?tcId={tcId}&courseId={courseId}&timeRequested={timeRequested}

Returns a list of tutors who are available for DropIn in the specified tutoring center to teach the specified course for the specified time.

GET api/StudentTutoring/GetTcSchedule?tcId={tcId}&courseId={courseId}&timeRequested={timeRequested}&startTime={startTime}&endTime={endTime}

Returns the tc schedule events from the specified tutoring center, longer than the time requested, available to the student, for the specified course, and during a specific range Returns empty array if not found.

EventChange

APIDescription
POST api/EventChange/Post

No documentation available.

GET api/EventChange/Get?eventId={eventId}&includeCreator={includeCreator}

No documentation available.

StudentSections

APIDescription
PUT api/StudentSections/PutSection

No documentation available.

PUT api/StudentSections/PutLevelOfSupport

No documentation available.

DELETE api/StudentSections/DeleteSection?sectionId={sectionId}

No documentation available.

RcAdminReviews

APIDescription
GET api/RcAdminReviews/GetReviewQuestionsForCourse?courseId={courseId}&includeActive={includeActive}&includeInactive={includeInactive}

No documentation available.

GET api/RcAdminReviews/GetStudentStatistics?studentId={studentId}&includePerRqStatistics={includePerRqStatistics}&includePerCourseStatistics={includePerCourseStatistics}

No documentation available.

GET api/RcAdminReviews/GetTutorStatistics?tutorId={tutorId}&includePerRqStatistics={includePerRqStatistics}&includePerCourseStatistics={includePerCourseStatistics}

No documentation available.

InstructorEvent

APIDescription
GET api/InstructorEvent/Get?eventId={eventId}

Returns the event with the specified ID.

GET api/InstructorEvent/Get?studentId={studentId}&startTime={startTime}&endTime={endTime}

Returns all events about the student that happens between the specified time interval. Returns associated sessions info, attendee info (with person info), location info, but NO messages

GET api/InstructorEvent/GetBotEvent?studentId={studentId}

Get the Bot event for student

InstructorSectionSchedule

APIDescription
GET api/InstructorSectionSchedule/Get?sectionId={sectionId}&startTime={startTime}&endTime={endTime}

Returns the list of schedules for the given section that happen between the specified times.

POST api/InstructorSectionSchedule/Post

Creates one or more section schedules.

PUT api/InstructorSectionSchedule/Put

Updates the start time and end time of the section schedule. If updateRecurring is true, recurring schedules that happen after the initial section schedule are updated as well.

DELETE api/InstructorSectionSchedule/Delete?sectionScheduleId={sectionScheduleId}&deleteRecurring={deleteRecurring}

Deletes the section schedule with the specified ID. If deleteRecurring is set to true, all recurring section schedules will be deleted.

Email

APIDescription
GET api/Email/GetValidatePasswordReset?token={token}

If the token is valid, then logs in the requester. Returns error message if the token is invalid or the token has expired

POST api/Email/PostPasswordReset

Sends an email with token to the requested email address confirm identity and intent to reset password. The token expires in 15 minutes. Returns OK regardless of whether a person with the email exists.

PUT api/Email/PutValidateEmail?token={token}

Returns true if the token is a valid emaid token used for validating new user email

PUT api/Email/PutResendValidationEmail

Resents validation email. Does not change the email validation token for the email. If no token is associated with the email, returns 400-BadRequest

RcAdminSections

APIDescription
GET api/RcAdminSections/GetSections?courseId={courseId}

No documentation available.

POST api/RcAdminSections/PostSection

No documentation available.

DELETE api/RcAdminSections/DeleteSection?sectionId={sectionId}

No documentation available.

RcAdminCourses

APIDescription
GET api/RcAdminCourses/GetCourseSuggestions?searchTerm={searchTerm}&nrOfResults={nrOfResults}

Returns top 5 courses from the caller's univesity that match the search term.

DELETE api/RcAdminCourses/DeleteTutorCourse?courseId={courseId}&tutorId={tutorId}

No documentation available.

RcAdminAnalytics

APIDescription
GET api/RcAdminAnalytics/GetRequestLifecycleStatistics?rcId={rcId}&startTime={startTime}&endTime={endTime}

Returns Nr of Requests made, notified tutors, accepted requests, and finished sessoin for a resource center within some time interval

GET api/RcAdminAnalytics/GetAvgRatingsStatistics?rcId={rcId}&startTime={startTime}&endTime={endTime}

Returns avg ratings received by students and tutors at a RC during a specific time interval

GET api/RcAdminAnalytics/GetTimeSpentInSessionsStatistics?rcId={rcId}&startTime={startTime}&endTime={endTime}

Returns the total time spent by students in sessions at the rc during the specified time interval. (grouped by peer tutoring, drop-in, and SI groups)

GET api/RcAdminAnalytics/GetSessionFinalStateStatistics?rcId={rcId}&startTime={startTime}&endTime={endTime}

Return list of nr of deleted sessions, missed sessions, and successful sessions (completed and reviewed) for each resource type in the resource center between the time interval.

GET api/RcAdminAnalytics/GetTutorTcInvolvementStatistics?rcId={rcId}&startTime={startTime}&endTime={endTime}

No documentation available.

GET api/RcAdminAnalytics/GetStudentTutorAvailabiiltyStatistics?rcId={rcId}

No documentation available.

Slack

APIDescription
POST api/Slack/Post

Slack API makes a POST call to StudyTree server whenever a SLACK USER (aka StudyTree team) sends a message to a channel (channel name contains the StudyTree Person who we were trying to message

STDevices

APIDescription
POST api/STDevices/PostDevice

No documentation available.

PUT api/STDevices/PutDeviceForeground

No documentation available.

DELETE api/STDevices/DeleteDevice?deviceToken={deviceToken}

No documentation available.

TutorPeerResponse

APIDescription
PUT api/TutorPeerResponse/Put

If accept is successfull, retruns 200-Ok and the StudySessionDTO object. If reject is successfull, returns 204-NoContent. If the call fails, it returns 400-BadRequest along with the reason of failure.

RcAdminStudents

APIDescription
GET api/RcAdminStudents/GetStudent?studentId={studentId}

No documentation available.

GET api/RcAdminStudents/GetStudent?studentEmail={studentEmail}

No documentation available.

GET api/RcAdminStudents/GetStudentSessions?studentId={studentId}&rcId={rcId}&fromDate={fromDate}&toDate={toDate}

No documentation available.

GET api/RcAdminStudents/GetStudentReviews?studentId={studentId}

Returns the list of reviews for the specified student.

GET api/RcAdminStudents/GetStudents?pageNumber={pageNumber}&pageSize={pageSize}

Get all students from the user's university, paginated and in alphabetical order by Last name

GET api/RcAdminStudents/GetStudentSearchSuggestions?searchToken={searchToken}&pageNumber={pageNumber}&pageSize={pageSize}

Search students from the user's university by seach keywords.

ItUser

APIDescription
POST api/ItUser/Validate

Returns 200-OK if the upload format is valid. Used by IT User for testing purposes. Only checks for valid request format. Invalid data content is not checked. Returns 400-BadRequest with error message if request is invalid

POST api/ItUser/Upload

Returns 200-ok if successuflly parses IT user supplied file and save info to database. Returns 415-unsupported media file if file type is unsupported. The supported file type is MIME multipart content

TutorEvent

APIDescription
GET api/TutorEvent/GetTcSchedule?tcId={tcId}&startTime={startTime}&endTime={endTime}

Returns the tutor's schedule in the specified tutoring center, that intersects with the specified interval.

GET api/TutorEvent/GetMissed?startTime={startTime}&endTime={endTime}

Returns list of missed sessions that happened between the specified time period

PUT api/TutorEvent/PutCancelled

Mark an event as cancelled (~ deleted in DB) with a reason for why the event was cancelled (~ "blame" student feature). This creates a DeletedEvent object associated with the event if reason is provided

PUT api/TutorEvent/PutCompleted

Mark an event as completed. Use this when the event was set to MISSED by accident because the event timer was not started.

StudentDropInTutorRequest

APIDescription
POST api/StudentDropInTutorRequest/Post

Creates a student request. If tutor uses a mobile device (usually), notifies the tutor and returns 200-Ok along with the StudentRequestDTO object. If tutor is stationary, creates a session and retuns 201-Created along with the SessionDTO object. If the call fails, it returns an 400-BadRequest along with the reason of failure.

AdminAvailability

APIDescription
PUT api/AdminAvailability/PutGeneratePersonAvailability

Generate the person's availability between start time and end time If availability already exists, then it recreates the availability.

PUT api/AdminAvailability/PutGenerateAvailability

No documentation available.

PUT api/AdminAvailability/PutComputeCommonAvailability

Returns a list of 10 most common availabilities for the specified people, between the specified start and end times. Each availability has associated the number of people that are available during that time as well. Each availabilty will be of minimum one hour. A PUT call is used instead of GET, in order to make it easier to specify the parameters from postman.

UniversityAdminTerm

APIDescription
POST api/UniversityAdminTerm/PostTerm

Create new term object for the university admin's university TDOO: add SisId logic

PUT api/UniversityAdminTerm/PutTerm

Update the name, startTime, and endTime of an existing term

DELETE api/UniversityAdminTerm/DeleteTerm?termId={termId}

Removes Term that the user has access to

WebLog

APIDescription
POST api/WebLog/Post

Creates a new WebLog object and saves it to the database.

RcAdminSs

APIDescription
POST api/RcAdminSs/Post

Creates new study session(s) with the specified details. As Admin level call, this does not validate whether the courses are able to teach (resource availability) / tutor's time available (TC schedule) If latestEndTime is not null, a recurring session is created weekly until that time.

PUT api/RcAdminSs/Put

No documentation available.

DELETE api/RcAdminSs/Delete?eventId={eventId}&deleteRecurring={deleteRecurring}

Delete specified study session(s) with the specified details and specifiy if the future recurring sessions should be deleted.

RcAdminStatistics

APIDescription
GET api/RcAdminStatistics/GetEventCounts?rcId={rcId}&startTime={startTime}&endTime={endTime}&intervalLength={intervalLength}&courseId={courseId}&personId={personId}&resourceIds[0]={resourceIds[0]}&resourceIds[1]={resourceIds[1]}

Groups events (that happen in the specified resource center between the specified start and end times) by resource ID and by intervals of the specified length. Returns the count of each group.

ActionItems

APIDescription
GET api/ActionItems/Get

No documentation available.

StudentSr

APIDescription
POST api/StudentSr/Post

Saves the student's self reflection in regards to the topics in the specified assignment.

StudentCourses

APIDescription
GET api/StudentCourses/GetCourses

Return all the courses the student is enrolled in for current term. If the current time is between two academic term (i.e. holiday break), returns the next future term

GET api/StudentCourses/GetCourses?tcId={tcId}

Returns the subset of student's courses, which are available in the specified tutoring center.

AdminStMap

APIDescription
GET api/AdminStMap/Get?key={key}

Returns App URL from StudyTree dictionary with the requested key as Key-URL pair

PUT api/AdminStMap/Put

Create or Updates existing key-value pair with new value

DELETE api/AdminStMap/Delete?key={key}

Deletes the kvp with the specified key.

RcAdminTcSchedules

APIDescription
GET api/RcAdminTcSchedules/GetCount?rcId={rcId}&tcId={tcId}&startTime={startTime}&endTime={endTime}&courseId={courseId}&personId={personId}&sessionAttendeeId={sessionAttendeeId}

Return tc schedules attendee counts

GET api/RcAdminTcSchedules/Get?rcId={rcId}&tcId={tcId}&startTime={startTime}&endTime={endTime}&lifecycle[0]={lifecycle[0]}&lifecycle[1]={lifecycle[1]}&courseId={courseId}&personId={personId}&sessionAttendeeId={sessionAttendeeId}&orderType={orderType}&orderAscending={orderAscending}&includeChild={includeChild}&includeLocation={includeLocation}&includeResource={includeResource}&includeCreator={includeCreator}&includeAttendee={includeAttendee}&includeMessage={includeMessage}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}

Returns the list of tc schedules from the specified tutoring center, that happen between the provided times and that fit the criteria.

GET api/RcAdminTcSchedules/GetEvents?rcId={rcId}&tcId={tcId}&tcScheduleId={tcScheduleId}&lifecycle[0]={lifecycle[0]}&lifecycle[1]={lifecycle[1]}&resourceId[0]={resourceId[0]}&resourceId[1]={resourceId[1]}&orderType={orderType}&orderAscending={orderAscending}&includeChild={includeChild}&includeLocation={includeLocation}&includeResource={includeResource}&includeCreator={includeCreator}&includeAttendee={includeAttendee}&includeMessage={includeMessage}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}

Returns the list of events that are associated with the specified TcSchedule. Currently only returns study session that happened during Tcschedule time intervals, same location, and matching TcSchedule's provider as Ss attendee. This call is equivalent to RcAdminEvent/Get with startTime and endTime as TcSchedule's event times, locationId = tcId

POST api/RcAdminTcSchedules/Post

Creates one or more tutoring center schedules.

PUT api/RcAdminTcSchedules/PutMax

No documentation available.

PUT api/RcAdminTcSchedules/Put

Updates the start time and end time of the specified tutoring center schedule event. If updateRecurring is true, recurring events that happens after the initial event are updated as well.

DELETE api/RcAdminTcSchedules/Delete?rcId={rcId}&tcId={tcId}&tcScheduleIds={tcScheduleIds}&deleteRecurring={deleteRecurring}&deletePast={deletePast}&deleteSs={deleteSs}

Deletes the tc schedule event with the specified ID. If deleteRecurring is set to true, all recurring events will be deleted.

Person

APIDescription
GET api/Person/GetBasicInformation

Create response in serialized json object from Person instance values. 200-ok if the current user is in the database. 401-unauthorized if the current user is not in the database.

GET api/Person/GetRoles

Returns the list of roles that the caller has.

POST api/Person/PostEmail

Sends an email to support@studytreeapp.com

POST api/Person/PostLogout

Log out

PUT api/Person/PutPassword

Updates the password

RcAdminTutors

APIDescription
GET api/RcAdminTutors/GetTutor?tutorId={tutorId}&includeCourses={includeCourses}&includeReviews={includeReviews}

No documentation available.

GET api/RcAdminTutors/GetTutor?tutorEmail={tutorEmail}&includeCourses={includeCourses}&includeReviews={includeReviews}

No documentation available.

GET api/RcAdminTutors/GetTutors?rcId={rcId}

No documentation available.

GET api/RcAdminTutors/GetTopTutors?rcId={rcId}&fromDate={fromDate}&toDate={toDate}

Returns top 10 tutors in the university (ordered descending by review average)

GET api/RcAdminTutors/GetTutorCourses?tutorId={tutorId}

No documentation available.

GET api/RcAdminTutors/GetTutorReviews?tutorId={tutorId}

Returns the list of reviews received by the specified tutor.

GET api/RcAdminTutors/GetTutorSearchSuggestions?rcId={rcId}&searchToken={searchToken}&pageNumber={pageNumber}&pageSize={pageSize}

No documentation available.

PUT api/RcAdminTutors/PutTutor

No documentation available.

PUT api/RcAdminTutors/PutCoursesToTutor

No documentation available.

DELETE api/RcAdminTutors/DeleteTutor?tutorId={tutorId}

No documentation available.

DELETE api/RcAdminTutors/DeleteTutorCourse?tutorId={tutorId}&courseId={courseId}

No documentation available.

RcAdminInvitation

APIDescription
GET api/RcAdminInvitation/GetTutorInvitations?rcId={rcId}

Returns all the user invitations at this resource center.

POST api/RcAdminInvitation/PostPersonInvitation

Creates new invitation and send an email to the invited person. Upon registration, the person will receive the role specified in the invitation. If the person with the email was already invited, then returns an error.

DELETE api/RcAdminInvitation/DeleteTutorInvitation?invitationId={invitationId}

Deletes an invitation by id.

RcAdminResources

APIDescription
GET api/RcAdminResources/Get?rcId={rcId}&resourceId[0]={resourceId[0]}&resourceId[1]={resourceId[1]}

Returns the list of resources based filter

GET api/RcAdminResources/GetStudentStudyResources?rcId={rcId}

Returns the list of study session resources for the resource center

RcAdminRcs

APIDescription
GET api/RcAdminRcs/GetResourceCenter?rcId={rcId}

No documentation available.

GET api/RcAdminRcs/GetResourceCenters

No documentation available.

PUT api/RcAdminRcs/Put

No documentation available.

AdminSurveyQuestion

APIDescription
GET api/AdminSurveyQuestion/Get?questionId={questionId}

Get engagement type info for the requested type id with choices

POST api/AdminSurveyQuestion/Post

Creates a new SurveyQuestion question AND creates the associated SurveyQuestionChoices.

PUT api/AdminSurveyQuestion/Put

Updates SurveyQuestion name

PersonImages

APIDescription
POST api/PersonImages/Post

No documentation available.

RcAdminRq

APIDescription
GET api/RcAdminRq/Get?rqId={rqId}

Returns the rq with the specified id. Course info (both active and inactive) is also included.

GET api/RcAdminRq/Get

Returns all review questions linked to this university. Each review question contains course info (both active and inactive).

GET api/RcAdminRq/GetStatistics

Returns a list with statistics about each review question at the university. Each rq has information about nr of student/tutor reviews, average student/tutor reviews. For each rq, the data is available grouped by course. For each course, the data is available grouped by person.

POST api/RcAdminRq/Post

Creates a new review question and links it to the specified courses.

PUT api/RcAdminRq/Put

Updates a review question information.

PUT api/RcAdminRq/PutRqToCourse

Links a review question to a course if none exists, or updates it otherwise.

DELETE api/RcAdminRq/Delete?rqId={rqId}

Deletes the review question with the specified id.

DELETE api/RcAdminRq/DeleteRqFromCourse?rqId={rqId}&courseId={courseId}

Removes the link between the specified review question and the specified course.

AdminPerson

APIDescription
PUT api/AdminPerson/PutDefaultPicture

Generates a default profile picture for the specified person.

PersonEvent

APIDescription
GET api/PersonEvent/Get?eventId={eventId}

Returns the event with the specified ID. The caller must be an attendee in the event in order to access it.

GET api/PersonEvent/Get?evIds[0]={evIds[0]}&evIds[1]={evIds[1]}

No documentation available.

GET api/PersonEvent/Get?startTime={startTime}&endTime={endTime}

Returns all a list with all the events that starts during the specified time interval, and which the person is supposed to attend. Returns associated sessions info, attendee info (with person info), location info, but NO messages

GET api/PersonEvent/GetEventsToReview

Returns the list of Events that the caller needs to review.

PUT api/PersonEvent/PutEnd

Ends the specified event and then notifies all other attendees. Currently, only study session events can be ended.

DELETE api/PersonEvent/Delete?eventId={eventId}&reason={reason}&deleteRecurring={deleteRecurring}&isNoShow={isNoShow}

As a student attendee of the specified future event, delete the event (removes oneself as an attendee). If deleting all recurring events, set deleteRecurring as true. Non-empty reason is required - Availability: Deletes availability - Study Session: Since StudySesison is 1:1, removing oneself from attendee list cancels the event. - Group Session: Removes oneself as attendee - aka "unsubscribe" or "unenroll" from group session. This does not cancel the event. - Other resources: Not supported

DELETE api/PersonEvent/Delete?eventId={eventId}&reason={reason}

No documentation available.

ItUserCourse

APIDescription
GET api/ItUserCourse/Get

Get all courses for this ItUser

POST api/ItUserCourse/Post

Create a new course for the ItUser's university

PUT api/ItUserCourse/Put

Update course with Name and optional sisId

DELETE api/ItUserCourse/Delete?courseId={courseId}

Remove the course from the university

AdminElts

APIDescription
GET api/AdminElts/Get

Returns all external learning tools.

POST api/AdminElts/Post

Add a new external learning tool.

DELETE api/AdminElts/Delete?eltId={eltId}

Delete an external learning tool.

UniversityAdmin

APIDescription
GET api/UniversityAdmin/GetUniversityAdmin

No documentation available.

GET api/UniversityAdmin/GetAllUsers

For a given university, returns 3 lists: one of UniversityAdmins, one of RcAdmins and one of ItUsers.

POST api/UniversityAdmin/PostUniversityAdmin

Creates a new user, and assigns it the UniversityAdmin role.

PUT api/UniversityAdmin/PutUniversityAdmin

Adds the UniversityAdmin role to an existing user.

POST api/UniversityAdmin/PostItUser

No documentation available.

PUT api/UniversityAdmin/PutItUser

No documentation available.

POST api/UniversityAdmin/PostRcAdmin

Creates a new user and assigns it the ResourceCenterAdmin role.

PUT api/UniversityAdmin/PutRcAdmin

No documentation available.

DELETE api/UniversityAdmin/DeleteRcAdmin?rcAdminId={rcAdminId}

Deletes the role of RcAdmin from a person

Category

APIDescription
GET api/Category/Get?personId={personId}

No documentation available.

TutorCourses

APIDescription
GET api/TutorCourses/GetCourses

No documentation available.

StudentSurveyQuestion

APIDescription
GET api/StudentSurveyQuestion/Get?questionId={questionId}

Get engagement type info for the requested type id with choices

UwIntegration

APIDescription
POST api/UwIntegration/PostTerm?termId={termId}&canvasEnrollmentTermId={canvasEnrollmentTermId}&year={year}&quarter={quarter}

Create LmsTerm for the UW term that is being integrated

POST api/UwIntegration/PostCourseSections?termId={termId}&campusId={campusId}&year={year}&quarter={quarter}

Create Course Sections (both StudyTree Course and Section objects and Canvas Course and Canvas Sections for the specified UW term

POST api/UwIntegration/PostEnrollment?termId={termId}&campusId={campusId}&year={year}&quarter={quarter}

Create StudentEnrollment (StudentSections) for the specified UW term

POST api/UwIntegration/PostSectionSchedules?termId={termId}&campusId={campusId}&utcOffset={utcOffset}&minSectionId={minSectionId}&maxSectionId={maxSectionId}

Creates SectionSchedule and associated events for the for the specified UW term with the default utcOffset (please be aware of summer time)

StudentRequests

APIDescription
GET api/StudentRequests/Get

No documentation available.

DELETE api/StudentRequests/Delete?RequestId={RequestId}&Reason={Reason}

No documentation available.

UniversityAdminAnalytics

APIDescription
GET api/UniversityAdminAnalytics/GetRequestLifecycleStatistics?startTime={startTime}&endTime={endTime}

Returns Nr of Requests made, notified tutors, accepted requests, and finished sessoin for a resource center within some time interval. Returns a JSON RequestLifeCycleStatistics, aggregate statistics for all resource center

GET api/UniversityAdminAnalytics/GetAvgRatingsStatistics?rcId={rcId}&startTime={startTime}&endTime={endTime}

Returns avg ratings received by students at a RC during a specific time interval Returns a JSON list of RcAvgRatingsStatistics, for each resource center

GET api/UniversityAdminAnalytics/GetTimeSpentInSessionsStatistics?startTime={startTime}&endTime={endTime}

Returns the total time spent by students in sessions at the university during the specified time interval. (grouped by peer tutoring, drop-in, and SI groups)

GET api/UniversityAdminAnalytics/GetSessionFinalStateStatistics?startTime={startTime}&endTime={endTime}

Return list of nr of deleted sessions, missed sessions, and successful sessions (completed and reviewed) for each resource type in the resource center between the scheduled event time interval

GET api/UniversityAdminAnalytics/GetTutorTcsInvolvementStatistics?startTime={startTime}&endTime={endTime}

No documentation available.

GET api/UniversityAdminAnalytics/GetStudentTutorAvailabiiltyStatistics

No documentation available.

AdminUniversities

APIDescription
GET api/AdminUniversities/GetUniversities

No documentation available.

POST api/AdminUniversities/PostUniversity

No documentation available.

POST api/AdminUniversities/PostOAuth2Config

No documentation available.

DELETE api/AdminUniversities/DeleteUniversity?universityId={universityId}

No documentation available.

StudentNotifications

APIDescription
GET api/StudentNotifications/GetNotifications

No documentation available.

StudentSurveyQuestionResponse

APIDescription
GET api/StudentSurveyQuestionResponse/Get?questionId={questionId}

Get the current (last created) engagement level value for the requested survey question Id

POST api/StudentSurveyQuestionResponse/Post

Create answer to Survey question

STBadges

APIDescription
GET api/STBadges/GetPersonBadge

No documentation available.

RcAdminProviders

APIDescription
GET api/RcAdminProviders/Get?rcId={rcId}&termId={termId}&providerId={providerId}&includeCourses={includeCourses}&includeReviews={includeReviews}

Return providers with matching filters. Ordered by last name A-Z

GET api/RcAdminProviders/Get?rcId={rcId}&termId={termId}&searchToken={searchToken}&courseIds[0]={courseIds[0]}&courseIds[1]={courseIds[1]}&includeCourses={includeCourses}&includeReviews={includeReviews}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}

Return providers with matching filters. Ordered by last name A-Z

GET api/RcAdminProviders/GetProviders?rcId={rcId}&includeCourses={includeCourses}&includeReviews={includeReviews}&searchToken={searchToken}&courseIds[0]={courseIds[0]}&courseIds[1]={courseIds[1]}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}

Deprecated. Use RcAdminProviders/Get. Return providers with detailed information with the specified role. Sorted by last name A-Z.

GET api/RcAdminProviders/GetProviderCourses?rcId={rcId}&termId={termId}&providerId={providerId}&courseId[0]={courseId[0]}&courseId[1]={courseId[1]}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}

Get courses offered by the provider

StudentEvents

APIDescription
GET api/StudentEvents/GetBotEvent

Get LEON AI Conversation Event for the current term for the user

GET api/StudentEvents/GetBotEvent?personId={personId}

Get LEON AI Conversation Event for the current term for the user

AppVersion

APIDescription
GET api/AppVersion/Get

No documentation available.

UniversityAdminConfig

APIDescription
GET api/UniversityAdminConfig/GetUniversityConfiguration

No documentation available.

PUT api/UniversityAdminConfig/PutUniversityConfiguration

No documentation available.

RcAdmin

APIDescription
GET api/RcAdmin/GetPeople?searchToken={searchToken}&nrOfResults={nrOfResults}

Returns the first "nrOfResults" people ordered by LastName, whose firstname, lastname or email start with the provided "searchToken".

GET api/RcAdmin/GetRcAdmin

No documentation available.

POST api/RcAdmin/PostInstructor

No documentation available.

PUT api/RcAdmin/PutInstructor

No documentation available.

DELETE api/RcAdmin/Delete?personId={personId}

No documentation available.

RcAdminGs

APIDescription
GET api/RcAdminGs/Get?rcId={rcId}&gsId={gsId}

Returns a the Gs with the specified ID.

GET api/RcAdminGs/GetForRc?rcId={rcId}&startTime={startTime}&endTime={endTime}

Returns all group sessions (all lifecyle stage) that happend during the specified interval and that are linked to the specified resource center.

GET api/RcAdminGs/GetForCourse?rcId={rcId}&courseId={courseId}&startTime={startTime}&endTime={endTime}

Returns all group sessions that happend during the specified interval and that are linked to the specified course.

POST api/RcAdminGs/Post

Creates new group session(s) with the specified details. If latestEndTime is not null, a recurring session is created weekly until that time.

PUT api/RcAdminGs/Put

Update all details about group session(s), except the attendee detail

DELETE api/RcAdminGs/Delete?rcId={rcId}&eventId={eventId}&deleteRecurring={deleteRecurring}

Deletes the Gs with the specified eventId. If deleteRecurring is set to true, all recurring sessions will be deleted.

Tutor

APIDescription
GET api/Tutor/GetTutorRequests

Returns tutor request json list wih 200-ok.

GET api/Tutor/GetResources

Get resources available to the tutor to offer at the tutor's resource center. Returns ResourceDto list with 200-ok

StudentElt

APIDescription
PUT api/StudentElt/PutEltReview

Creates/updates the EltReview from the specified person to the specified tool.

PUT api/StudentElt/PutEltUsage

Updates the last usage time of the EltReview from the specified person to the specified tool. If the EltReview does not exist, it is created.

University

APIDescription
GET api/University/GetTestLogMessage

No documentation available.

GET api/University/GetUniversityList

No documentation available.

GET api/University/GetUniversityList?latitude={latitude}&longitude={longitude}

No documentation available.

GET api/University/Get?universityId={universityId}

No documentation available.

AdminGs

APIDescription
PUT api/AdminGs/PutInvitations

Messages all students from the provided section (through Leon) and invites to participate in the provided group sessions.

POST api/AdminGs/Post

Creates new group session(s) with the specified details. If latestEndTime is not null, a recurring session is created weekly until that time.

RcAdminRas

APIDescription
GET api/RcAdminRas/Get?rcId={rcId}&studentId={studentId}&courseId={courseId}&campusId={campusId}&tcId={tcId}&resourceId[0]={resourceId[0]}&resourceId[1]={resourceId[1]}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}

Returns all resource availailities for the specified resource center. Default ordering of ResourceId

PUT api/RcAdminRas/Put

Creates resource availabilities specified by the input parameters.

PUT api/RcAdminRas/PutDelete

Deletes resource availabilities specified by the input parameters.

DELETE api/RcAdminRas/Delete?raId={raId}

Deletes a resource availability by id.

UniversityAdminCampuses

APIDescription
POST api/UniversityAdminCampuses/Post

Creates a new campus with the specified name in the UniversityAdmin's university. If a campus with this name already exists, 400 Bad Request is returned, along with an error message.

DELETE api/UniversityAdminCampuses/Delete?campusId={campusId}

Deletes a campus by id, if it is located in the UniversityAdmin's university.

SlackInteractiveButton

APIDescription
POST api/SlackInteractiveButton/Post

Slack API makes a POST call to StudyTree server whenever a SLACK USER (aka StudyTree team) presses an interactive button (currently the message posted by Dialogflow) with a payload containing channel name, the button message timestamp, and other info. If button click was "accept", update Slack platform to show that LEON bot responded to the user (student) with the message that the payload contained This call does not post to StudyTree messages table. The same message is posted to StudyTree.Messages table via SlackController/Post

StudentAssignments

APIDescription
GET api/StudentAssignments/Get?startTime={startTime}&endTime={endTime}

Returns assignments with course info (no topic) for student that start between the time interval (includes due time by constraint) Returns empty list of no assignments. Returns assignment where (assignment.StartTime, assignmentDueTime) intersects with (startTime, endTime).

GET api/StudentAssignments/Get?assignmentId={assignmentId}

Returns the assignement with the specified ID. The assignment's topics are included as well. If the specified assignment does not exist, or the student is not registered in the assignmnet's section, then a corresponding error message is returned.

STNotifications

APIDescription
PUT api/STNotifications/PutReadNotification

No documentation available.

PUT api/STNotifications/PutPingNotification

Sends a ping notification to the caller.

DELETE api/STNotifications/DeleteNotification?notificationId={notificationId}

No documentation available.

StudentBadges

APIDescription
GET api/StudentBadges/GetStudentNotificationsBadge

No documentation available.

GET api/StudentBadges/GetStudentSessionBadge?studySessionId={studySessionId}

No documentation available.

GET api/StudentBadges/GetStudentSessionsBadge

No documentation available.

GET api/StudentBadges/GetStudentBadge

No documentation available.

UniversityAdminElts

APIDescription
GET api/UniversityAdminElts/Get?eltId={eltId}

Returns detailed information about the specified external learning tool in the context of the UniversityUser's university.

GET api/UniversityAdminElts/GetElts

Get external learning tools available at the University Admin's university.

GET api/UniversityAdminElts/GetUnusedElts

Get external learning tools which are not used yet at the University Admin's university.

PUT api/UniversityAdminElts/PutElt

Add an external learning tool to the UniversityAdmin's university.

DELETE api/UniversityAdminElts/Delete?eltId={eltId}

Remove the external learning tool from the UniversityAdmin's university.

PersonReviews

APIDescription
GET api/PersonReviews/GetReviewQuestions?eventId={eventId}

Returns the review questions that the caller needs to answer after the specified event was completed. The review questions depend on the event type and the caller's role. As of May 19th 2017, rq are applicable only for study sessions.

POST api/PersonReviews/Post

Creates reviews for the specified reviwee. If the reviewee is a student/tutor, his average review is updated. If the event is a study session, Student/Tutor rank is updated and the type code is increased if necessary.

StudentSurvey

APIDescription
GET api/StudentSurvey/Get

Retruns a list of all available surveys. Only top level information about each survey is included (the SurveyQuestions list will be empty). For each survey, it's specified wheather the student already took it or not.

GET api/StudentSurvey/Get?surveyId={surveyId}

Retruns detailed infomration about a survey (including the SurveyQuestion list). For each SurveyQuestion, the user's answer (if it exists) is returned as well.

ItUserUsers

APIDescription
GET api/ItUserUsers/Get

For a given university, returns a list of each user type (SiLeaders, Instrcutors, ItUsers, RcAdmins, UniversityAdmins). Students and Tutors are not included, since the list would be too big. They can be accessed though a different call in a paginated manner.

PersonUniversity

APIDescription
GET api/PersonUniversity/GetUniversity

Returns 200-ok response with JSON object of University instance (instance can be null).

GET api/PersonUniversity/GetUniversity?abbreviation={abbreviation}

Returns the university dto object that corresponds to the specified university abbreviation. If the abbreviation does not exist, 404 NotFound is returned. If the client's isn't from the requested university, 401 Unauthorized is returned.

GET api/PersonUniversity/GetTutoringCenter?tcToken={tcToken}

No documentation available.

GET api/PersonUniversity/GetTutoringCenters

Returns 200-ok and a JSON array of tutoring centers for that university.

GET api/PersonUniversity/GetCampuses

Returns 200-ok with JSON array of campuses associated with the university that the user has.

StudentDropInAutomatchRequest

APIDescription
POST api/StudentDropInAutomatchRequest/Post

Creates a student request. Notifies tutors and returns 200-Ok along with the request DTO. If the call fails, it returns 400-BadRequest along with the reason of failure.

UniversityAdminPeople

APIDescription
GET api/UniversityAdminPeople/Get?personId={personId}&status={status}

Returns the person with the specified ID.

GET api/UniversityAdminPeople/Get?searchToken={searchToken}&roles[0]={roles[0]}&roles[1]={roles[1]}&itemsPerPage={itemsPerPage}&pageNumber={pageNumber}&status={status}

Return people with the specified role. Sorted by last name A-Z.

PUT api/UniversityAdminPeople/PutStudent

Put person as a student. Person must be active

PUT api/UniversityAdminPeople/PutTutor

Put person as tutor. Ignores CourseIds in the Put object. Person must be active.

PUT api/UniversityAdminPeople/PutRcAdmin

Put person as RcAdmin with the specified rcIds. Person must be active

PUT api/UniversityAdminPeople/PutUniversityAdmin

Put person UnivesityAdmin (and implicitly RcAdmin for all the resource centers in the university). Person must be active

PUT api/UniversityAdminPeople/PutItUser

Put person as IT User. Person must be active

PUT api/UniversityAdminPeople/PutStatus?personId={personId}&status={status}

Updates a user's status

DELETE api/UniversityAdminPeople/DeleteRoles?personId={personId}&roles[0]={roles[0]}&roles[1]={roles[1]}

Deletes a user's role(s). Person must be active

DELETE api/UniversityAdminPeople/Delete?personId={personId}

Deletes a user from StudyTree (sets as inactive user). Person must be active.

Lti

APIDescription
POST api/Lti/PostTest

No documentation available.

AdminGsCreator

APIDescription
GET api/AdminGsCreator/Get

Retruns all existing GsCreators.

POST api/AdminGsCreator/Post

Creates a GroupSessionCreator object, which will: - Ask all the students from the assignment's course to self-reflect on the topics from the assignment. This process will take 2 days. - Cluster students depending on their self-reflection. - Create a study group for each cluster and choose an optimal time.

DELETE api/AdminGsCreator/Delete?gsCreatorId={gsCreatorId}

Deletes the GsCreator with the specified id.

RcAdminSiLeaders

APIDescription
GET api/RcAdminSiLeaders/GetSiLeaders

No documentation available.

POST api/RcAdminSiLeaders/PostSiLeader

No documentation available.

DELETE api/RcAdminSiLeaders/DeleteSiLeader?siLeaderId={siLeaderId}

No documentation available.