Accommodate API (1.0)

Download OpenAPI specification:Download

The Accommodate REST API is designed to have predictable URLs and to use HTTP response codes to indicate API errors. JSON will be returned in all responses from the API, excluding errors which will be returned in HTML.

API Call Limits

Rate limiting of the API is on a per-token basis. There are three effective rate limiters:

  • 100 calls with a leak rate of 10 calls per second. If your app averages up to 10 calls per second it will never receive a "429 Rate Limit Exceeded Error".
  • 10,000 calls for a period of 24 hours, which will reset at midnight.
  • 1 bulk update call at a time.

All responses will include 3 rate limiting headers:

  • X-Rate-Limit-Limit: Total rate limit for all calls in a day
  • X-Rate-Limit-Remaining: The number of requests left for the day
  • X-Rate-Limit-Reset: Time before the rate limit resets in UTC

Restrictions

Only third party companies who are official Partners within the Symplicity Partner Program can access API(s).

Bulk Requests

Adding bulk=1 parameter to a PUT/POST request indicates that the request takes the form of a bulk payload which can include up to 100 records in a single POST/PUT request. The bulk payload is an array of regular request objects. The response to a bulk payload request will contain a responses attribute, which is an array of object responses sequenced in the same order as the objects were presented in the payload. If any payload record updates fail, corresponding objects in the responses array will include errors or messages attribute.

Specific create (POST) bulk records in a payload are identical to regular create requests. Update (PUT) bulk requests are different from regular update requests in that id of the record to update is not indicated in the route itself, but rather in each individual request in the array, along with other regular payload fields.

Name Parsing

API calls impacting record 'name' fields will be handled as follows:

  • If only fullName is provided, it is parsed to first/middle/lastName.
  • If first/middle/lastName fields are sent, but without full name, the fullName field is constructed.
  • If full/first/middle/lastName are all provided, no parsing/construction occurs.
  • If fullName and only some of the other name fields are provided, the missing name fields will be populated.
  • Error will be presented if name components are not correctly provided.

Students

Retrieve, create, and update student records

List Students

Returns a list of students.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for students by schoolStudentId or username matching the keyword

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

unstartedApplication
integer
Enum: 0 1

Filter by unstarted application status

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Create New Student

Create a new student using student information and an optional content body.

Important:

  • The email field is required along with the field configured in System Setting "Set Unique Identifier for Students".
  • If it duplicates with one in the system, it will not create a new student.
  • Not allowed to set student's cellphoneNum, mobileCarrier, and receiveSMS fields.

Custom fields for student and student profile can be set at the same level. If there is a naming conflict, the field from student will be used.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
One of
schoolStudentId
string
firstName
string
middleName
string
lastName
string
fullName
string
email
required
string <email>
username
string
phone
string
birthdate
string <date>
alumni
boolean
accountDisabled
boolean
object (AddressInput)
object (AddressInput)
status
Array of strings

Array of status pick value IDs

counselors
Array of strings

Array of counselor IDs

applicantType
Array of strings
degreeLevel
string
gpa
string
major
Array of strings
programType
Array of strings
workAuthorization
string
year
string
graduationDate
string <date>

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "error": "string"
}

Bulk Update Students

Bulk update students. Requires bulk=1 query parameter. Each object must include an id field.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
Array
id
required
string
schoolStudentId
string
firstName
string
middleName
string
lastName
string
fullName
string
email
required
string <email>
username
string
phone
string
birthdate
string <date>
alumni
boolean
accountDisabled
boolean
object (AddressInput)
object (AddressInput)
status
Array of strings

Array of status pick value IDs

counselors
Array of strings

Array of counselor IDs

applicantType
Array of strings
degreeLevel
string
gpa
string
major
Array of strings
programType
Array of strings
workAuthorization
string
year
string
graduationDate
string <date>

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responses": [
    ]
}

Get Student

