# x-archived-from: university-of-auckland-classes-v2-openapi.yml # x-archived-on: 2026-09-16 # University of Auckland — Classes Api V2 # generated: '2026-08-30' # method: searched # source: https://developer.auckland.ac.nz/prd/documentation/api-classes-v2 (OpenAPI 3.1.0 embedded in the University's own Kong developer portal) # x-operator: institution — servers[] and info.contact are both under auckland.ac.nz # Saved VERBATIM. Known defects in the University's own document are NOT corrected here: # paths use tag 'classes' while the root tags[] declares only 'api'. openapi: 3.1.0 info: title: Classes Api V2 description: Class API is intended to provide access to Class attributes, such as ID, Name, Description, Definition etc version: '3.0' contact: name: Student Recruitment email: student-recruitment@list.auckland.ac.nz servers: - url: https://apis.auckland.ac.nz/classes/v2 description: Generated server url paths: /classes: get: tags: - classes summary: Search for classes operationId: classesGet parameters: - name: classNbr in: query description: Class number e.g 19415 required: false schema: type: integer format: int64 - name: term in: query description: Term e.g 1173. If neither year nor term are specified, default to current year. required: false schema: type: string maxLength: 16 minLength: 0 - name: year in: query description: Academic year, eg. 2014. If neither year nor term are specified, default to current year. required: false schema: type: integer format: int32 - name: subject in: query description: Subject e.g EDUC required: false schema: type: string maxLength: 32 minLength: 0 - name: catalogNbr in: query description: Catalogue number e.g 793A required: false schema: type: string maxLength: 40 minLength: 0 - name: crseId in: query description: Course Id, e.g. 044419 required: false schema: type: string maxLength: 24 minLength: 0 - name: acadGroup in: query description: Academic Organisation code e.g 3170 for Faculty of Education and Social Work. required: false schema: type: string maxLength: 20 minLength: 0 - name: status in: query description: Status e.g C, O or W. Supports multiple comma-separated values. required: false schema: type: string maxLength: 32 minLength: 0 - name: component in: query description: Component e.g LAB, TUT. Supports multiple comma-separated values. required: false schema: type: string maxLength: 32 minLength: 0 - name: acadOrg in: query description: Academic Organization e.g MATHS required: false schema: type: string maxLength: 32 minLength: 0 - name: acadCareer in: query description: Academic Career e.g. UC01 required: false schema: type: string maxLength: 32 minLength: 0 - name: classType in: query description: Class Type e.g. N or E required: false schema: type: string maxLength: 32 minLength: 0 - name: isActive in: query description: Is Class Active and Open? required: false schema: type: boolean - name: from in: query description: Offset the list of returned results by this amount. Default is zero. required: false schema: type: integer format: int32 default: 0 - name: size in: query description: Number of items to retrieve. Minimum is 10, maximum is 500. required: false schema: type: integer format: int32 - name: page in: query description: Page number. required: false schema: type: integer format: int32 default: 0 responses: '200': description: An array of classes which match search criteria content: '*/*': schema: $ref: '#/components/schemas/ClassesList' '400': description: Bad request content: '*/*': schema: $ref: '#/components/schemas/ClassesList' '500': description: Unexpected error content: '*/*': schema: $ref: '#/components/schemas/ClassesList' components: schemas: ClassModel: type: object properties: acadCareer: type: string acadGroup: type: string acadOrg: type: string associatedClassNbr: type: string campus: type: string catalogNbr: type: string catalogPrint: type: string classNbr: type: string classDescr: type: string classStatus: type: string classType: type: string classNotes: type: array items: type: string classRequirement: type: string classSection: type: string combinedSectionId: type: string component: type: string consent: type: string dropConsent: type: string crseId: type: string crseOfferNbr: type: integer format: int32 startDate: type: string endDate: type: string enrolCap: type: integer format: int32 enrolTotal: type: integer format: int32 gradingBasis: type: string instructorMode: type: string meetingPatterns: type: array items: $ref: '#/components/schemas/MeetingPattern' points: type: number session: type: string visible: type: boolean status: type: string subject: type: string term: type: string termDescription: type: string text: type: array items: type: string year: type: integer format: int32 ClassesList: type: object properties: data: type: array items: $ref: '#/components/schemas/ClassModel' total: type: integer format: int64 empty: type: boolean _links: $ref: '#/components/schemas/Links' MeetingPattern: type: object properties: startDate: type: string endDate: type: string startTime: type: string endTime: type: string location: type: string daysOfWeek: type: string meetingNumber: type: integer format: int32 Link: type: object properties: href: type: string hreflang: type: string title: type: string type: type: string deprecation: type: string profile: type: string name: type: string templated: type: boolean Links: type: object additionalProperties: $ref: '#/components/schemas/Link' securitySchemes: apikey: type: apiKey x-headmatter: readable_by: [] tags: - name: api