Stellic for Developers (1.0)

Download OpenAPI specification:Download

Stellic provides next generation degree management tools to align your entire campus - students, advisors, administrators and leaders - towards on-time graduation and career success. Stellic is on a mission to help institutions ensure all students get the most value out of their increasingly diverse academic journeys with next generation tools that meet the needs of today's students and campus leaders.

Apart from offering ready-to-use SaaS solutions to our partners, Stellic provides an ecosystem for developers to programmatically access Stellic resources. A major portion of this initiative is to help partners with their periodic, as well as real-time data sync and integration mechanisms.

Data for each element in Stellic is synced at regular intervals through batch updates (feeds or API pulls). However, for some data elements, Stellic recommends more real-time updates through event driven API calls that push data into Stellic.

As an enterprise platform, Stellic understands that the needs for each partner institution may not be identical and is willing to assist our partners is designing an integration workflow that best suits the institutions needs and technologies.

API Documentation

This section aims to provide a general overview of Stellic resources, with a functional guideline around accessing them via RESTful APIs. The documentation also provides notes around authentication of API access along with a list of potential errors that could occur during runtime.

This document is designed to be used in conjunction with the Master Integration Document that is provided and customized based on your institution's needs. It is not intended as a replacement. An effective integration strategy involves a combination of periodic syncs (discussed in the Integration Document) and real-time integrations (this guide).

Overview

The Stellic API is a RESTful interface that enables partners to retrieve and publish data for integration purposes. It provides protected endpoints for programmatic access to Stellic resources and also allows partners to post periodic, as well as real-time data to Stellic servers. These APIs work in conjunction with other data integration mechanisms to provide a more updated and real-time experience to Stellic end users.

The Stellic APIs accept and return JSON content types as API requests and responses respectively. Our APIs support UTF-8 character encoding in requests and responses.

All the APIs follow a common base URL:

https://{institution}.stellic.com/partnerapi/v1

So for example, the URL for Create new Section:

/catalog/section/{id}

would be:

https://{institution}.stellic.com/partnerapi/v1/catalog/section/{id}

Pagination

For accessing the resources that deal with large volumes of data, Stellic uses pagination to avoid request timeout and to optimize internal loads and network performance. This ensures a better user experience and establishes a trustful relationship between Stellic and its partners.

Authentication

Stellic allows protected access to its API resources from the institution's applications. It uses a Personal Access Token (PAT) that can be requested from Stellic's integration team to make API requests from applications.

Personal Access Token

Personal Access Token (PAT) is one of the industry-standard protocols for accessing third-party APIs and integrating them into your applications. As a consumer of Stellic APIs, you must provide a description with scopes to request a unique PAT for your use case.

Once requested, a Personal Access Token must be passed in the Authorization header to validate your requests as follows.

Authorization: Bearer <token>

It is advised that you should regularly revisit the list of tokens you requested from Stellic admins, and request for their deactivation once you no longer need them.

The allotted tokens should remain confidential among the concerned team members. They are your digital gateways for communication with Stellic resources and you are expected to take all security precautions on your behalf.

Note - Do not hardcode the PATs in your application's code directly to avoid security concerns. Instead, save them in your environment variables for secure usage.

Authentication Quick Start

Just like how you enter your username and password to log into Stellic from the web, you need to authenticate your requests when consuming the API endpoints.

In your application, if you want to write a script that interacts with the Stellic APIs, you should request an API Personal Access Token (PAT) from the Stellic integration team by providing the following necessary information.

  • Name of the Partner
  • Contact Person Username/Employee ID
  • Contact Person Name
  • Contact Person Email
  • Contact Person Number
  • List of Scopes (plan, course, audit, program, ...) and/or description of use-case
  • IP Addresses that need to be whitelisted for accessing the APIs (VPN, test, production, etc.)

Response Codes

Stellic uses standard HTTP response codes to inform the developer about the status of their request. In the case of a non 2xx response code, these response codes and accompanying error messages can help you identify any issues. There may be a number of reasons for a non 2xx response code including, but not limited to, authentication issues, invalid request payloads, or rate limiting issues.

The following is a list of supported response codes and messages.