Returns information for a single student.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested student

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "schoolStudentId": "string",
  • "firstName": "string",
  • "middleName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "username": "string",
  • "phone": "string",
  • "birthdate": "2019-08-24",
  • "status": [
    ],
  • "alumni": true,
  • "accountDisabled": true,
  • "address": {
    },
  • "permanentAddress": {
    },
  • "counselors": [
    ],
  • "applicantType": [
    ],
  • "degreeLevel": {
    },
  • "gpa": "3.4",
  • "graduationDate": "2019-08-24",
  • "major": [
    ],
  • "programType": [
    ],
  • "workAuthorization": {
    },
  • "year": {
    },
  • "cellphoneNum": "5711231234",
  • "mobileCarrier": {
    },
  • "receiveSMS": true,
  • "modified": "2019-08-24T14:15:22Z"
}

Update Student

Update student. When updating a multi-value field (e.g. major), it will override with the new value.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the student to update

Request Body schema: application/json
required
schoolStudentId
string
firstName
string
middleName
string
lastName
string
fullName
string
email
required
string <email>
username
string
phone
string
birthdate
string <date>
alumni
boolean
accountDisabled
boolean
object (AddressInput)
object (AddressInput)
status
Array of strings

Array of status pick value IDs

counselors
Array of strings

Array of counselor IDs

applicantType
Array of strings
degreeLevel
string
gpa
string
major
Array of strings
programType
Array of strings
workAuthorization
string
year
string
graduationDate
string <date>

Responses

Request samples

Content type
application/json
{
  • "schoolStudentId": "string",
  • "firstName": "string",
  • "middleName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "username": "string",
  • "phone": "string",
  • "birthdate": "2019-08-24",
  • "alumni": true,
  • "accountDisabled": true,
  • "address": {
    },
  • "permanentAddress": {
    },
  • "status": [
    ],
  • "counselors": [
    ],
  • "applicantType": [
    ],
  • "degreeLevel": "string",
  • "gpa": "string",
  • "major": [
    ],
  • "programType": [
    ],
  • "workAuthorization": "string",
  • "year": "string",
  • "graduationDate": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "schoolStudentId": "string",
  • "firstName": "string",
  • "middleName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "username": "string",
  • "phone": "string",
  • "birthdate": "2019-08-24",
  • "status": [
    ],
  • "alumni": true,
  • "accountDisabled": true,
  • "address": {
    },
  • "permanentAddress": {
    },
  • "counselors": [
    ],
  • "applicantType": [
    ],
  • "degreeLevel": {
    },
  • "gpa": "3.4",
  • "graduationDate": "2019-08-24",
  • "major": [
    ],
  • "programType": [
    ],
  • "workAuthorization": {
    },
  • "year": {
    },
  • "cellphoneNum": "5711231234",
  • "mobileCarrier": {
    },
  • "receiveSMS": true,
  • "modified": "2019-08-24T14:15:22Z"
}

List Student Pick Values

Returns list of pick values for the given student field.

Authorizations:
basicAuth
path Parameters
field
required
string
Value: "counselors"

Name of field with pick values for Student

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Student Profile Pick Values

Returns list of pick values for the given student profile field.

Authorizations:
basicAuth
path Parameters
field
required
string
Enum: "status" "major" "applicantType" "degreeLevel" "programType" "workAuthorization" "year"

Name of field with pick values for Student Profile

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Archived Students

Retrieve archived student records (read-only)

List Archived Students

Returns a list of archived students.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for students by schoolStudentId or username matching the keyword

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Get Archived Student

Returns information for a single archived student.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested archived student

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "schoolStudentId": "string",
  • "firstName": "string",
  • "middleName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "username": "string",
  • "phone": "string",
  • "birthdate": "2019-08-24",
  • "status": [
    ],
  • "alumni": true,
  • "accountDisabled": true,
  • "address": {
    },
  • "permanentAddress": {
    },
  • "counselors": [
    ],
  • "applicantType": [
    ],
  • "degreeLevel": {
    },
  • "gpa": "3.4",
  • "graduationDate": "2019-08-24",
  • "major": [
    ],
  • "programType": [
    ],
  • "workAuthorization": {
    },
  • "year": {
    },
  • "cellphoneNum": "5711231234",
  • "mobileCarrier": {
    },
  • "receiveSMS": true,
  • "modified": "2019-08-24T14:15:22Z"
}

Addresses

Retrieve address records and pick values

List Addresses

Returns a list of addresses.

