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