Code Definition Description
200 Success Request was successfully processed.
201 Created Creation request was successful.
400 Bad Request Missing or distorted parameter. Retry after checking the API documentation.
401 Unauthorized API token was not provided or the provided API token was incorrect.
403 Forbidden The provided API token does not have the necessary priveleges to perform this action.
404 Not Found Requested resource was not found.
429 Too Many Requests The API rate limit was reached.
500 Internal Server Error There was a problem on Stellic's end while processing your request.

Program Enrollments

Create a student program enrollment record of a student

path Parameters
username
required
string

Unique student identifier

program_id
required
string

Unique program identifier

Request Body schema: application/json
concentration_ids
required
Array of strings

unique concentration identifier

certification_status
required
boolean

Boolean flag that indicates the completion status for this program record for the student. Equivalent to “graduated” for this program.

certification_date
required
string <date>

Certification date in YYYY-MM-DD format

order
required
integer

The order in which program requirements are displayed and processed in the audit for this student.

catalog_term
required
string

Term ID which section enrollment belongs to

Responses

Request samples

Content type
application/json
{
  • "concentration_ids": [
    ],
  • "certification_status": true,
  • "certification_date": "2019-08-24",
  • "order": 0,
  • "catalog_term": "string"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    },
  • "errors": [
    ]
}

Course Enrollments

Update all Student Course Enrollment Records for a particular term

Updates the student course enrollments of a student for a particular term. Stellic expects to receive all enrollments of the student, any enrollment not in the request would be deleted from Stellic.

path Parameters
username
required
integer

Unique Student identifier

term_id
required
integer

Unique term identifier

Request Body schema: application/json
Array
course
required
string

Unique course code of the course

campus
string

The campus/teaching location at which this course was taken.

grade_scheme
string

The grading scheme under which the student received a grade for this course.

grade_option
string

The grading option under which the student received a grade for this course.

is_transfer
boolean

Boolean specifying whether this course was transferred in. Defaults to False.

transfer_course_meta
string

Any metadata to be displayed with transfer courses.

sections
Array of strings

List of unique section identifiers.

course_topic
string

Course topic id if the student has enrolled in a particular topic of the course. The topic must also exist in the course topic field.

attributes
Array of strings

List of attributes or tags that can be used in search or in the degree requirements

registration_status
string

Registration status for the course, Examples: waitlisted, pre-registered, etc

repeat_code
string

Identifier for any repeat code associated for this course.

final_grade
string

Final grade letter that the student received in the course.

mid_semester_grade
string

Mid semester grade letter that the student received in the course.

units
integer

Units/credits that the student received.

enrollment_level
string

Enrollment level identifier for the course, Examples: UGRD, GRAD, etc

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "errors": [
    ]
}

Section Enrollment

Create a new section enrollment record of a student

Create new section enrollment of a student, Stellic will infer consolidated course enrollment information from the section enrollment.

path Parameters
id
required
string

Unique section enrollment identifier

Request Body schema: application/json
Array
student_username
required
string

Unique identifier for a student

course
required
string

Unique course code of the course

campus
string

The campus/teaching location at which this course was taken.

grade_scheme
string

The grading scheme under which the student received a grade for this course.

grade_option
string

The grading option under which the student received a grade for this course.

is_transfer
boolean

Boolean specifying whether this course was transferred in. Defaults to False.

transfer_course_meta
string

Any metadata to be displayed with transfer courses.

section
required
string

Unique section identifier.

is_enrollment_component
required
boolean

Indicate whether a section enrollment is for an enrollment section or non enrollment section

course_topic
string

Course topic id if the student has enrolled in a particular topic of the course. The topic must also exist in the course topic field.

attributes
Array of strings

List of attributes or tags that can be used in search or in the degree requirements

registration_status
string

Registration status for the course, Examples: waitlisted, pre-registered, etc

repeat_code
string

Identifier for any repeat code associated for this course.

final_grade
string

Final grade letter that the student received in the course.

mid_semester_grade
string

Mid semester grade letter that the student received in the course.

units
integer

Units/credits that the student received.

enrollment_level
string

Enrollment level identifier for the course, Examples: UGRD, GRAD, etc

