openapi: 3.0.3 info: title: blek! File (fileD) File API description: |- This document describes the API of the File API of blek! File fileD. This API has optional api key authorization, which should be located in the env file. version: 0.0.1 servers: - url: http://localhost description: Local staging environment tags: - name: File API description: API for interacting with files paths: /api/files/get_all: get: summary: Get all files description: |- Get all files available. Returns an array of file objects with all data tags: - File API security: - apikey: [ key ] responses: 200: description: An array of file objects content: application/json: schema: type: array items: $ref: '#/components/schemas/File' example: - path: /opt/useruploads/417e1ec1a0e82aac809da7e5aa309e03bf47eaa96ab2e335f5bb739d062d835b04ccebb89214bd5a54879527789a81ae4e9deab813e4212c757b36d08fa8165a size: 10 name: null mime: text/plain delete_at: '1984-01-01T00:00:00.000Z' sha512: 417e1ec1a0e82aac809da7e5aa309e03bf47eaa96ab2e335f5bb739d062d835b04ccebb89214bd5a54879527789a81ae4e9deab813e4212c757b36d08fa8165a /api/files/delete: post: summary: Delete a file description: |- Deletes a file thats been uploaded. It will work if one of the two conditions are met: 1. The requester's IP is the same as the uploader IP 2. The request is authorized with an API key tags: - File API security: - apikey: [ key ] responses: 200: description: |- The file has been deleted Returns an empty object for future extension content: application/json: schema: type: object example: {} components: schemas: File: type: object properties: path: type: string description: Path to the file in fileD's filesystem example: 1 size: type: integer description: Size of the file in bytes example: 10 name: type: string description: (optional) Name of the file example: null mime: type: string description: MIME type of the file example: text/plain delete_at: type: string description: TimeDate when the file will be deleted example: '1984-01-01T00:00:00.000Z' sha512: type: string example: 417e1ec1a0e82aac809da7e5aa309e03bf47eaa96ab2e335f5bb739d062d835b04ccebb89214bd5a54879527789a81ae4e9deab813e4212c757b36d08fa8165a securitySchemes: apikey: type: http scheme: bearer description: Optional authorization, as defined in the instance-specific config file