openapi: 3.0.4 info: title: HTWKalendar API version: 1.0.2 servers: - url: https://cal.htwk-leipzig.de description: Production server - url: https://dev.cal.fsr.imn.htwk-leipzig.de description: Development server - url: http://localhost:8090 description: Local server paths: /api/fetch/events: get: summary: Fetch Seminar Plans security: - ApiKeyAuth: [] responses: '200': description: Successful response /api/fetch/daily/events: get: summary: Fetch daily events from remote security: - ApiKeyAuth: [] responses: '200': description: Successful response /api/fetch/group: get: summary: Fetch or update modules for a seminar group security: - ApiKeyAuth: [] parameters: - name: seminarGroup in: query required: true schema: type: string responses: '200': description: Successful response /api/fetch/groups: get: summary: Fetch Seminar Groups security: - ApiKeyAuth: [] responses: '200': description: Successful response /api/fetch/sports: get: summary: Fetch Sport Events from HTWK Leipzig security: - ApiKeyAuth: [ ] responses: '200': description: Successful response /api/modules: get: summary: Get all modules distinct responses: '200': description: Successful response delete: summary: Delete all events security: - ApiKeyAuth: [] responses: '200': description: Successful response /api/rooms: get: summary: Get Rooms responses: '200': description: Successful response /api/schedule/day: get: summary: Get Day Schedule parameters: - name: room in: query required: true schema: type: string - name: date in: query required: true schema: type: string responses: '200': description: Successful response /api/schedule: get: summary: Get Schedule parameters: - name: room in: query required: true schema: type: string - name: from in: query description: start date required: true schema: type: string - name: to in: query description: end date required: true schema: type: string - name: mapped in: query description: optional mapping flag required: false schema: type: string responses: '200': description: Successful response /api/course/modules: get: summary: Get Modules for Course parameters: - name: course in: query required: true schema: type: string - name: semester in: query required: true schema: type: string responses: '200': description: Successful response /api/module: get: summary: Get Module parameters: - name: uuid in: query required: true schema: type: string responses: '200': description: Successful response /api/courses: get: summary: Get courses or courses by semester parameters: - name: semester in: query required: false schema: type: string responses: '200': description: Successful response /api/rooms/free: get: summary: Get Free Rooms parameters: - name: from in: query required: true schema: type: string - name: to in: query required: true schema: type: string responses: '200': description: Successful response /api/courses/events: get: summary: Get Courses that have Events for specific semester parameters: - name: semester in: query required: true schema: type: string responses: '200': description: Successful response /api/events/types: get: summary: Get event types responses: '200': description: Successful response /api/events: delete: summary: Delete events for a course and semester security: - ApiKeyAuth: [] parameters: - name: course in: query schema: type: string - name: semester in: query schema: type: string responses: '200': description: Successful response /api/feed: post: summary: Create iCal Feed requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/FeedCollection' responses: '200': description: Successful response /api/feeds/{token}: delete: summary: Delete iCal feed parameters: - name: token in: path required: true schema: type: string responses: '200': description: Successful response /api/collections/feeds/records/{id}: get: tags: - iCal - Feed summary: Get Modules selected for iCal feed parameters: - name: id in: path required: true schema: type: string format: uuid description: calendar token responses: '200': description: Successful response /api/feeds/migrate: get: summary: Migrates all iCal Feeds in the database to the new format security: - ApiKeyAuth: [] responses: '200': description: Successful response security: - ApiKeyAuth: [] components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: Authorization schemas: Module: type: object properties: name: type: string uuid: type: string format: uuid course: type: string userDefinedName: type: string prof: type: string semester: type: string reminder: type: boolean events: type: array items: type: string FeedCollection: type: object properties: name: type: string uuid: type: string course: type: string userDefinedName: type: string prof: type: string semester: type: string reminder: type: boolean events: type: array items: type: string