term
string

Term ID which section enrollment belongs to

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "errors": [
    ]
}

Update an existing section enrollment record

Updates the section enrollment record of a student.

path Parameters
id
required
string
Request Body schema: application/json
Array
student_username
required
string

Unique identifier for a student

course
required
string

Unique course code of the course

campus
string

The campus/teaching location at which this course was taken.

grade_scheme
string

The grading scheme under which the student received a grade for this course.

grade_option
string

The grading option under which the student received a grade for this course.

is_transfer
boolean

Boolean specifying whether this course was transferred in. Defaults to False.

transfer_course_meta
string

Any metadata to be displayed with transfer courses.

section
required
string

Unique section identifier.

is_enrollment_component
required
boolean

Indicate whether a section enrollment is for an enrollment section or non enrollment section

course_topic
string

Course topic id if the student has enrolled in a particular topic of the course. The topic must also exist in the course topic field.

attributes
Array of strings

List of attributes or tags that can be used in search or in the degree requirements

registration_status
string

Registration status for the course, Examples: waitlisted, pre-registered, etc

repeat_code
string

Identifier for any repeat code associated for this course.

final_grade
string

Final grade letter that the student received in the course.

mid_semester_grade
string

Mid semester grade letter that the student received in the course.

units
integer

Units/credits that the student received.

enrollment_level
string

Enrollment level identifier for the course, Examples: UGRD, GRAD, etc

term
string

Term ID which section enrollment belongs to

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "errors": [
    ]
}

Update an existing section enrollment record

Updates the section enrollment record of a student. Only send the key you want to update in the request body.

path Parameters
id
required
string

Unique section enrollment identifier

Request Body schema: application/json
Array
student_username
required
string

Unique identifier for a student

course
required
string

Unique course code of the course

campus
string

The campus/teaching location at which this course was taken.

grade_scheme
string

The grading scheme under which the student received a grade for this course.

grade_option
string

The grading option under which the student received a grade for this course.

is_transfer
boolean

Boolean specifying whether this course was transferred in. Defaults to False.

transfer_course_meta
string

Any metadata to be displayed with transfer courses.

section
required
string

Unique section identifier.

is_enrollment_component
required
boolean

Indicate whether a section enrollment is for an enrollment section or non enrollment section

course_topic
string

Course topic id if the student has enrolled in a particular topic of the course. The topic must also exist in the course topic field.

attributes
Array of strings

List of attributes or tags that can be used in search or in the degree requirements

registration_status
string

Registration status for the course, Examples: waitlisted, pre-registered, etc

repeat_code
string

Identifier for any repeat code associated for this course.

final_grade
string

Final grade letter that the student received in the course.

mid_semester_grade
string

Mid semester grade letter that the student received in the course.

units
integer

Units/credits that the student received.

enrollment_level
string

Enrollment level identifier for the course, Examples: UGRD, GRAD, etc

term
string

Term ID which section enrollment belongs to

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "errors": [
    ]
}

Delete a section enrollment record of a student.

Delete a section enrollment record of a student. If a course enrollment has only one section then the entire course enrollment would be deleted

path Parameters
id
required
string

Unique section enrollment identifier

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Section Information

Update Section Enrollment Information

Updates enrollment information for a section in Stellic

path Parameters
id
required
integer

Unique section id.

Request Body schema: application/json
max_enrollment
integer

Number of total seats available

available_enrollment
integer

Total number of open seats available.

max_waitlist
integer

Maximum number of students that can be on the waitlist.

waitlist
integer

Total number of students in the waitlist.

Responses

Request samples

Content type
application/json
{
  • "max_enrollment": 0,
  • "available_enrollment": 0,
  • "max_waitlist": 0,
  • "waitlist": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "max_enrollment": 0,
  • "available_enrollment": 0,
  • "max_waitlist": 0,
  • "waitlist": 0
}

Create new Section

Creates a new section for a course in Stellic

Request Body schema: application/json
name
required
string

Name of the section

external_id
required
string

Identifier that is used in SIS for section such as CRN.

course
required
string

Code for the course of the section

campus
required
string

Short name of the campus which section belongs to

