Predictive Oncology Model and Data Clearinghouse rest-api-common-controller API

The rest-api-common-controller API from Predictive Oncology Model and Data Clearinghouse — 17 operation(s) for rest-api-common-controller.

OpenAPI Specification

predictive-oncology-model-and-data-clearinghouse-rest-api-common-controller-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: MoDaC asset-details-controller rest-api-common-controller API
  description: MoDaC API is a set of public rest API to access datasets stored in the repository
servers:
- url: http://localhost:8080
  description: Generated server url
tags:
- name: rest-api-common-controller
paths:
  /api/v2/registration:
    put:
      tags:
      - rest-api-common-controller
      operationId: bulkRegistration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HpcBulkDataObjectRegistrationRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
  /api/v2/dataObject/**:
    get:
      tags:
      - rest-api-common-controller
      operationId: getDataObject
      parameters:
      - name: includeAcl
        in: query
        required: false
        schema:
          type: boolean
      - name: excludeParentMetadata
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            application/octet-stream:
              schema:
                type: object
    put:
      tags:
      - rest-api-common-controller
      operationId: registerDataObject
      requestBody:
        content:
          application/json:
            schema:
              required:
              - dataObjectRegistration
              type: object
              properties:
                dataObjectRegistration:
                  $ref: '#/components/schemas/HpcDataObjectRegistrationRequestDTO'
                dataObject:
                  type: string
                  format: binary
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: integer
                format: int32
  /api/collection/**:
    get:
      tags:
      - rest-api-common-controller
      operationId: getCollection
      parameters:
      - name: list
        in: query
        required: false
        schema:
          type: boolean
      - name: includeAcl
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            application/octet-stream:
              schema:
                type: object
    put:
      tags:
      - rest-api-common-controller
      operationId: registerCollection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HpcCollectionRegistrationDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: integer
                format: int32
  /api/v2/download:
    post:
      tags:
      - rest-api-common-controller
      operationId: downloadDataObjectsOrCollections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HpcBulkDataObjectDownloadRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
  /api/v2/dataObject/**/download:
    post:
      tags:
      - rest-api-common-controller
      operationId: syncAndasynchronousDownload
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HpcDownloadRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
  /api/v2/collection/**/download:
    post:
      tags:
      - rest-api-common-controller
      operationId: collectionDownload
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HpcDownloadRequestDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
  /api/models/evaluate/**:
    post:
      tags:
      - rest-api-common-controller
      operationId: performModelEvaluationForReferenceDatasets
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/ModelPath'
          application/json:
            schema:
              $ref: '#/components/schemas/ModelPath'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/xml:
              schema:
                type: object
            application/json:
              schema:
                type: object
  /api/model/evaluate/**:
    get:
      tags:
      - rest-api-common-controller
      operationId: getStatusByTaskId
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            application/octet-stream:
              schema:
                type: object
    post:
      tags:
      - rest-api-common-controller
      operationId: performModelEvaluationForDatasets
      parameters:
      - name: type
        in: query
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                referenceDataset:
                  $ref: '#/components/schemas/ReferenceDataset'
                inputFile:
                  type: string
                  format: binary
                outcomeFile:
                  type: string
                  format: binary
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
  /api/dataObject/query:
    post:
      tags:
      - rest-api-common-controller
      operationId: queryDataObjects
      parameters:
      - name: returnParent
        in: query
        required: false
        schema:
          type: boolean
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/HpcCompoundMetadataQueryDTO'
          application/json:
            schema:
              $ref: '#/components/schemas/HpcCompoundMetadataQueryDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/xml:
              schema:
                type: object
            application/json:
              schema:
                type: object
  /api/dataObject/**/syncDownload:
    post:
      tags:
      - rest-api-common-controller
      operationId: synchronousDownload
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
  /api/dataObject/**/generateDownloadRequestURL:
    post:
      tags:
      - rest-api-common-controller
      operationId: generateDownloadRequestURL
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
  /api/collection/query:
    post:
      tags:
      - rest-api-common-controller
      operationId: queryCollections
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/HpcCompoundMetadataQueryDTO'
          application/json:
            schema:
              $ref: '#/components/schemas/HpcCompoundMetadataQueryDTO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/xml:
              schema:
                type: object
            application/json:
              schema:
                type: object
  /api/v2/registration/**:
    get:
      tags:
      - rest-api-common-controller
      operationId: getDataObjectsRegistrationStatus
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
  /api/download/**:
    get:
      tags:
      - rest-api-common-controller
      operationId: getDataObjectsOrCollectionsDownloadStatus
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
  /api/dataObject/download/**:
    get:
      tags:
      - rest-api-common-controller
      operationId: getDataObjectDownloadStatus
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
  /api/collection/download/**:
    get:
      tags:
      - rest-api-common-controller
      operationId: getCollectionDownloadStatus
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
  /api/authenticate:
    get:
      tags:
      - rest-api-common-controller
      operationId: authenticate
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
components:
  schemas:
    HpcBulkMetadataEntry:
      type: object
      properties:
        path:
          type: string
        pathMetadataEntries:
          type: array
          items:
            $ref: '#/components/schemas/HpcMetadataEntry'
    HpcMetadataEntry:
      type: object
      properties:
        attribute:
          type: string
        value:
          type: string
        unit:
          type: string
        level:
          type: integer
          format: int32
        levelLabel:
          type: string
        collectionId:
          type: integer
          format: int32
        dateFormat:
          type: string
    HpcSynchronousDownloadFilter:
      type: object
      properties:
        compressedArchiveType:
          type: string
          enum:
          - TAR
          - ZIP
          - TGZ
        includePatterns:
          type: array
          items:
            type: string
        patternType:
          type: string
          enum:
          - SIMPLE
          - REGEX
    HpcBulkDataObjectRegistrationRequestDTO:
      type: object
      properties:
        dataObjectRegistrationItems:
          type: array
          items:
            $ref: '#/components/schemas/HpcDataObjectRegistrationItemDTO'
        directoryScanRegistrationItems:
          type: array
          items:
            $ref: '#/components/schemas/HpcDirectoryScanRegistrationItemDTO'
        dryRun:
          type: boolean
        uiURL:
          type: string
    Path:
      type: object
      properties:
        path:
          type: string
    HpcUploadSource:
      type: object
      properties:
        sourceLocation:
          $ref: '#/components/schemas/HpcFileLocation'
    ModelPath:
      type: object
      properties:
        modelPaths:
          type: array
          items:
            $ref: '#/components/schemas/Path'
    HpcGoogleScanDirectory:
      type: object
      properties:
        directoryLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        accessToken:
          type: string
    HpcMetadataQuery:
      type: object
      properties:
        attribute:
          type: string
        operator:
          type: string
          enum:
          - EQUAL
          - NOT_EQUAL
          - LIKE
          - NUM_LESS_THAN
          - NUM_GREATER_THAN
          - NUM_LESS_OR_EQUAL
          - NUM_GREATER_OR_EQUAL
          - TIMESTAMP_LESS_THAN
          - TIMESTAMP_GREATER_THAN
          - TIMESTAMP_LESS_OR_EQUAL
          - TIMESTAMP_GREATER_OR_EQUAL
          - PATH_EQUAL
          - PATH_LIKE
          - SELF_EQUAL
          - SELF_NOT_EQUAL
          - SELF_LIKE
          - SELF_NUM_LESS_THAN
          - SELF_NUM_GREATER_THAN
          - SELF_NUM_LESS_OR_EQUAL
          - SELF_NUM_GREATER_OR_EQUAL
          - SELF_TIMESTAMP_LESS_THAN
          - SELF_TIMESTAMP_GREATER_THAN
          - SELF_TIMESTAMP_LESS_OR_EQUAL
          - SELF_TIMESTAMP_GREATER_OR_EQUAL
          - SELF_PATH_EQUAL
          - SELF_PATH_LIKE
        value:
          type: string
        format:
          type: string
        levelFilter:
          $ref: '#/components/schemas/HpcMetadataQueryLevelFilter'
        attributeMatch:
          type: string
          enum:
          - EXACT
          - ANY
          - PATH
    HpcStreamingUploadSource:
      type: object
      properties:
        sourceLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        account:
          $ref: '#/components/schemas/HpcS3Account'
        accessToken:
          type: string
        sourceURL:
          type: string
        sourceSize:
          type: integer
          format: int64
        sourceInputStream:
          type: object
    HpcAsperaDownloadDestination:
      type: object
      properties:
        destinationLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        account:
          $ref: '#/components/schemas/HpcAsperaAccount'
    HpcBoxDownloadDestination:
      type: object
      properties:
        destinationLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        accessToken:
          type: string
        refreshToken:
          type: string
    HpcDataObjectRegistrationItemDTO:
      type: object
      properties:
        path:
          type: string
        globusUploadSource:
          $ref: '#/components/schemas/HpcUploadSource'
        s3UploadSource:
          $ref: '#/components/schemas/HpcStreamingUploadSource'
        googleDriveUploadSource:
          $ref: '#/components/schemas/HpcStreamingUploadSource'
        googleCloudStorageUploadSource:
          $ref: '#/components/schemas/HpcStreamingUploadSource'
        fileSystemUploadSource:
          $ref: '#/components/schemas/HpcUploadSource'
        archiveLinkSource:
          $ref: '#/components/schemas/HpcUploadSource'
        linkSourcePath:
          type: string
        callerObjectId:
          type: string
        dataObjectMetadataEntries:
          type: array
          items:
            $ref: '#/components/schemas/HpcMetadataEntry'
        createParentCollections:
          type: boolean
        parentCollectionsBulkMetadataEntries:
          $ref: '#/components/schemas/HpcBulkMetadataEntries'
        s3ArchiveConfigurationId:
          type: string
    HpcDirectoryScanPathMap:
      type: object
      properties:
        fromPath:
          type: string
        toPath:
          type: string
        regexPathMap:
          type: boolean
    HpcAsperaAccount:
      type: object
      properties:
        user:
          type: string
        host:
          type: string
        password:
          type: string
    HpcCollectionRegistrationDTO:
      type: object
      properties:
        metadataEntries:
          type: array
          items:
            $ref: '#/components/schemas/HpcMetadataEntry'
        createParentCollections:
          type: boolean
        parentCollectionsBulkMetadataEntries:
          $ref: '#/components/schemas/HpcBulkMetadataEntries'
        linkSourcePath:
          type: string
    HpcS3Account:
      type: object
      properties:
        accessKey:
          type: string
        secretKey:
          type: string
        region:
          type: string
        url:
          type: string
        pathStyleAccessEnabled:
          type: boolean
    HpcGoogleDownloadDestination:
      type: object
      properties:
        destinationLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        accessToken:
          type: string
    HpcCompoundMetadataQueryDTO:
      type: object
      properties:
        compoundQuery:
          $ref: '#/components/schemas/HpcCompoundMetadataQuery'
        compoundQueryType:
          type: string
          enum:
          - COLLECTION
          - DATA_OBJECT
        detailedResponse:
          type: boolean
        page:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        totalCount:
          type: boolean
        deselectedColumns:
          type: array
          items:
            type: string
        frequency:
          type: string
          enum:
          - WEEKLY
          - MONTHLY
    HpcCompoundMetadataQuery:
      type: object
      properties:
        operator:
          type: string
          enum:
          - OR
          - AND
        queries:
          type: array
          items:
            $ref: '#/components/schemas/HpcMetadataQuery'
        compoundQueries:
          type: array
          items:
            $ref: '#/components/schemas/HpcCompoundMetadataQuery'
    HpcMetadataQueryLevelFilter:
      type: object
      properties:
        level:
          type: integer
          format: int32
        label:
          type: string
        operator:
          type: string
          enum:
          - EQUAL
          - NOT_EQUAL
          - LIKE
          - NUM_LESS_THAN
          - NUM_GREATER_THAN
          - NUM_LESS_OR_EQUAL
          - NUM_GREATER_OR_EQUAL
          - TIMESTAMP_LESS_THAN
          - TIMESTAMP_GREATER_THAN
          - TIMESTAMP_LESS_OR_EQUAL
          - TIMESTAMP_GREATER_OR_EQUAL
          - PATH_EQUAL
          - PATH_LIKE
          - SELF_EQUAL
          - SELF_NOT_EQUAL
          - SELF_LIKE
          - SELF_NUM_LESS_THAN
          - SELF_NUM_GREATER_THAN
          - SELF_NUM_LESS_OR_EQUAL
          - SELF_NUM_GREATER_OR_EQUAL
          - SELF_TIMESTAMP_LESS_THAN
          - SELF_TIMESTAMP_GREATER_THAN
          - SELF_TIMESTAMP_LESS_OR_EQUAL
          - SELF_TIMESTAMP_GREATER_OR_EQUAL
          - SELF_PATH_EQUAL
          - SELF_PATH_LIKE
    HpcDirectoryScanRegistrationItemDTO:
      type: object
      properties:
        basePath:
          type: string
        globusScanDirectory:
          $ref: '#/components/schemas/HpcScanDirectory'
        s3ScanDirectory:
          $ref: '#/components/schemas/HpcS3ScanDirectory'
        googleDriveScanDirectory:
          $ref: '#/components/schemas/HpcGoogleScanDirectory'
        googleCloudStorageScanDirectory:
          $ref: '#/components/schemas/HpcGoogleScanDirectory'
        fileSystemScanDirectory:
          $ref: '#/components/schemas/HpcScanDirectory'
        s3ArchiveScanDirectory:
          $ref: '#/components/schemas/HpcScanDirectory'
        posixArchiveScanDirectory:
          $ref: '#/components/schemas/HpcScanDirectory'
        callerObjectId:
          type: string
        includePatterns:
          type: array
          items:
            type: string
        excludePatterns:
          type: array
          items:
            type: string
        patternType:
          type: string
          enum:
          - SIMPLE
          - REGEX
        bulkMetadataEntries:
          $ref: '#/components/schemas/HpcBulkMetadataEntries'
        pathMap:
          $ref: '#/components/schemas/HpcDirectoryScanPathMap'
        s3ArchiveConfigurationId:
          type: string
    HpcScanDirectory:
      type: object
      properties:
        directoryLocation:
          $ref: '#/components/schemas/HpcFileLocation'
    HpcDownloadRequestDTO:
      type: object
      properties:
        globusDownloadDestination:
          $ref: '#/components/schemas/HpcGlobusDownloadDestination'
        s3DownloadDestination:
          $ref: '#/components/schemas/HpcS3DownloadDestination'
        googleDriveDownloadDestination:
          $ref: '#/components/schemas/HpcGoogleDownloadDestination'
        googleCloudStorageDownloadDestination:
          $ref: '#/components/schemas/HpcGoogleDownloadDestination'
        asperaDownloadDestination:
          $ref: '#/components/schemas/HpcAsperaDownloadDestination'
        boxDownloadDestination:
          $ref: '#/components/schemas/HpcBoxDownloadDestination'
        synchronousDownloadFilter:
          $ref: '#/components/schemas/HpcSynchronousDownloadFilter'
        appendPathToDownloadDestination:
          type: boolean
        appendCollectionNameToDownloadDestination:
          type: boolean
    HpcBulkMetadataEntries:
      type: object
      properties:
        defaultCollectionMetadataEntries:
          type: array
          items:
            $ref: '#/components/schemas/HpcMetadataEntry'
        pathsMetadataEntries:
          type: array
          items:
            $ref: '#/components/schemas/HpcBulkMetadataEntry'
    ReferenceDataset:
      type: object
      properties:
        referenceDatasetPaths:
          type: array
          items:
            $ref: '#/components/schemas/Path'
    HpcFileLocation:
      type: object
      properties:
        fileContainerId:
          type: string
        fileContainerName:
          type: string
        fileId:
          type: string
    HpcS3ScanDirectory:
      type: object
      properties:
        directoryLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        account:
          $ref: '#/components/schemas/HpcS3Account'
    HpcBulkDataObjectDownloadRequestDTO:
      type: object
      properties:
        dataObjectPaths:
          type: array
          items:
            type: string
        collectionPaths:
          type: array
          items:
            type: string
        globusDownloadDestination:
          $ref: '#/components/schemas/HpcGlobusDownloadDestination'
        s3DownloadDestination:
          $ref: '#/components/schemas/HpcS3DownloadDestination'
        googleDriveDownloadDestination:
          $ref: '#/components/schemas/HpcGoogleDownloadDestination'
        googleCloudStorageDownloadDestination:
          $ref: '#/components/schemas/HpcGoogleDownloadDestination'
        asperaDownloadDestination:
          $ref: '#/components/schemas/HpcAsperaDownloadDestination'
        boxDownloadDestination:
          $ref: '#/components/schemas/HpcBoxDownloadDestination'
        appendPathToDownloadDestination:
          type: boolean
        appendCollectionNameToDownloadDestination:
          type: boolean
    HpcGlobusDownloadDestination:
      type: object
      properties:
        destinationLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        destinationOverwrite:
          type: boolean
    HpcS3DownloadDestination:
      type: object
      properties:
        destinationLocation:
          $ref: '#/components/schemas/HpcFileLocation'
        account:
          $ref: '#/components/schemas/HpcS3Account'
    HpcDataObjectRegistrationRequestDTO:
      type: object
      properties:
        globusUploadSource:
          $ref: '#/components/schemas/HpcUploadSource'
        s3UploadSource:
          $ref: '#/components/schemas/HpcStreamingUploadSource'
        googleDriveUploadSource:
          $ref: '#/components/schemas/HpcStreamingUploadSource'
        googleCloudStorageUploadSource:
          $ref: '#/components/schemas/HpcStreamingUploadSource'
        fileSystemUploadSource:
          $ref: '#/components/schemas/HpcUploadSource'
        archiveLinkSource:
          $ref: '#/components/schemas/HpcUploadSource'
        generateUploadRequestURL:
          type: boolean
        extractMetadata:
          type: boolean
        editMetadata:
          type: boolean
        uploadParts:
          type: integer
          format: int32
        uploadCompletion:
          type: boolean
        linkSourcePath:
          type: string
        callerObjectId:
          type: string
        metadataEntries:
          type: array
          items:
            $ref: '#/components/schemas/HpcMetadataEntry'
        extractedMetadataEntries:
          type: array
          items:
            $ref: '#/components/schemas/HpcMetadataEntry'
        createParentCollections:
          type: boolean
        parentCollectionsBulkMetadataEntries:
          $ref: '#/components/schemas/HpcBulkMetadataEntries'
        checksum:
          type: string
        s3ArchiveConfigurationId:
          type: string