https://www.assist.org/api/AcademicYears Returns json list of years and year ID’s (this can be hardcoded math instead)
https://www.assist.org/api/institutions Returns list of institutions
import requests
import json
response = requests.get('https://www.assist.org/api/institutions')
institutions = json.loads(response.text)
print()
https://www.assist.org/api/institutions/11/agreements Returns list of institutions with agreements to institution 11
https://www.assist.org/api/agreements?receivingInstitutionId=11&sendingInstitutionId=5&academicYearId=75&categoryCode=major Returns list of majors and ID’s for institution 5→11
https://www.assist.org/api/articulation/Agreements?Key=75/5/to/11/Major/47164797-2cc9-4ba3-13cb-08dcbcdb53de Returns articulations and catalog year info
- Data under key “articulations” is itself a json structure which contains actually useful information
{
"templateCellId": "bcb556be-6f96-45aa-2729-08dcbcdb53ef",
"articulation": {
"type": "Course",
"course": {
"courseIdentifierParentId": 351833,
"courseTitle": "General Physics III",
"courseNumber": "143",
"prefix": "PHYS",
"prefixParentId": 192,
"prefixDescription": "Physics",
"departmentParentId": 10752,
"department": "Physics",
"begin": "F2022",
"end": "",
"minUnits": 4,
"maxUnits": 4,
"pathways": []
},
"visibleCrossListedCourses": [],
"courseAttributes": [],
"sendingArticulation": {
"noArticulationReason": null,
"deniedCourses": [],
"items": [
{
"courseConjunction": "And",
"items": [
{
"visibleCrossListedCourses": [],
"requisites": [],
"attributes": [],
"courseIdentifierParentId": 281715,
"courseTitle": "Physics with Calculus II",
"courseNumber": "260",
"prefix": "PHYS",
"prefixParentId": 185,
"prefixDescription": "Physics",
"departmentParentId": 10748,
"department": "Physics",
"begin": "F1995",
"end": "",
"minUnits": 4,
"maxUnits": 4,
"pathways": [],
"publishedCourseIdentifierYearTermId": null,
"position": 0,
"type": "Course"
}
],
"attributes": [],
"position": 0,
"type": "CourseGroup"
}
],
"courseGroupConjunctions": [],
"type": "SendingArticulation",
"attributes": []
},
"templateOverrides": [],
"attributes": [],
"receivingAttributes": []
},
"receivingAttributes": {
"type": "Course",
"courseAttributes": [],
"attributes": []
}
}
Articulations[0]
{
"templateCellId": "1bf5b213-4e1b-4b6e-272c-08dcbcdb53ef",
"articulation": {
"type": "Course",
"course": {
"courseIdentifierParentId": 281890,
"courseTitle": "Calculus I",
"courseNumber": "141",
"prefix": "MATH",
"prefixParentId": 9918,
"prefixDescription": "Mathematics",
"departmentParentId": 8956,
"department": "Mathematics",
"begin": "F2000",
"end": "",
"minUnits": 4.0,
"maxUnits": 4.0,
"pathways": []
},
"visibleCrossListedCourses": [
{
"courseIdentifierParentId": 357056,
"courseTitle": "Calculus I",
"courseNumber": "141",
"prefix": "HNRS",
"prefixParentId": 16,
"prefixDescription": "Honors",
"departmentParentId": 7099,
"department": "Honors",
"begin": "F2015",
"end": "",
"minUnits": 4.0,
"maxUnits": 4.0,
"pathways": []
}
],
"courseAttributes": [],
"sendingArticulation": {
"noArticulationReason": null,
"deniedCourses": [],
"items": [
{
"courseConjunction": "And",
"items": [
{
"visibleCrossListedCourses": [],
"requisites": [],
"attributes": [],
"courseIdentifierParentId": 280590,
"courseTitle": "Calculus with Analytic Geometry I",
"courseNumber": "251",
"prefix": "MATH",
"prefixParentId": 9912,
"prefixDescription": "Mathematics",
"departmentParentId": 8950,
"department": "Mathematics",
"begin": "F1995",
"end": "",
"minUnits": 5.0,
"maxUnits": 5.0,
"pathways": [],
"publishedCourseIdentifierYearTermId": null,
"position": 0,
"type": "Course"
}
],
"attributes": [],
"position": 0,
"type": "CourseGroup"
}
],
"courseGroupConjunctions": [],
"type": "SendingArticulation",
"attributes": []
},
"templateOverrides": [],
"attributes": [],
"receivingAttributes": []
},
"receivingAttributes": {
"type": "Course",
"courseAttributes": [],
"attributes": []
}
}
Taken Classes upload format
Classes:
- Calculus 1: null
institutionID: 4
department: MATH
courseNumber: 251
credits: 5
points: 20
inProgress: false
- Calculus 2: null
institutionID: 4
department: MATH
courseNumber: 252
credits: 5
inProgress: true
Feature requests
- Alphabetic order for dropdowns
- yaml box biggerify
- fix/mitigate needing to reselect major to view results