openapi: 3.0.1 info: title: Coscine Web Admin StorageContent API description: Coscine (short for COllaborative SCientific INtegration Environment) is the research data management platform for your research project. termsOfService: https://about.coscine.de/en/termsofuse/ contact: name: Coscine Team email: servicedesk@rwth-aachen.de version: '2.0' servers: - url: https://coscine.rwth-aachen.de/coscine security: - Bearer: [] tags: - name: StorageContent description: "Provides endpoints for managing raw file content in blob storage for project resources,\r\nincluding downloading, uploading, and updating files." paths: /api/v2/projects/{projectId}/resources/{resourceId}/storage/{encodedPath}/content: get: tags: - StorageContent summary: Retrieves the raw content of a file, optionally at a specific version. operationId: GetStorageRaw parameters: - name: projectId in: path description: The unique identifier of the project. required: true schema: type: string - name: resourceId in: path description: The unique identifier of the resource. required: true schema: type: string format: uuid - name: encodedPath in: path description: The url encoded path of the file. required: true schema: type: string responses: '200': description: Successfully retrieved the raw file content. content: application/octet-stream: schema: type: string format: binary '302': description: Redirects to the file download URL. '403': description: User is missing authorization requirements. '404': description: The specified file was not found. '400': description: Invalid path or query parameters. post: tags: - StorageContent summary: Uploads a new file with raw content. operationId: PostStorageRaw parameters: - name: projectId in: path description: The unique identifier of the project. required: true schema: type: string - name: resourceId in: path description: The unique identifier of the resource. required: true schema: type: string format: uuid - name: encodedPath in: path description: The url encoded path of the file. required: true schema: type: string requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary required: true responses: '201': description: Blob created. '400': description: Blob already exists. '415': description: Blob is not of the type "multipart/form-data" '413': description: Blob is to large. put: tags: - StorageContent summary: Updates or overwrites a file with new raw content. operationId: PutStorageRaw parameters: - name: projectId in: path description: The unique identifier of the project. required: true schema: type: string - name: resourceId in: path description: The unique identifier of the resource. required: true schema: type: string format: uuid - name: encodedPath in: path description: The url encoded path of the file. required: true schema: type: string requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary required: true responses: '201': description: Blob updated. '400': description: Blob already exists. '415': description: Blob is not of the type "multipart/form-data" '413': description: Blob is to large. options: tags: - StorageContent summary: Responds with the HTTP methods allowed for the endpoint. parameters: - name: projectId in: path required: true schema: type: string - name: resourceId in: path required: true schema: type: string - name: encodedPath in: path required: true schema: type: string responses: '200': description: OK components: securitySchemes: Bearer: type: apiKey description: JWT Authorization header using the Bearer scheme. name: Authorization in: header