RWTH Aachen University Storage API

Provides endpoints for managing blob storage operations for project resources, such as checking existence and deleting files or folders.

Operations 4

HEAD /api/v2/projects/{projectId}/resources/{resourceId}/storage/{encodedPath} Checks if a file or folder exists at the specified path within the given project and resource. #
DELETE /api/v2/projects/{projectId}/resources/{resourceId}/storage Deletes a file or folder at the specified path within the given project and resource. #
GET /api/v2/projects/{projectId}/resources/{resourceId}/storage Lists the contents of a directory in the storage tree. #
OPTIONS /api/v2/projects/{projectId}/resources/{resourceId}/storage Responds with the HTTP methods allowed for the endpoint.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/rwth-aachen-university-storage-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

rwth-aachen-university-storage-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coscine Web Admin Storage API
  description: Coscine (short for <b>CO</b>llaborative <b>SC</b>ientific <b>IN</b>tegration <b>E</b>nvironment) 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: Storage
  description: 'Provides endpoints for managing blob storage operations for project resources,

    such as checking existence and deleting files or folders.'
paths:
  /api/v2/projects/{projectId}/resources/{resourceId}/storage/{encodedPath}:
    head:
      tags:
      - Storage
      summary: Checks if a file or folder exists at the specified path within the given project and resource.
      operationId: HeadFileFromStorage
      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
      - name: version
        in: query
        description: The version to get. Null will default to the latest.
        schema:
          type: string
      responses:
        '200':
          description: File or folder exists. Metadata is returned via response headers.
        '403':
          description: User is missing authorization requirements.
        '404':
          description: File or folder not found at the specified path.
        '400':
          description: Invalid path or query parameters.
  /api/v2/projects/{projectId}/resources/{resourceId}/storage:
    delete:
      tags:
      - Storage
      summary: Deletes a file or folder at the specified path within the given project and resource.
      operationId: DeleteFileFromStorage
      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:
        '204':
          description: Blob deleted.
        '404':
          description: Blob does not exist.
    get:
      tags:
      - Storage
      summary: Lists the contents of a directory in the storage tree.
      operationId: ListFilesFromStorage
      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: OrderBy
        in: query
        description: 'Gets or sets the field name used for ordering the results.


          `Sorting is not yet supported for the file tree endpoint, but this property is included for consistency with other query parameter classes and to allow for future extensibility.`.

          Use "asc" or "desc" as the direction.

          '
        schema:
          type: string
      - name: Prefix
        in: query
        description: 'Gets or sets the prefix filter.



          The prefix to filter the storage objects by.

          Slashes are taken into account when filtering by prefix.

          The forwads slash (/) character is treated as the path separator.

          The lookup is only done for one level.

          To look into the next level, include the trailing slash to indicate the next level of the tree.

          '
        schema:
          type: string
      - name: PageNumber
        in: query
        description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
        schema:
          type: integer
          format: int32
      - name: PageSize
        in: query
        description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default is 10.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Returns a paged list of file tree entries for the specified resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileTreeDtoPagedResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/FileTreeDtoPagedResponse'
        '403':
          description: User is missing authorization requirements.
        '404':
          description: Resource not found.
        '400':
          description: Invalid query parameters.
    options:
      tags:
      - Storage
      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
      responses:
        '200':
          description: OK
components:
  schemas:
    FileActionHttpMethod:
      enum:
      - GET
      - POST
      - PUT
      - DELETE
      type: string
      description: Represents the possible HTTP methods associated with file actions.
    FileActionDto:
      type: object
      properties:
        url:
          type: string
          description: Gets or sets the presigned URL associated with the file action.
          format: uri
        method:
          $ref: '#/components/schemas/FileActionHttpMethod'
      additionalProperties: false
      description: Represents a Data Transfer Object (DTO) for file actions, including the URL and HTTP method.
    TreeDataType:
      enum:
      - Tree
      - Leaf
      type: string
      description: Represents the types of nodes within a hierarchical tree structure.
    FileTreeDto:
      type: object
      properties:
        path:
          type: string
          description: Gets the path of the tree item.
        type:
          $ref: '#/components/schemas/TreeDataType'
        directory:
          type: string
          description: Gets or sets the directory of the file.
        name:
          type: string
          description: Gets or sets the name of the file.
        extension:
          type: string
          description: Gets or sets the extension of the file.
        size:
          type: integer
          description: Gets or sets the size of the file in bytes.
          format: int64
        creationDate:
          type:
          - string
          - 'null'
          description: Gets or sets the creation date of the file.
          format: date-time
        changeDate:
          type:
          - string
          - 'null'
          description: Gets or sets the last change date of the file.
          format: date-time
        actions:
          $ref: '#/components/schemas/FileActionsDto'
        hidden:
          type: boolean
          description: Determines if the specific tree entry is hidden.
      additionalProperties: false
      description: Represents a Data Transfer Object (DTO) for a file within a tree structure, extending the base TreeDto.
    FileTreeDtoPagedResponse:
      type: object
      properties:
        data:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/FileTreeDto'
        isSuccess:
          type: boolean
          readOnly: true
        statusCode:
          type:
          - integer
          - 'null'
          format: int32
        traceId:
          type:
          - string
          - 'null'
        pagination:
          $ref: '#/components/schemas/Pagination'
      additionalProperties: false
    Pagination:
      type: object
      properties:
        currentPage:
          type: integer
          description: Gets or sets the current page number.
          format: int32
        totalPages:
          type: integer
          description: Gets or sets the total number of pages.
          format: int32
        pageSize:
          type: integer
          description: Gets or sets the number of items per page.
          format: int32
        totalCount:
          type: integer
          description: Gets or sets the total count of items across all pages.
          format: int64
        hasPrevious:
          type: boolean
          description: Gets a value indicating whether there is a previous page.
          readOnly: true
        hasNext:
          type: boolean
          description: Gets a value indicating whether there is a next page.
          readOnly: true
      additionalProperties: false
      description: Represents pagination information for a collection of items.
    FileActionsDto:
      type: object
      properties:
        download:
          $ref: '#/components/schemas/FileActionDto'
      additionalProperties: false
      description: Represents a Data Transfer Object (DTO) for a collection of file actions, including download action details.
  securitySchemes:
    Bearer:
      type: apiKey
      description: JWT Authorization header using the Bearer scheme.
      name: Authorization
      in: header