openapi: 3.0.3 info: title: announcementService description: Announcing patchnotes for KanzleiApp version: 1.0.0 tags: - name: Patchnotes description: Create, update and read patchnotes paths: /patchnotes: get: tags: [Patchnotes] summary: Returns list of patch notes newer than the caller’s last login operationId: listPatchnotes parameters: - $ref: '#/components/parameters/SinceParam' responses: "200": description: list of patch notes content: application/json: schema: type: array items: $ref: '#/components/schemas/patch_notes' "404": description: no Patch notes found post: tags: [Patchnotes] summary: Creates new patch notes operationId: createPatchnote requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/patch_notes_input' responses: "201": description: patch note created headers: Location: description: URL of the newly created patch note schema: type: string content: application/json: schema: $ref: '#/components/schemas/patch_notes' "400": description: bad payload /patchnotes/{patchID}: parameters: - in: path name: patchID required: true schema: type: string format: uuid description: ID of the patch note get: tags: [Patchnotes] summary: Returns one patch note operationId: getPatchnote responses: "200": description: single patch note content: application/json: schema: $ref: '#/components/schemas/patch_notes' "404": description: no patch note found put: tags: [Patchnotes] summary: Updates one patch note (full replace) operationId: updatePatchnote requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/patch_notes_input' responses: "200": description: patch updated content: application/json: schema: $ref: '#/components/schemas/patch_notes' "404": description: no patch note found delete: tags: [Patchnotes] summary: Deletes one patch note operationId: deletePatchnote responses: "204": description: patch successfully deleted "404": description: patch not found components: parameters: SinceParam: name: since in: query description: Only patchnotes newer than this date (YYYY-MM-DD) required: false schema: type: string format: date schemas: patch_notes: type: object properties: patchID: type: string format: uuid title: type: string changes: type: string version: type: string patch_date: type: string format: date project: type: string required: [patchID, title, changes, version, patch_date, project] example: patchID: 29e80bcc-5981-4a52-99e1-373442dea9b9 title: Patch note 1 changes: Fixed export bug version: 1.0.0 patch_date: '2025-01-02' # ← als String in Quotes! project: 'Test-Projekt' patch_notes_input: description: Schema for POST/PUT (server generates patchID if omitted) type: object properties: title: type: string changes: type: string version: type: string patch_date: type: string format: date project: type: string required: [title, changes, version, patch_date, project] example: title: Patch note 1 changes: Fixed export bug version: 1.0.0 patch_date: '2025-01-02' # ← ebenfalls in Quotes project: 'Test-Projekt' responses: Error400: description: Invalid request payload Error404: description: Resource not found