term
required
string

Term ID which section belongs to

type
required
string

Type of the section

start_date
required
string <date>

Date which classes for this section starts

end_date
required
string <date>

Date which classes for this section ends

linked_sections
Array of strings

List of Unique identifiers of the linked sections

topic
string

Topic of the section

delivery_mode
string

Delivery mode of the section

max_enrollment
integer

Number of total seats available

available_enrollment
integer

Total number of open seats available.

max_waitlist
integer

Maximum number of students that can be on the waitlist.

waitlist
integer

Total number of students in the waitlist.

object (CourseSectionDetails)
Array of objects
Array of objects (ClassTimings)

Class timings for the section

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "external_id": "string",
  • "course": "string",
  • "campus": "string",
  • "term": "string",
  • "type": "string",
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24",
  • "linked_sections": [
    ],
  • "topic": "string",
  • "delivery_mode": "string",
  • "max_enrollment": 0,
  • "available_enrollment": 0,
  • "max_waitlist": 0,
  • "waitlist": 0,
  • "details": {
    },
  • "instructors": [
    ],
  • "timings": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "external_id": "string",
  • "course": "string",
  • "campus": "string",
  • "term": "string",
  • "type": "string",
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24",
  • "linked_section": "FA23-00123",
  • "linked_sections": [
    ],
  • "topic": "string",
  • "delivery_mode": "string",
  • "max_enrollment": 0,
  • "available_enrollment": 0,
  • "max_waitlist": 0,
  • "waitlist": 0,
  • "details": {
    },
  • "instructors": [
    ],
  • "timings": [
    ]
}

Bulk Update Section Enrollment Information

Updates enrollment information for a list of sections in Stellic. Stellic APIs that handle bulk data are atomic and accept a maximum payload size of 10 MBs.

Request Body schema: application/json
Array
id
required
string

Unique identifier for section

max_enrollment
integer

Number of total seats available

available_enrollment
integer

Total number of open seats available.

max_waitlist
integer

Maximum number of students that can be on the waitlist.

waitlist
integer

Total number of students in the waitlist.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "errors": [
    ]
}

Create a new Section Restriction

Creates a new SectionRestriction record and attaches it to the relevant CourseSection

path Parameters
id
required
string

Unique section restriction identifier

Request Body schema: application/json
section
required
string

Unique section ID. Must match the id from the schedule feed (a foreign key to this value). This value can be a maximum of 50 characters in length. e.g. 156798, Fall2020-16759.

type
required
string

The type of constraint associated with this record. Please use one of these values, campus, concentration, program, raw, school, student_level, tags.

operator
required
string
Enum: "eq" "neq" "info"

Use eq to apply restriction/reserved group on students who satisfy the criteria. Use neq to apply restriction/reserved group on students who do not satisfy the criteria. Defaults to info.

required
Array of objects

The list of objects to define student criteria. The key should match with the type of restriction. For example, if the type is campus, the key should be campus. The value will be the data value for that type. All objects in the list must use the same type.

action
required
string
Enum: "disallow_register" "disallow_drop" "hide" "warn" "reserved_seats" "show"

Action to apply on students satisfying restriction criteria. Defaults to show.

note
string

Information note to be displayed on UI.

reserve_capacity
string

Optional value to represent maximum enrollment for reserved group. This field is needed only when action is set to reserved_seats. Defaults to 0.

start_date
date

Optional start date after which reserved group critieria is enforced. The field is needed only when action is set to reserved_seats. Defaults to Null.

end_date
date

Optional end date after which reserved group critieria will not be enforced. The field is needed only when action is set to reserved_seats. Defaults to Null.

rqrmnt_group
string

Optional value to represent requirement group id. This field is needed only when action is set to reserved_seats. Required by PeopleSoft schools that want to use real time seat count API.

Responses

Request samples

Content type
application/json
{
  • "section": "string",
  • "type": "string",
  • "operator": "eq",
  • "student_sets": [
    ],
  • "action": "disallow_register",
  • "note": "string",
  • "reserve_capacity": "string",
  • "start_date": null,
  • "end_date": null,
  • "rqrmnt_group": "string"
}

Response samples