Note: Student or Faculty addresses should be created from the students or faculty API.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for addresses by title matching the keyword

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Get Address

Returns information for a single address.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested address

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "street": "string",
  • "city": "string",
  • "state": {
    },
  • "zip": "string",
  • "country": {
    }
}

List Address Pick Values

Returns list of pick values for the given field. For the state field, use the optional country query parameter to filter states/provinces by country. When not specified, states for the "default" country for current locale are listed.

Authorizations:
basicAuth
path Parameters
field
required
string
Enum: "state" "country"

Name of field with pick values

query Parameters
country
string = 2 characters

Two-character country code to filter states/provinces (e.g. US, CA, AU)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Country Pick Values

Returns list of all available countries.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Courses

Retrieve, create, and update course records

List Courses

Returns a list of courses.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for courses by title matching the keyword

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Create New Course

Create a new course.

Warning: If uniqueId and semester for this course already exists in the system, it will not be created.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
One of
title
string
uniqueId
required
string
code
string
description
string
type
string

Course type pick value ID

days
Array of strings

Array of day pick value IDs

startDate
string <date>
endDate
string <date>
startTime
string
endTime
string
semester
required
string

Semester pick value ID

creditHour
string
faculty
Array of strings

Array of faculty IDs

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "error": "string"
}

Bulk Update Courses

Bulk update courses. Requires bulk=1 query parameter. Each object must include an id field.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
Array
id
required
string
title
string
uniqueId
required
string
code
string
description
string
type
string

Course type pick value ID

days
Array of strings

Array of day pick value IDs

startDate
string <date>
endDate
string <date>
startTime
string
endTime
string
semester
required
string

Semester pick value ID

creditHour
string
faculty
Array of strings

Array of faculty IDs

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responses": [
    ]
}

Get Course

Returns information for a single course.

Note: Faculty will be shown if your system has the faculty module.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested course

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "uniqueId": "string",
  • "title": "string",
  • "code": "string",
  • "description": "string",
  • "type": {
    },
  • "days": [
    ],
  • "startDate": "2019-08-24",
  • "endDate": "2019-08-24",
  • "startTime": "13:00:00",
  • "endTime": "15:00:00",
  • "semester": {
    },
  • "creditHour": 0,
  • "faculty": [
    ],
  • "modified": "2019-08-24T14:15:22Z"
}

Update Course

Update a course. When updating a multi-value field (e.g. days, faculty), it will override with the new value.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the course to update

Request Body schema: application/json
required
title
string
uniqueId
required
string
code
string
description
string
type
string

Course type pick value ID

days
Array of strings

Array of day pick value IDs

startDate
string <date>
endDate
string <date>
startTime
string
endTime
string
semester
required
string

Semester pick value ID

creditHour
string
faculty
Array of strings

Array of faculty IDs

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "uniqueId": "string",
  • "code": "string",
  • "description": "string",
  • "type": "string",
  • "days": [
    ],
  • "startDate": "2019-08-24",
  • "endDate": "2019-08-24",
  • "startTime": "13:00:00",
  • "endTime": "15:00:00",
  • "semester": "string",
  • "creditHour": "string",
  • "faculty": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "uniqueId": "string",
  • "title": "string",
  • "code": "string",
  • "description": "string",
  • "type": {
    },
  • "days": [
    ],
  • "startDate": "2019-08-24",
  • "endDate": "2019-08-24",
  • "startTime": "13:00:00",
  • "endTime": "15:00:00",
  • "semester": {
    },
  • "creditHour": 0,
  • "faculty": [
    ],
  • "modified": "2019-08-24T14:15:22Z"
}

Get Course's Student Schedules

Returns enrolled student schedules for a single course.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested course

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Course Pick Values

Returns list of pick values for the given course field.

Authorizations:
basicAuth
path Parameters
field
required
string
Enum: "days" "semester"

Name of field with pick values for Course

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Semester Pick Values

Returns list of pick values for semesters with optional date filters.

Authorizations:
basicAuth
query Parameters
ignore_start_date
integer
Enum: 0 1

When set to 1, the semester's start date is disregarded

ignore_end_date
integer
Enum: 0 1

When set to 1, the semester's end date is disregarded

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Student Schedules

