openapi: 3.2.0 info: version: v1 title: Registrar Department Course List API v1.0 Class List API description: 'Course List information for a given department. The information is from the Office of the Registrar. The BasicAuth header is a base64-encoded(ucsbNetId:password) combination. This should be the ucsbNetId/password combination that was previously used to access the WebExtracts website. When requesting a list of departments information, please try to keep the number of departments per request to 5 or less.' servers: - url: https://api.ucsb.edu/students/private/deptcourses security: - ucsb-api-key: [] - BasicAuth: [] tags: - name: ClassList paths: /v1/classlist: get: tags: - ClassList summary: Retrieves a list of courses for a given {quarter} and list of {departements}. operationId: ClassList_Get parameters: - name: quarter in: query description: The quarter required: true schema: type: string - name: departments in: query description: 'The list of 5 character department codes. Department code translations: Student Record Code Lookups API.' required: true style: form explode: true schema: type: array items: type: string - name: ucsb-api-version in: header description: The requested API version required: false schema: type: string default: '1.0' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Department' text/json: schema: type: array items: $ref: '#/components/schemas/Department' application/xml: schema: type: array items: $ref: '#/components/schemas/Department' text/xml: schema: type: array items: $ref: '#/components/schemas/Department' components: schemas: Student: type: object properties: lastName: type: string firstName: type: string middleName: type: string permNumber: type: string emailAddress: type: string courseStatus: type: string Department: type: object properties: deptCode: type: string courses: type: array items: $ref: '#/components/schemas/Course' Course: type: object properties: courseID: type: string courseTitle: type: string courseDescription: type: string prerequisiteText: type: string crossListedCourses: type: array items: type: string sections: type: array items: $ref: '#/components/schemas/Section' Section: type: object properties: enrollCode: type: string sectionNumber: type: string maxEnroll: type: string enrolledTotal: type: string sessionNumber: type: string classFull: type: string closedClass: type: string cancelledCourse: type: string courseType: type: string unitsFixed: type: string unitsVarHigh: type: string unitsVarLow: type: string timeLocations: type: array items: $ref: '#/components/schemas/TimeLocation' instructors: type: array items: $ref: '#/components/schemas/Instructor' concurrentCourses: type: array items: $ref: '#/components/schemas/ConcurrentCourse' students: type: array items: $ref: '#/components/schemas/Student' ConcurrentCourse: type: object properties: concurrentCourseNumber: type: string concurrentSectionNumber: type: string concurrentSessionNumber: type: string TimeLocation: type: object properties: days: type: string beginTime: type: string endTime: type: string buildingRoom: type: string roomCapacity: type: string Instructor: type: object properties: firstName: type: string lastName: type: string pronounCode: type: string name: type: string employeeNumber: type: string isPpsEmployeeNumber: type: boolean readOnly: true isUcPathEmployeeNumber: type: boolean readOnly: true titleCode: type: string instructorFunction: type: string instructorFunctionDescription: type: string securitySchemes: ucsb-api-key: name: ucsb-api-key in: header type: apiKey BasicAuth: type: http scheme: basic