openapi: 3.2.0 info: title: Ucsb Schedules API version: '1.0' description: 'Operations tagged Schedules across 2 of this provider''s published API definitions: schedules-v1.drupal.yaml, schedules-v1.out_.api_.yaml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.ucsb.edu/academics/clas/schedules/v1 - url: https://api.ucsb.edu/students/schedules tags: - name: Schedules paths: /subjects/term: get: tags: - Schedules parameters: - name: ucsb-api-version in: header required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/TermInfo' application/json: schema: $ref: '#/components/schemas/TermInfo' text/json: schema: $ref: '#/components/schemas/TermInfo' '400': description: Bad or malformed request. This returns a Problem Details object (https://tools.ietf.org/html/rfc7807). content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-400-apiversion: description: If the ApiVersion information cannot be inferred correctly, an error message describing the issue is returned. content: application/json: schema: $ref: '#/components/schemas/ApiVersionError' security: - ucsb-api-key: [] - basicAuth: [] summary: Get subjects term x-summary-source: derived operationId: getSubjectsTerm x-operation-id-source: derived servers: - url: https://api.ucsb.edu/academics/clas/schedules/v1 /subjects: get: tags: - Schedules parameters: - name: ucsb-api-version in: header required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Subject' application/json: schema: type: array items: $ref: '#/components/schemas/Subject' text/json: schema: type: array items: $ref: '#/components/schemas/Subject' '400': description: Bad or malformed request. This returns a Problem Details object (https://tools.ietf.org/html/rfc7807). content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-400-apiversion: description: If the ApiVersion information cannot be inferred correctly, an error message describing the issue is returned. content: application/json: schema: $ref: '#/components/schemas/ApiVersionError' security: - ucsb-api-key: [] - basicAuth: [] summary: Get subjects x-summary-source: derived operationId: getSubjects x-operation-id-source: derived servers: - url: https://api.ucsb.edu/academics/clas/schedules/v1 /subjects/{subjectcode}: get: tags: - Schedules parameters: - name: subjectcode in: path required: true schema: type: string - name: ucsb-api-version in: header required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Schedule' application/json: schema: type: array items: $ref: '#/components/schemas/Schedule' text/json: schema: type: array items: $ref: '#/components/schemas/Schedule' '400': description: Bad or malformed request. This returns a Problem Details object (https://tools.ietf.org/html/rfc7807). content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-400-apiversion: description: If the ApiVersion information cannot be inferred correctly, an error message describing the issue is returned. content: application/json: schema: $ref: '#/components/schemas/ApiVersionError' security: - ucsb-api-key: [] - basicAuth: [] summary: Get subjects by subjectcode x-summary-source: derived operationId: getSubjectsBySubjectcode x-operation-id-source: derived servers: - url: https://api.ucsb.edu/academics/clas/schedules/v1 /skills/term: get: tags: - Schedules parameters: - name: ucsb-api-version in: header required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/TermInfo' application/json: schema: $ref: '#/components/schemas/TermInfo' text/json: schema: $ref: '#/components/schemas/TermInfo' '400': description: Bad or malformed request. This returns a Problem Details object (https://tools.ietf.org/html/rfc7807). content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-400-apiversion: description: If the ApiVersion information cannot be inferred correctly, an error message describing the issue is returned. content: application/json: schema: $ref: '#/components/schemas/ApiVersionError' security: - ucsb-api-key: [] - basicAuth: [] summary: Get skills term x-summary-source: derived operationId: getSkillsTerm x-operation-id-source: derived servers: - url: https://api.ucsb.edu/academics/clas/schedules/v1 /skills: get: tags: - Schedules parameters: - name: ucsb-api-version in: header required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/WorkshopCategory' application/json: schema: type: array items: $ref: '#/components/schemas/WorkshopCategory' text/json: schema: type: array items: $ref: '#/components/schemas/WorkshopCategory' '400': description: Bad or malformed request. This returns a Problem Details object (https://tools.ietf.org/html/rfc7807). content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-400-apiversion: description: If the ApiVersion information cannot be inferred correctly, an error message describing the issue is returned. content: application/json: schema: $ref: '#/components/schemas/ApiVersionError' security: - ucsb-api-key: [] - basicAuth: [] summary: Get skills x-summary-source: derived operationId: getSkills x-operation-id-source: derived servers: - url: https://api.ucsb.edu/academics/clas/schedules/v1 /skills/{skillcode}: get: tags: - Schedules parameters: - name: skillcode in: path required: true schema: type: integer format: int32 - name: ucsb-api-version in: header required: true schema: type: string default: '1.0' responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/WorkshopTitle' application/json: schema: type: array items: $ref: '#/components/schemas/WorkshopTitle' text/json: schema: type: array items: $ref: '#/components/schemas/WorkshopTitle' '400': description: Bad or malformed request. This returns a Problem Details object (https://tools.ietf.org/html/rfc7807). content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' x-400-apiversion: description: If the ApiVersion information cannot be inferred correctly, an error message describing the issue is returned. content: application/json: schema: $ref: '#/components/schemas/ApiVersionError' security: - ucsb-api-key: [] - basicAuth: [] summary: Get skills by skillcode x-summary-source: derived operationId: getSkillsBySkillcode x-operation-id-source: derived servers: - url: https://api.ucsb.edu/academics/clas/schedules/v1 /v1/schedules/{perm}/{quarter}: get: tags: - Schedules operationId: /v1/schedules/{perm}/{quarter} parameters: - name: perm in: path description: Students 6 or 7 digit perm required: true schema: type: string - name: quarter in: path description: Quarter with format YYYYQ required: true schema: type: string - name: ucsb-user-jwt in: header description: Used when an application is required to provide an End User Token. Only the data for the student indicated by the End User Token will be retrieved. required: false schema: type: string - name: ucsb-api-version in: header description: Specific api version to use. required: false schema: type: string default: '1.0' responses: '200': description: Return the list of courses in a students schedule. content: application/json: schema: $ref: '#/components/schemas/StudentScheduleCourse' text/json: schema: $ref: '#/components/schemas/StudentScheduleCourse' '400': description: Bad or malformed request. See response body for details. content: application/json: schema: $ref: '#/components/schemas/WebApiInvalidModel' text/json: schema: $ref: '#/components/schemas/WebApiInvalidModel' '401': description: Unauthorized. See response body for details. content: application/json: schema: $ref: '#/components/schemas/SimpleMessageModel' text/json: schema: $ref: '#/components/schemas/SimpleMessageModel' '404': description: Resource cannot be found. See response body for details. content: application/json: schema: $ref: '#/components/schemas/SimpleMessageModel' text/json: schema: $ref: '#/components/schemas/SimpleMessageModel' description: Search for student schedule by perm and quarter. While schedule information can be returned from any quarter the endpoint is intended to provide schedule information for the current quarter. The course information returned will contain the time and classroom of the course along with instructor information. security: - ucsb-api-key: [] - BasicAuth: [] summary: /v1/schedules/{perm}/{quarter} x-summary-source: derived servers: - url: https://api.ucsb.edu/students/schedules components: schemas: EnrollDates: required: - term type: object properties: enrollDatesPk: type: integer description: Unique Id of the Alpha Object format: int32 term: maxLength: 5 minLength: 0 type: string description: The term session: maxLength: 1 minLength: 0 type: - string - 'null' description: The session enrollStart: type: string description: Enroll Start format: date-time enrollEnd: type: string description: Enroll End format: date-time additionalProperties: false WorkshopSchedule: type: object properties: workshopCategoryPk: type: integer format: int32 workshopSkillClassPk: type: integer format: int32 workshopCode: type: - string - 'null' workshopDate: type: - string - 'null' workshopTime: type: - string - 'null' sessionCount: type: integer format: int32 additionalProperties: false Subject: required: - subjectCode type: object properties: subjectCode: maxLength: 5 minLength: 0 type: string subjectName: maxLength: 25 minLength: 0 type: - string - 'null' schedules: type: - array - 'null' items: $ref: '#/components/schemas/Schedule' additionalProperties: false ApiVersionError: type: object properties: error: $ref: '#/components/schemas/ApiVersionErrorDetail' additionalProperties: false ProblemDetails: type: object properties: type: type: - string - 'null' title: type: - string - 'null' status: type: - integer - 'null' format: int32 detail: type: - string - 'null' instance: type: - string - 'null' additionalProperties: {} WorkshopTitle: type: object properties: workshopCategoryPk: type: integer format: int32 workshopSkillClassPk: type: integer format: int32 workshopTitleName: type: - string - 'null' htmlDescription: type: - string - 'null' workshopSchedules: type: - array - 'null' items: $ref: '#/components/schemas/WorkshopSchedule' additionalProperties: false ApiVersionErrorDetail: type: object properties: code: type: - string - 'null' message: type: - string - 'null' target: type: - string - 'null' innerError: type: - string - 'null' details: type: - array - 'null' items: $ref: '#/components/schemas/ApiVersionErrorDetail' additionalProperties: false WorkshopCategory: type: object properties: term: type: - string - 'null' workshopCategoryPk: type: integer format: int32 workshopCategoryName: type: - string - 'null' workshopTitles: type: - array - 'null' items: $ref: '#/components/schemas/WorkshopTitle' additionalProperties: false Schedule: type: object properties: subjectCode: type: - string - 'null' subjectName: type: - string - 'null' courseNo: type: - string - 'null' session: type: - string - 'null' instructor: type: - string - 'null' groupLecturePK: type: integer format: int32 lectureDays: type: - string - 'null' lectureTime: type: - string - 'null' lectureLocation: type: - string - 'null' groupCode: type: - string - 'null' tutor: type: - string - 'null' groupDays: type: - string - 'null' groupTime: type: - string - 'null' isNew: type: boolean additionalProperties: false TermInfo: type: object properties: term: type: - string - 'null' quarter: type: - string - 'null' year: type: - string - 'null' isSession: type: boolean enrollDates: type: - array - 'null' items: $ref: '#/components/schemas/EnrollDates' message: type: - string - 'null' additionalProperties: false ScheduleTimeLocation: description: Time Location data for course type: object properties: section: description: Course section student enrolled in type: string instructionTypeCode: description: 'Instruction Type ex Lec , Dis etc See more InstructionTypeCode and InstructionTypeTranslation on InstructionType interface on Public Lookups API' type: string days: description: 'Days of Instruction for course for example ''M W '' means instruction happens on Monday and wednesday For mode translation on day code look at Days interface at public api' type: string beginTime: description: 'Begin time for a course HH:mm format' type: string endTime: description: 'End time of the course HH:mm format' type: string buildingRoom: description: location of course type: string instructors: description: Time location instructor list type: array items: $ref: '#/components/schemas/TimeLocationInstructor' TimeLocationInstructor: description: Instructor assigned to a course type: object properties: name: description: Name of the Instructor type: string functionCode: description: 'Instruction Function. See more InstructionFunctionCode and InstructionFunctionTranslation on InstructionFunction interface See translation on public lookup api' type: string StudentScheduleCourse: description: Student Schedule data includes course, time location and instructor data type: object properties: courseId: description: '13 character course Id with format SSSSSPPPNNNNUUU, Fist 5 char is course subject, Next 3 char is course prefix then next 3 char is course number and last 2 char is course suffix. For example ''ES 1- 16B '' can be broken down in subject ''ES '' prefix ''1- '' number '' 16'' suffix ''B ''' type: string quarter: description: Quarter with format YYYYQ type: string enrollCode: description: 'EnrollCode an unique number assigned to a curriculum' type: string gradingOptionCode: description: 'Grading Options Code like Pass/No Pass (P/NP) Or Letter Grades (L) See more GradingOptionsCode and GradingOptionsTranslation on GradingOptions interface on Public Lookups API' type: string unitsAttempted: format: double description: 'Total number of units attempted by the student for the course' type: number courseTitle: description: Course Title from curriculum catalog type: string session: description: Session number only for summer quarter type: string repeatTypeCode: description: 'Repeat type for a course See more RepeatTypeCode and RepeatTypeTranslation on RepeatType interface on Public Lookups API' type: string timeLocations: description: Schedule Time locations list with instructor data type: array items: $ref: '#/components/schemas/ScheduleTimeLocation' WebApiInvalidModel: type: object properties: message: type: string modelState: type: object additionalProperties: type: array items: type: string SimpleMessageModel: type: object properties: message: type: string securitySchemes: ucsb-api-key: name: ucsb-api-key in: header type: apiKey basicAuth: type: http scheme: basic BasicAuth: type: http scheme: basic x-refined-from: - schedules-v1.drupal.yaml - schedules-v1.out_.api_.yaml