openapi: "3.0.3" info: title: sfu version: 0.1.0 description: file upload server servers: - url: http://localhost:8080/api/v1/ description: local server paths: /files: get: summary: "list all uploaded files" description: "list all uploaded files" operationId: "list_files" responses: 200: description: "file list successful" content: text/plain: schema: type: string format: html 500: description: "internal server error" content: text/plain: schema: type: string default: "internal server error" post: summary: "upload file" description: "uploaded a file" operationId: "upload_file" requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: "file to upload" parameters: - name: force in: query description: "force upload file which may overwrite an existing file with the same name" required: false schema: type: boolean default: false responses: 201: description: "file upload successful" content: text/plain: schema: type: array items: type: string 409: description: "file already exists" content: text/plain: schema: type: string default: "file already exists" 500: description: "internal server error" content: text/plain: schema: type: string default: "internal server error" /files/{file_name}: get: summary: "get file" description: "get file" operationId: "get_file" parameters: - name: file_name in: path description: "file name" required: true schema: type: string responses: 200: description: "file download successful" content: text/plain: schema: type: string format: binary 404: description: "file not found" content: text/plain: schema: type: string default: "file not found" 500: description: "internal server error" content: text/plain: schema: type: string default: "internal server error" delete: summary: "delete file" description: "delete file" operationId: "delete_file" parameters: - name: file_name in: path description: "file name" required: true schema: type: string responses: 200: description: "file delete successful" content: text/plain: schema: type: string default: "file delete successful" 404: description: "file not found" content: text/plain: schema: type: string default: "file not found" 500: description: "internal server error" content: text/plain: schema: type: string default: "internal server error" /health: get: summary: "health check" description: "health check" operationId: "health_check" responses: 200: description: "health check successful" content: text/plain: schema: type: string default: "health check successful" 500: description: "internal server error" content: text/plain: schema: type: string default: "internal server error"