openapi: 3.0.0 info: description: A public API for retrieving classes at Cornell University version: "0.1" title: Cornell Classes contact: name: Cornell Open Data Initiative url: https://codi.engineering.cornell.edu email: codi@cornellappdev.com paths: /config/rosters.json: get: tags: - config summary: Get available Cornell rosters description: Return information about all available Cornell rosters responses: "200": description: A JSON of rosters content: "*/*": schema: $ref: "#/components/schemas/RostersResponse" /config/acadCareers.json: get: tags: - config summary: Get available academic careers for a roster description: Return all available academic careers for a roster. Academic careers refer to student type (i.e. Undergraduate) or study type (i.e. Graduate Management). parameters: - name: roster in: query description: Roster semester & year (i.e. FA14, SP15) required: true schema: type: string responses: "200": description: A JSON of academic careers content: "*/*": schema: $ref: "#/components/schemas/AcadCareersResponse" /config/acadGroups.json: get: tags: - config summary: Get available academic groups for a roster description: Return all available academic groups for a roster. Academic groups refer to college type (i.e. Engineering) or study type (i.e. Graduate Management). parameters: - name: roster in: query description: Roster semester & year (i.e. FA14, SP15) required: true schema: type: string responses: "200": description: A JSON of academic groups content: "*/*": schema: $ref: "#/components/schemas/AcadGroupsResponse" /config/classLevels.json: get: tags: - config summary: Get available class levels for a roster description: Return all available class levels for a roster. Class levels refer to the level of the course as specified by the course number (i.e. 1000, 2000). For instance, CS 4300 has a class level of 4000. parameters: - name: roster in: query description: Roster semester & year (i.e. FA14, SP15) required: true schema: type: string responses: "200": description: A JSON of class levels content: "*/*": schema: $ref: "#/components/schemas/ClassLevelsResponse" /config/subjects.json: get: tags: - config summary: Get available subjects for roster description: Return all available course subjects for a roster. parameters: - name: roster in: query description: Roster semester & year (i.e. FA14, SP15) required: true schema: type: string responses: "200": description: A JSON of subjects content: "*/*": schema: $ref: "#/components/schemas/SubjectsResponse" /search/classes.json: get: tags: - search summary: Get all classes matching input query description: Return all classes in the specified roster and subject that match the input query parameters: - name: roster in: query description: Roster semester & year (i.e. FA14, SP15) required: true schema: type: string - name: subject in: query description: Academic subject (i.e. CS, PHIL) required: true schema: type: string - name: acadGroup[] in: query description: Academic group (i.e. AG) required: false schema: type: string - name: acadCareer[] in: query description: Academic career (i.e. GR) required: false schema: type: string - name: classLevels[] in: query description: Class levels (i.e. 6000) required: false schema: type: integer - name: crseAttrs[] in: query description: Course attribute (i.e. CU-SBY) required: false schema: type: string - name: q in: query description: Search term (i.e. graphics) required: false schema: type: string responses: "200": description: A JSON of classes content: "*/*": schema: $ref: "#/components/schemas/ClassesResponse" servers: - url: https://classes.cornell.edu/api/2.0 components: schemas: RostersResponse: type: object properties: status: type: string example: success data: $ref: "#/components/schemas/RostersResponse_data" message: type: string example: null meta: $ref: "#/components/schemas/RostersResponse_meta" example: data: rosters: - lastModifiedDttm: 2018-04-02T19:35:43-0400 strm: 2573 defaultInstructionMode: P sharing: N isDefaultRoster: N version: referenceDttm: 2015-01-14T18:16:01-0500 catalogDttm: 2015-01-14T18:21:04-0500 showCatalogNote: Y catalogCourseNote: null catalog: acalogCatalogId: 22 descr: Courses of Study 2014-2015 descrshort: CoS 14-15 version: status: COMPLETE descriptionSource: CATALOG status: COMPLETE archiveMode: Y defaultCampus: MAIN descr: Fall 2014 defaultSessionCode: 1 descrshort: 2014FA slug: FA14 defaultLocation: ITH - lastModifiedDttm: 2018-04-02T19:35:43-0400 strm: 2573 defaultInstructionMode: P sharing: N isDefaultRoster: N version: referenceDttm: 2015-01-14T18:16:01-0500 catalogDttm: 2015-01-14T18:21:04-0500 showCatalogNote: Y catalogCourseNote: null catalog: acalogCatalogId: 22 descr: Courses of Study 2014-2015 descrshort: CoS 14-15 version: status: COMPLETE descriptionSource: CATALOG status: COMPLETE archiveMode: Y defaultCampus: MAIN descr: Fall 2014 defaultSessionCode: 1 descrshort: 2014FA slug: FA14 defaultLocation: ITH meta: copyright: Cornell University, Office of the University Registrar message: null status: success AcadCareersResponse: type: object properties: status: type: string example: success data: $ref: "#/components/schemas/AcadCareersResponse_data" message: type: string example: null meta: $ref: "#/components/schemas/Meta" example: data: acadCareers: - descr: Undergraduate value: UG - descr: Undergraduate value: UG meta: referenceDttm: 2015-01-14T18:16:01-0500 copyright: Cornell University, Office of the University Registrar message: null status: success AcadGroupsResponse: type: object properties: status: type: string example: success data: $ref: "#/components/schemas/AcadGroupsResponse_data" message: type: string example: null meta: $ref: "#/components/schemas/Meta" example: data: acadGroups: - descr: Agriculture and Life Sciences value: AG - descr: Agriculture and Life Sciences value: AG meta: referenceDttm: 2015-01-14T18:16:01-0500 copyright: Cornell University, Office of the University Registrar message: null status: success ClassLevelsResponse: type: object properties: status: type: string example: success data: $ref: "#/components/schemas/ClassLevelsResponse_data" message: type: string example: null meta: $ref: "#/components/schemas/Meta" example: data: classLevels: - descr: 1000 value: 1000 - descr: 1000 value: 1000 meta: referenceDttm: 2015-01-14T18:16:01-0500 copyright: Cornell University, Office of the University Registrar message: null status: success SubjectsResponse: type: object properties: status: type: string example: success data: $ref: "#/components/schemas/SubjectsResponse_data" message: type: string example: null meta: $ref: "#/components/schemas/Meta" example: data: subjects: - descr: Asian American Studies descrformal: Asian American Studies value: AAS - descr: Asian American Studies descrformal: Asian American Studies value: AAS meta: referenceDttm: 2015-01-14T18:16:01-0500 copyright: Cornell University, Office of the University Registrar message: null status: success ClassesResponse: type: object properties: status: type: string example: success data: $ref: "#/components/schemas/ClassesResponse_data" message: type: string example: null meta: $ref: "#/components/schemas/ClassesResponse_meta" example: data: subjects: - catalogBreadth: null catalogPrereqCoreq: Assumes basic high school mathematics (no calculus) but no programming experience. enrollGroups: - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] catalogCourseSubfield: null subject: CS catalogDistr: (MQR) catalogOutcomes: [] description: null strm: 2573 catalogComments: null catalogForbiddenOverlaps: null acadCareer: UG crseId: 358526 crseOfferNbr: 1 catalogNbr: 1110 catalogLang: null titleShort: Intro Computing Using Python titleLong: Introduction to Computing Using Python acadGroup: EN catalogFee: null catalogPermission: null catalogWhenOffered: Fall, spring, summer. catalogSatisfiesReq: null - catalogBreadth: null catalogPrereqCoreq: Assumes basic high school mathematics (no calculus) but no programming experience. enrollGroups: - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] catalogCourseSubfield: null subject: CS catalogDistr: (MQR) catalogOutcomes: [] description: null strm: 2573 catalogComments: null catalogForbiddenOverlaps: null acadCareer: UG crseId: 358526 crseOfferNbr: 1 catalogNbr: 1110 catalogLang: null titleShort: Intro Computing Using Python titleLong: Introduction to Computing Using Python acadGroup: EN catalogFee: null catalogPermission: null catalogWhenOffered: Fall, spring, summer. catalogSatisfiesReq: null meta: copyright: Cornell University, Office of the University Registrar catalogDttm: 2015-01-14T18:21:04-0500 rosterDttm: 2015-01-14T18:16:01-0500 message: null status: success Roster: type: object properties: slug: type: string example: FA14 isDefaultRoster: type: string example: N strm: type: string example: 2573 descr: type: string example: Fall 2014 descrshort: type: string example: 2014FA defaultSessionCode: type: string example: 1 defaultCampus: type: string example: MAIN defaultLocation: type: string example: ITH defaultInstructionMode: type: string example: P sharing: type: string example: N archiveMode: type: string example: Y version: $ref: "#/components/schemas/Roster_version" lastModifiedDttm: type: string example: 2018-04-02T19:35:43-0400 example: lastModifiedDttm: 2018-04-02T19:35:43-0400 strm: 2573 defaultInstructionMode: P sharing: N isDefaultRoster: N version: referenceDttm: 2015-01-14T18:16:01-0500 catalogDttm: 2015-01-14T18:21:04-0500 showCatalogNote: Y catalogCourseNote: null catalog: acalogCatalogId: 22 descr: Courses of Study 2014-2015 descrshort: CoS 14-15 version: status: COMPLETE descriptionSource: CATALOG status: COMPLETE archiveMode: Y defaultCampus: MAIN descr: Fall 2014 defaultSessionCode: 1 descrshort: 2014FA slug: FA14 defaultLocation: ITH AcadCareers: type: object properties: value: type: string example: UG descr: type: string example: Undergraduate example: descr: Undergraduate value: UG AcadGroups: type: object properties: value: type: string example: AG descr: type: string example: Agriculture and Life Sciences example: descr: Agriculture and Life Sciences value: AG ClassLevels: type: object properties: value: type: string example: 1000 descr: type: integer example: 1000 example: descr: 1000 value: 1000 Subjects: type: object properties: value: type: string example: AAS descr: type: string example: Asian American Studies descrformal: type: string example: Asian American Studies example: descr: Asian American Studies descrformal: Asian American Studies value: AAS Classes: type: object properties: strm: type: integer example: 2573 crseId: type: integer example: 358526 crseOfferNbr: type: integer example: 1 subject: type: string example: CS catalogNbr: type: string example: 1110 titleShort: type: string example: Intro Computing Using Python titleLong: type: string example: Introduction to Computing Using Python enrollGroups: type: array items: $ref: "#/components/schemas/Classes_enrollGroups" description: type: string example: null catalogBreadth: type: string example: null catalogDistr: type: string example: (MQR) catalogLang: type: string example: null catalogForbiddenOverlaps: type: string example: null catalogWhenOffered: type: string example: Fall, spring, summer. catalogComments: type: string example: null catalogPrereqCoreq: type: string example: Assumes basic high school mathematics (no calculus) but no programming experience. catalogFee: type: string example: null catalogSatisfiesReq: type: string example: null catalogPermission: type: string example: null catalogCourseSubfield: type: string example: null catalogOutcomes: type: array example: [] items: type: string acadCareer: type: string example: UG acadGroup: type: string example: EN example: catalogBreadth: null catalogPrereqCoreq: Assumes basic high school mathematics (no calculus) but no programming experience. enrollGroups: - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] catalogCourseSubfield: null subject: CS catalogDistr: (MQR) catalogOutcomes: [] description: null strm: 2573 catalogComments: null catalogForbiddenOverlaps: null acadCareer: UG crseId: 358526 crseOfferNbr: 1 catalogNbr: 1110 catalogLang: null titleShort: Intro Computing Using Python titleLong: Introduction to Computing Using Python acadGroup: EN catalogFee: null catalogPermission: null catalogWhenOffered: Fall, spring, summer. catalogSatisfiesReq: null Meta: type: object properties: copyright: type: string example: Cornell University, Office of the University Registrar referenceDttm: type: string example: 2015-01-14T18:16:01-0500 example: referenceDttm: 2015-01-14T18:16:01-0500 copyright: Cornell University, Office of the University Registrar RostersResponse_data: properties: rosters: type: array items: $ref: "#/components/schemas/Roster" example: rosters: - lastModifiedDttm: 2018-04-02T19:35:43-0400 strm: 2573 defaultInstructionMode: P sharing: N isDefaultRoster: N version: referenceDttm: 2015-01-14T18:16:01-0500 catalogDttm: 2015-01-14T18:21:04-0500 showCatalogNote: Y catalogCourseNote: null catalog: acalogCatalogId: 22 descr: Courses of Study 2014-2015 descrshort: CoS 14-15 version: status: COMPLETE descriptionSource: CATALOG status: COMPLETE archiveMode: Y defaultCampus: MAIN descr: Fall 2014 defaultSessionCode: 1 descrshort: 2014FA slug: FA14 defaultLocation: ITH - lastModifiedDttm: 2018-04-02T19:35:43-0400 strm: 2573 defaultInstructionMode: P sharing: N isDefaultRoster: N version: referenceDttm: 2015-01-14T18:16:01-0500 catalogDttm: 2015-01-14T18:21:04-0500 showCatalogNote: Y catalogCourseNote: null catalog: acalogCatalogId: 22 descr: Courses of Study 2014-2015 descrshort: CoS 14-15 version: status: COMPLETE descriptionSource: CATALOG status: COMPLETE archiveMode: Y defaultCampus: MAIN descr: Fall 2014 defaultSessionCode: 1 descrshort: 2014FA slug: FA14 defaultLocation: ITH RostersResponse_meta: properties: copyright: type: string example: Cornell University, Office of the University Registrar example: copyright: Cornell University, Office of the University Registrar AcadCareersResponse_data: properties: acadCareers: type: array items: $ref: "#/components/schemas/AcadCareers" example: acadCareers: - descr: Undergraduate value: UG - descr: Undergraduate value: UG AcadGroupsResponse_data: properties: acadGroups: type: array items: $ref: "#/components/schemas/AcadGroups" example: acadGroups: - descr: Agriculture and Life Sciences value: AG - descr: Agriculture and Life Sciences value: AG ClassLevelsResponse_data: properties: classLevels: type: array items: $ref: "#/components/schemas/ClassLevels" example: classLevels: - descr: 1000 value: 1000 - descr: 1000 value: 1000 SubjectsResponse_data: properties: subjects: type: array items: $ref: "#/components/schemas/Subjects" example: subjects: - descr: Asian American Studies descrformal: Asian American Studies value: AAS - descr: Asian American Studies descrformal: Asian American Studies value: AAS ClassesResponse_data: properties: subjects: type: array items: $ref: "#/components/schemas/Classes" example: subjects: - catalogBreadth: null catalogPrereqCoreq: Assumes basic high school mathematics (no calculus) but no programming experience. enrollGroups: - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] catalogCourseSubfield: null subject: CS catalogDistr: (MQR) catalogOutcomes: [] description: null strm: 2573 catalogComments: null catalogForbiddenOverlaps: null acadCareer: UG crseId: 358526 crseOfferNbr: 1 catalogNbr: 1110 catalogLang: null titleShort: Intro Computing Using Python titleLong: Introduction to Computing Using Python acadGroup: EN catalogFee: null catalogPermission: null catalogWhenOffered: Fall, spring, summer. catalogSatisfiesReq: null - catalogBreadth: null catalogPrereqCoreq: Assumes basic high school mathematics (no calculus) but no programming experience. enrollGroups: - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] - unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: [] catalogCourseSubfield: null subject: CS catalogDistr: (MQR) catalogOutcomes: [] description: null strm: 2573 catalogComments: null catalogForbiddenOverlaps: null acadCareer: UG crseId: 358526 crseOfferNbr: 1 catalogNbr: 1110 catalogLang: null titleShort: Intro Computing Using Python titleLong: Introduction to Computing Using Python acadGroup: EN catalogFee: null catalogPermission: null catalogWhenOffered: Fall, spring, summer. catalogSatisfiesReq: null ClassesResponse_meta: properties: copyright: type: string example: Cornell University, Office of the University Registrar rosterDttm: type: string example: 2015-01-14T18:16:01-0500 catalogDttm: type: string example: 2015-01-14T18:21:04-0500 example: copyright: Cornell University, Office of the University Registrar catalogDttm: 2015-01-14T18:21:04-0500 rosterDttm: 2015-01-14T18:16:01-0500 Roster_version_catalog_version: properties: status: type: string example: COMPLETE example: status: COMPLETE Roster_version_catalog: properties: descrshort: type: string example: CoS 14-15 descr: type: string example: Courses of Study 2014-2015 acalogCatalogId: type: integer example: 22 version: $ref: "#/components/schemas/Roster_version_catalog_version" example: acalogCatalogId: 22 descr: Courses of Study 2014-2015 descrshort: CoS 14-15 version: status: COMPLETE Roster_version: properties: status: type: string example: COMPLETE referenceDttm: type: string example: 2015-01-14T18:16:01-0500 catalogDttm: type: string example: 2015-01-14T18:21:04-0500 descriptionSource: type: string example: CATALOG showCatalogNote: type: string example: Y catalogCourseNote: type: string example: null catalog: $ref: "#/components/schemas/Roster_version_catalog" example: referenceDttm: 2015-01-14T18:16:01-0500 catalogDttm: 2015-01-14T18:21:04-0500 showCatalogNote: Y catalogCourseNote: null catalog: acalogCatalogId: 22 descr: Courses of Study 2014-2015 descrshort: CoS 14-15 version: status: COMPLETE descriptionSource: CATALOG status: COMPLETE Classes_enrollGroups: properties: classSections: type: array example: [] items: type: object properties: {} unitsMinimum: type: integer example: 4 unitsMaximum: type: integer example: 4 componentsOptional: type: array example: [] items: type: string componentsRequired: type: array example: [] items: type: string gradingBasis: type: string example: OPT gradingBasisShort: type: string example: Stdnt Opt gradingBasisLong: type: string example: Student Option simpleCombinations: type: array example: [] items: type: string sessionCode: type: string example: 1 sessionBeginDt: type: string example: 08/26/2014 sessionEndDt: type: string example: 12/05/2014 sessionLong: type: string example: Regular Academic Session example: unitsMaximum: 4 sessionCode: 1 simpleCombinations: [] gradingBasisShort: Stdnt Opt componentsOptional: [] gradingBasisLong: Student Option sessionEndDt: 12/05/2014 unitsMinimum: 4 gradingBasis: OPT sessionLong: Regular Academic Session sessionBeginDt: 08/26/2014 componentsRequired: [] classSections: []