Retrieve, create, and update student course schedules

List Student Schedules

Returns a list of student schedules.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for student schedules by title matching the keyword

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Create New Student Schedule

Create a new student schedule.

Warning: If the given course and student are not in the system or the student is already enrolled in it, you will receive an error.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
One of
course
required
string

Course ID

student
required
string

Student ID

enrolled
boolean

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "error": "string"
}

Bulk Update Student Schedules

Bulk update student schedules. Requires bulk=1 query parameter. Each object must include an id field.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
Array
id
required
string
course
required
string

Course ID

student
required
string

Student ID

enrolled
boolean

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responses": [
    ]
}

Get Student Schedule

Returns information for a single student course schedule.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested student schedule

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "course": {
    },
  • "student": {
    },
  • "semester": {
    },
  • "enrolled": true,
  • "enrolledEndDate": "2019-08-24",
  • "modified": "2019-08-24T14:15:22Z"
}

Update Student Schedule

Update a student schedule.

Note: It is not allowed to update course and student fields.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the student schedule to update

Request Body schema: application/json
required
enrolled
boolean

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "course": {
    },
  • "student": {
    },
  • "semester": {
    },
  • "enrolled": true,
  • "enrolledEndDate": "2019-08-24",
  • "modified": "2019-08-24T14:15:22Z"
}

Faculty

Retrieve, create, and update faculty records

List Faculty

Returns a list of faculty.

Note: Faculty will be shown if your system has the faculty module.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for faculty by title matching the keyword

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Create New Faculty

Create a new faculty member.

Warning: The email field is required. If it duplicates with one in the system, it will not create a new faculty.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
One of
schoolFacultyId
string
firstName
string
middleName
string
lastName
string
fullName
string
email
required
string <email>
username
string
title
string
phone
string
fax
string
departmentPhone
string
major
Array of strings
facultyType
Array of strings
department
string
object (AddressInput)
receiveEmail
boolean
accountDisabled
boolean

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "error": "string"
}

Bulk Update Faculty

Bulk update faculty. Requires bulk=1 query parameter. Each object must include an id field.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
Array
id
required
string
schoolFacultyId
string
firstName
string
middleName
string
lastName
string
fullName
string
email
required
string <email>
username
string
title
string
phone
string
fax
string
departmentPhone
string
major
Array of strings
facultyType
Array of strings
department
string
object (AddressInput)
receiveEmail
boolean
accountDisabled
boolean

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responses": [
    ]
}

Get Faculty

Returns information for a single faculty member.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested faculty

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "schoolFacultyId": "string",
  • "title": "string",
  • "firstName": "string",
  • "middleName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "username": "string",
  • "phone": "string",
  • "fax": "string",
  • "departmentPhone": "string",
  • "facultyType": [
    ],
  • "department": {
    },
  • "school": {
    },
  • "campus": {
    },
  • "major": [
    ],
  • "accountDisabled": true,
  • "address": {
    },
  • "receiveEmail": true,
  • "modified": "2019-08-24T14:15:22Z"
}

Update Faculty

Update a faculty member. When updating a multi-value field (e.g. major, facultyType), it will override with the new value.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the faculty to update

Request Body schema: application/json
required
schoolFacultyId
string
firstName
string
middleName
string
lastName
string
fullName
string
email
required
string <email>
username
string
title
string
phone
string
fax
string
departmentPhone
string
major
Array of strings
facultyType
Array of strings
department
string
object (AddressInput)
receiveEmail
boolean
accountDisabled
boolean

Responses

Request samples

Content type
application/json
{
  • "schoolFacultyId": "string",
  • "firstName": "string",
  • "middleName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "username": "string",
  • "title": "string",
  • "phone": "string",
  • "fax": "string",
  • "departmentPhone": "string",
  • "major": [
    ],
  • "facultyType": [
    ],
  • "department": "string",
  • "address": {
    },
  • "receiveEmail": true,
  • "accountDisabled": true
}

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "schoolFacultyId": "string",
  • "title": "string",
  • "firstName": "string",
  • "middleName": "string",
  • "lastName": "string",
  • "fullName": "string",
  • "email": "user@example.com",
  • "username": "string",
  • "phone": "string",
  • "fax": "string",
  • "departmentPhone": "string",
  • "facultyType": [
    ],
  • "department": {
    },
  • "school": {
    },
  • "campus": {
    },
  • "major": [
    ],
  • "accountDisabled": true,
  • "address": {
    },
  • "receiveEmail": true,
  • "modified": "2019-08-24T14:15:22Z"
}