Content type
application/json
{
  • "section": "string",
  • "type": "string",
  • "operator": "eq",
  • "student_sets": [
    ],
  • "action": "disallow_register",
  • "note": "string",
  • "reserve_capacity": "string",
  • "start_date": null,
  • "end_date": null,
  • "rqrmnt_group": "string"
}

Delete a Section Restriction

Deletes the specified SectionRestriction from the CourseSection

path Parameters
id
required
string

Unique section restriction identifier

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Update the timings of a section

Updates the timings information of a section in Stellic

path Parameters
id
required
integer

Unique section id.

Request Body schema: application/json
Array
start
required
string

Start time of the class

end
required
string

End time of the class

day
required
string
Enum: "monday" "tuesday" "wednesday" "thursday" "friday" "saturday" "sunday"

Weekday for the class time

room
required
string

Room in which class will be conducted

building
required
string

Name of the building where class will be conducted

start_date
string <date>

Start date of the class timings if the timings are only for specific dates

end_date
string <date>

End date of the class timings if the timings are only for specific dates

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "section": "string",
  • "timings": [
    ]
}

Bulk update timings of different sections

Updates the timings information for a group of sections in Stellic

Request Body schema: application/json
Array
section
required
string

Unique identifier for section

required
Array of objects (ClassTimings)

Class timings for the section

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": [
    ],
  • "errors": [
    ]
}

Student

Exports data of bulk students based on property

On demand export API for getting data of students in bulk

path Parameters
property
required
string

Mode of API i.e what data of students to fetch. Currently supported properties: engagement_score

query Parameters
output_format
required
string

Defines the format of the exported data. Currently supported formats are: csv

delivery_channel
required
string

Defines where to deliver the exported data. Currently supported delivery channels are: http_file

Responses

Response samples

Content type
text/csv
[
  "Username, ID, Engagement Score",
  "sstanton, 11, 5",
  "mabbott, 12, 3"
]

Gets the specified property of a student

Returns information depending on the property chosen by the user e.g. Engagement Score of the provided student.

path Parameters
student_username
required
string

Unique identifier for a student

property
required
string

Mode of API i.e what data of student to fetch. Currently supported properties: engagement_score

Responses

Response samples

Content type
application/json
{
  • "engagement_score": {
    },
  • "success": true
}

Get the audit output of a student

Returns information depending on the property provided for the mode chosen by the user e.g. Planned unmatched courses of undeclared programs for the provided student.

path Parameters
student_username
required
string

Unique identifier for a student

course_filter
required
string

Courses mode to be used. i.e. planned or registered

property
required
string

Type of courses to be fetched. Currently supported properties: unmatched, progress

Responses

Response samples

Content type
application/json
Example
{
  • "unmatched_courses": [
    ],
  • "counts_for": [
    ],
  • "success": true
}

Get the custom audit output of a student

Returns information depending on the property provided for a combination courses and programs mode chosen by the user e.g. Planned unmatched courses of a declared program for the provided student.

path Parameters
student_username
required
string

Unique identifier for a student

course_filter
required
string

Courses mode to be used. i.e. planned or registered

program_filter
required
string

Program mode to be used. i.e. planned, registered or all

property
required
string

Type of courses to be fetched. Currently supported properties: unmatched, progress

Responses

Response samples

Content type
application/json
Example
{
  • "unmatched_courses": [
    ],
  • "counts_for": [
    ],
  • "success": true
}

Gets data from planner based on property

Returns information depending on the property provided for the type of courses selected by the user e.g. Planned Future Courses for the provided student.

path Parameters
student_username
required
string

Unique identifier for a student

course_filter
required
string

Courses mode to be used. i.e. planned, registered or all

property
required
string

Type of courses to be fetched. Currently supported properties: future

Responses

Response samples

Content type
application/json
{
  • "future_courses": [
    ],
  • "success": true
}

Creates a new student profile

Creates a new student profile. Also adds the student to relevant student sets based on their data and assigns the relevant permissions.

path Parameters
student_username
required
string

Unique identifier for a student

Request Body schema: application/json
Array
first_name
required
string

First name of the student

preferred_first_name
string