List Faculty Pick Values

Returns list of pick values for the given faculty field.

Authorizations:
basicAuth
path Parameters
field
required
string
Enum: "major" "department" "facultyType"

Name of field with pick values for Faculty

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Degree Programs

Retrieve, create, and update degree programs

List Degree Programs

Returns a list of degree programs.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for degree programs by title matching the keyword

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Create New Degree Program

Create a new degree program.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
One of
title
string
description
string
code
string
version
string
level
string
award
string
mode
Array of strings
area
Array of strings
string or integer
startDate
string <date>
Array of strings or integers
courses
Array of strings

Array of course IDs

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "title": "string",
  • "description": "string",
  • "code": "string",
  • "version": "string",
  • "level": {
    },
  • "award": {
    },
  • "mode": [
    ],
  • "area": [
    ],
  • "campus": [
    ],
  • "startDate": "2019-08-24",
  • "faculty": [
    ],
  • "coordinatorNames": [
    ],
  • "coordinatorEmails": [
    ],
  • "courses": [
    ],
  • "modified": "2019-08-24T14:15:22Z"
}

Bulk Update Degree Programs

Bulk update degree programs. Requires bulk=1 query parameter. Each object must include an id field.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
Array
id
required
string
title
string
description
string
code
string
version
string
level
string
award
string
mode
Array of strings
area
Array of strings
string or integer
startDate
string <date>
Array of strings or integers
courses
Array of strings

Array of course IDs

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responses": [
    ]
}

Get Degree Program

Returns information for a single degree program.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested degree program

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "title": "string",
  • "description": "string",
  • "code": "string",
  • "version": "string",
  • "level": {
    },
  • "award": {
    },
  • "mode": [
    ],
  • "area": [
    ],
  • "campus": [
    ],
  • "startDate": "2019-08-24",
  • "faculty": [
    ],
  • "coordinatorNames": [
    ],
  • "coordinatorEmails": [
    ],
  • "courses": [
    ],
  • "modified": "2019-08-24T14:15:22Z"
}

Update Degree Program

Update a degree program.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the degree program to update

Request Body schema: application/json
required
title
string
description
string
code
string
version
string
level
string
award
string
mode
Array of strings
area
Array of strings
string or integer
startDate
string <date>
Array of strings or integers
courses
Array of strings

Array of course IDs

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "code": "string",
  • "version": "string",
  • "level": "string",
  • "award": "string",
  • "mode": [
    ],
  • "area": [
    ],
  • "campus": "string",
  • "startDate": "2019-08-24",
  • "faculty": [
    ],
  • "courses": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "title": "string",
  • "description": "string",
  • "code": "string",
  • "version": "string",
  • "level": {
    },
  • "award": {
    },
  • "mode": [
    ],
  • "area": [
    ],
  • "campus": [
    ],
  • "startDate": "2019-08-24",
  • "faculty": [
    ],
  • "coordinatorNames": [
    ],
  • "coordinatorEmails": [
    ],
  • "courses": [
    ],
  • "modified": "2019-08-24T14:15:22Z"
}

List Degree Program Pick Values

Returns list of pick values for the given field.

Authorizations:
basicAuth
path Parameters
field
required
string
Value: "level"

Name of field with pick values

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Degree Program Enrolments

Retrieve, create, and update degree program enrolments

List Degree Program Enrolments

Returns a list of degree program enrolments.

Authorizations:
basicAuth
query Parameters
page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Create New Degree Program Enrolment

Create a new degree program enrolment.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
One of
degreeProgram
string

Degree program ID

student
string

Student ID

string or integer
period
string
gpa
string

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "error": "string"
}

Bulk Update Degree Program Enrolments

Bulk update degree program enrolments. Requires bulk=1 query parameter. Each object must include an id field.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
Array
id
required
string
degreeProgram
string

Degree program ID

student
string

Student ID

string or integer
period
string
gpa
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responses": [
    ]
}

Get Degree Program Enrolment

Returns information for a single degree program enrolment.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested degree program enrolment

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "student": {
    },
  • "degreeProgram": {
    },
  • "gpa": "3.4",
  • "period": {
    },
  • "status": {
    },
  • "campuses": [
    ],
  • "attendanceMode": {
    },
  • "attendanceType": {
    },
  • "studyAreas": [
    ],
  • "modified": "2019-08-24T14:15:22Z"
}

Update Degree Program Enrolment

Update a degree program enrolment.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the enrolment to update

Request Body schema: application/json
required
degreeProgram
string

Degree program ID

student
string

Student ID

string or integer
period
string
gpa
string

Responses

Request samples

Content type
application/json
{
  • "degreeProgram": "string",
  • "student": "string",
  • "status": "string",
  • "period": "string",
  • "gpa": "string"
}

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "student": {
    },
  • "degreeProgram": {
    },
  • "gpa": "3.4",
  • "period": {
    },
  • "status": {
    },
  • "campuses": [
    ],
  • "attendanceMode": {
    },
  • "attendanceType": {
    },
  • "studyAreas": [
    ],
  • "modified": "2019-08-24T14:15:22Z"
}

List Degree Program Enrolment Pick Values

Returns list of pick values for the given field.

Authorizations:
basicAuth
path Parameters
field
required
string
Value: "period"

Name of field with pick values

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Appointments

Retrieve, create, update, and delete appointments

List Appointments

Returns a list of appointments. Only submitted appointments are returned.

Common Query Examples:

  • Approved Appointments: approved=1&cancelled=0&counselingDate=(current date)|(future dates)
  • Pending Appointments: approved=0&cancelled=0&counselingDate=(current date)|(future dates)
  • Archived (Date passed): counselingDate=(past dates)|(current date)
  • Archived (Cancelled): cancelled=1

Note: For date and number fields, ranges can be searched using the pipe character |.

Authorizations:
basicAuth
query Parameters
keyword
string

Search for appointments by student name or email

page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

sort
string

Name of field to sort by in ascending order. Prepend ! to field name for descending sort.

customFields
integer
Enum: 0 1

When set to 1, returns custom field/values in addition to standard fields

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "string",
  • "models": [
    ]
}

Create New Appointment

Create a new appointment.

Warning: The following fields are required: student, counselingDate, counselingTime, counselor, and counselingType.

The student must exist in the system and the counselor must be a valid staff counselor.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
One of
student
required
string

Student ID

counselor
required
string

Counselor ID

counselingDate
required
string <date>

Appointment Date

counselingTime
required
string <time>

Appointment Time

counselingType
required
string

Appointment Type ID

length
string

Appointment Length ID

comment
string

Notes

counselingStudentNote
string

Student/Additional Notes

location
string

Location ID

room
string

Room ID

Responses

Request samples

Content type
application/json
[ ]

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "student": {
    },
  • "counselor": {
    },
  • "counselingDate": "2026-05-15",
  • "counselingTime": "10:00:00",
  • "comment": "string",
  • "length": {
    },
  • "counselingType": {
    },
  • "counselingStudentNote": "string",
  • "counselingNotePrivate": "string",
  • "location": {
    },
  • "room": {
    },
  • "attendance": {
    },
  • "reasonForCancellation": {
    },
  • "reasonForCancellationOther": "string",
  • "approved": true,
  • "cancelled": true
}

Bulk Update Appointments

Bulk update appointments. Requires bulk=1 query parameter. Each object must include an id field.

Authorizations:
basicAuth
query Parameters
bulk
integer
Value: 1

Set to 1 to indicate a bulk request payload (up to 100 records)

Request Body schema: application/json
required
Array
id
required
string
student
required
string

Student ID

counselor
required
string

Counselor ID

counselingDate
required
string <date>

Appointment Date

counselingTime
required
string <time>

Appointment Time

counselingType
required
string

Appointment Type ID

length
string

Appointment Length ID

comment
string

Notes

counselingStudentNote
string

Student/Additional Notes

location
string

Location ID

room
string