Preferred first name of the student

last_name
required
string

Last name of the student

email
required
string

Email address of the student

primary_advisor_username
string

Username of the primary advisor

primary_campus_id
string

ID of the primary campus

pronouns
string

Pronouns of the student

current_campus_id
string

ID of the current campus

department_ids
Array of strings

List of department IDs (short names)

expected_graduation
string

Term ID of expected graduation term

class_level_id
required
string

ID of the class level

pre_req_waivers
Array of strings

List of prerequisite waivers

cgpa
number <float>

Current GPA

school_ids
Array of strings

List of school IDs (short names)

term_joined
required
string

ID of student's term joined

ge_catalog_term
string

ID of catalog term

student_id
string

Student ID

type
string

Type of student

mobile_number
string

Mobile number of the student

text_consent
boolean

Consent for text messages

primary_enrollment_level_id
string

ID of the primary enrollment level

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    },
  • "errors": [
    ]
}

Adds a new student-tag to the student profile.

Adds a new student-tag to the student profile.

path Parameters
student_username
required
string

Unique identifier for a student

tag_name
required
string

Name of the student tag. The tag needs to already exist in the application. It shouldn't be already added to the student profile.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    }
}

Removes a student-tag from a student's profile.

Removes a student-tag from a student's profile.

path Parameters
student_username
required
string

Unique identifier for a student

tag_name
required
string

Name of the student tag. It needs to be present on the student's profile.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    }
}

Creates a student school enrollment record.

Creates a student school enrollment record.

path Parameters
student_username
required
string

Unique identifier for a student

school_id
required
string

Unique identifier for a school. Most often maps to the short_name column in the school feed.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    }
}

Deletes a student school enrollment record.

Deletes a student school enrollment record.

path Parameters
student_username
required
string

Unique identifier for a student

school_id
required
string

Unique identifier for a school. Most often maps to the short_name column in the school feed.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    }
}

Creates a student department enrollment record.

Creates a student department enrollment record.

path Parameters
student_username
required
string

Unique identifier for a student

dept_id
required
string

Unique identifier for a department. Most often maps to the short_name column in the department feed.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    }
}

Deletes a new student department enrollment record.

Deletes a new student department enrollment record.

path Parameters
student_username
required
string

Unique identifier for a student

dept_id
required
string

Unique identifier for a department. Most often maps to the short_name column in the department feed.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "state": {
    }
}

Hold

Create a new student hold

Creates a new hold of given type for the given student.

Request Body schema: application/json
sis_id
required
string

Unique identifier for a hold applied on a student

student_id
required
string

ID of student on which the hold is to be applied

hold_code
required
string

Unique identifier of different type of holds for an institution

note
string

Additional text specific to a student. This is combined with the hold's description

url_text
string

Place holder text for URL

url_link
string

URL link

Responses

Request samples

Content type
application/json
{
  • "sis_id": "string",
  • "student_id": "string",
  • "hold_code": "string",
  • "note": "string",
  • "url_text": "string",
  • "url_link": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "title": "string",
  • "description": "string",
  • "activities": [
    ],
  • "note": "string"
}

Update a student hold

Updates a given hold's record for the student. The response will have all fields that were successfully updated in fields_updated key, and the fields that failed to update in failed. If everything was sucessfully updated, failed should be None.

path Parameters
sis_id
required
string

Unique identifier for a hold applied on a student

Request Body schema: application/json
student_id
required
string

ID of student on which the hold is to be applied

hold_code
required
string

Unique identifier of different type of holds for an institution

note
string

Additional text specific to a student. This is combined with the hold's description

url_text
string

Place holder text for URL

url_link
string

URL link

Responses

Request samples

Content type
application/json
{
  • "student_id": "string",
  • "hold_code": "string",
  • "note": "string",
  • "url_text": "string",
  • "url_link": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "fields_updated": {
    },
  • "failed": {
    },
  • "title": "string",
  • "description": "string",
  • "activities": [
    ]
}

Delete a student hold

Deletes a given hold's record for the student.

path Parameters
sis_id
required
string

Unique identifier for a hold applied on a student

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "title": "string",
  • "description": "string",
  • "activities": [
    ],
  • "note": "string"
}