Room ID

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responses": [
    ]
}

Get Appointment

Returns information for a single appointment.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the requested appointment

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "student": {
    },
  • "counselor": {
    },
  • "counselingDate": "2026-05-15",
  • "counselingTime": "10:00:00",
  • "comment": "string",
  • "length": {
    },
  • "counselingType": {
    },
  • "counselingStudentNote": "string",
  • "counselingNotePrivate": "string",
  • "location": {
    },
  • "room": {
    },
  • "attendance": {
    },
  • "reasonForCancellation": {
    },
  • "reasonForCancellationOther": "string",
  • "approved": true,
  • "cancelled": true
}

Update Appointment

Update an existing appointment.

Note: The counselor of a joint appointment cannot be changed.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the appointment to update

Request Body schema: application/json
required
student
required
string

Student ID

counselor
required
string

Counselor ID

counselingDate
required
string <date>

Appointment Date

counselingTime
required
string <time>

Appointment Time

counselingType
required
string

Appointment Type ID

length
string

Appointment Length ID

comment
string

Notes

counselingStudentNote
string

Student/Additional Notes

location
string

Location ID

room
string

Room ID

Responses

Request samples

Content type
application/json
{
  • "student": "abc123",
  • "counselor": "abc123",
  • "counselingDate": "2026-05-15",
  • "counselingTime": "10:00:00",
  • "counselingType": "type_001",
  • "length": "abc123",
  • "comment": "string",
  • "counselingStudentNote": "string",
  • "location": "loc_001",
  • "room": "room_001"
}

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "student": {
    },
  • "counselor": {
    },
  • "counselingDate": "2026-05-15",
  • "counselingTime": "10:00:00",
  • "comment": "string",
  • "length": {
    },
  • "counselingType": {
    },
  • "counselingStudentNote": "string",
  • "counselingNotePrivate": "string",
  • "location": {
    },
  • "room": {
    },
  • "attendance": {
    },
  • "reasonForCancellation": {
    },
  • "reasonForCancellationOther": "string",
  • "approved": true,
  • "cancelled": true
}

Delete Appointment

Permanently delete an appointment.

Warning: The appointment record is permanently removed; recurring series are not affected.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the appointment to delete

Responses

Response samples

Content type
application/json
"Object Deleted"

List Appointment Pick Values

Returns list of pick values for the given appointment field.

Authorizations:
basicAuth
path Parameters
field
required
string
Enum: "counselor" "counselingType" "length" "location" "room" "attendance"

Name of field with pick values for Appointment

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Reports

List, run, and retrieve report data

List Reports

List existing report jobs.

Authorizations:
basicAuth
query Parameters
page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "csm_report",
  • "models": [
    ]
}

Get Report Run Status

Get the status and other basic information for a given report job run. If run is not specified, returns the last run.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the report job

query Parameters
run
string

ID of a specific report run

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "status": "string",
  • "created": "2019-08-24T14:15:22Z"
}

Get Report Run Details

Get details of a given report job run. If run is not specified, returns the last run.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the report job

query Parameters
run
string

ID of a specific report run

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "description": "string",
  • "status": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "startTime": "2019-08-24T14:15:22Z",
  • "elapsedTime": "string",
  • "headers": [
    ],
  • "data": [
    ],
  • "count": 0
}

Get Report Run Data

Get results of a given report job. If run is not specified, returns the last run.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the report job

query Parameters
run
string

ID of a specific report run

format
string
Default: "array"
Enum: "array" "csv" "excel"

Data format to return

Responses

Response samples

Content type
[
  • [
    ]
]

Run Report

Start a new run of a given report job.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the report job

Responses

Response samples

Content type
application/json
{
  • "id": "abc123",
  • "label": "string",
  • "status": "string",
  • "created": "2019-08-24T14:15:22Z"
}

Get Report Runs

Get a collection of previous runs of a given report job.

Authorizations:
basicAuth
path Parameters
id
required
string

ID of the report job

query Parameters
page
integer
Default: 1

Page number of the collection

perPage
integer <= 500
Default: 20

Maximum number of records to return, up to 500

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "perPage": 20,
  • "total": 100,
  • "className": "report_result",
  • "models": [
    ]
}