Registration

Create a new registration time

Creates a new registration time for a student.

path Parameters
registration_time_id
required
string
Example: 57568

Unique identifier for a Registration Time from SIS

Request Body schema: application/json
student_username
required
string

Username of the student for which this registration time belongs to

registration_type
string
Enum: "registration" "preregistration"

Will default to registration if not provided

timestamp
required
string

Start timestamp of the registration time, this follows the UTC timezone in the following format YYYY-MM-DD HH:MM

end_timestamp
string

End timestamp of the registration time, this follows the UTC timezone in the following format YYYY-MM-DD HH:MM

semester
required
string

The semeter in which the registration time belongs to

year
required
integer

The year in which the registration time belongs to

term
required
string

Term ID for which the registration time belongs to

Responses

Request samples

Content type
application/json
{
  • "student_username": "mabbott",
  • "registration_type": "registration",
  • "timestamp": "2023-05-11 14:30",
  • "end_timestamp": "2023-07-11 14:30",
  • "semester": "summer",
  • "year": 2023,
  • "term": "20223"
}

Response samples

Content type
application/json
{
  • "registration_time_id": "57568",
  • "registration_type": "registration",
  • "timestamp": "2023-05-11 14:30",
  • "end_timestamp": "2023-07-11 14:30",
  • "student_username": "mabbott",
  • "usem": {
    }
}

Updates data of a registration time

Allows updating the start/end timestamp of an existing registration time.

path Parameters
registration_time_id
required
integer
Example: 57568

Unique identifier for a Registration Time from SIS

Request Body schema: application/json
timestamp
string

Start timestamp of the registration time, this follows the UTC timezone in the following format YYYY-MM-DD HH:MM

end_timestamp
string

End timestamp of the registration time, this follows the UTC timezone in the following format YYYY-MM-DD HH:MM

Responses

Request samples

Content type
application/json
{
  • "timestamp": "2023-05-11 14:30",
  • "end_timestamp": "2023-07-11 14:30"
}

Response samples

Content type
application/json
{
  • "registration_time_id": "57568",
  • "registration_type": "registration",
  • "timestamp": "2023-05-11 14:30",
  • "end_timestamp": "2023-07-11 14:30",
  • "student_username": "mabbott",
  • "usem": {
    }
}

Deletes the specified registration time

Deletes a registration time for a student.

path Parameters
registration_time_id
required
integer
Example: 57568

Unique identifier for a Registration Time from SIS

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "errors": [ ]
}

Prospective Students

Redirects to prospective students pathway search

This endpoint redirects users from the university's main website to our dedicated prospective student website, where they can access the pathway search. Pathway search assists prospective students in finding suitable programs based on their preferences.

query Parameters
program
required
string

unique identifier for a Program

academic_level
string

student level. i.e. undergraduate or graduate

region_status
string

student type i.e. domestic or international

enrollment_status
string

student enrollment status i.e. full-time or part-time

campus
string
start_term
string

Responses

Exports

Endpoints related to exporting data, including both asynchronous and normal exports. Use the file name provided by an asynchronous export in the /exports/get_export_url API to retrieve the URL for the file or to check if the file has been generated. For more details, refer to the get_export_url endpoint under this same 'Exports' section.

Async - Exports data related to sections counting for requirements

Asynchronous on-demand export API for data related to sections counting for requirements.

query Parameters
usem_ids
required
Array of integers

The term_id for one or multiple unique semesters. This parameter identifies the semesters for which the course section requirement counts are to be exported. For multiple semesters, use the usem_ids query parameter multiple times, like usem_ids=2434&usem_ids=3435, for each unique term_id.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Exports data of student engagement score

On-demand export API for student engagement scores in CSV format.

Responses

Response samples

Content type
text/csv
[
  "Username, ID, Engagement Score",
  "sstanton, 11, 5",
  "mabbott, 12, 3"
]

Retrieves URL for downloaded file

Provides a temporary URL for downloading an exported file based on its async export status.

query Parameters
file_name
required
string

The file name to be downloaded, which was sent by Stellic for async export.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "status": "not_started",
  • "url": null
}