Emory University assetstore API

assetstore resource

OpenAPI Specification

emory-assetstore-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Girder REST API (Emory Digital Slide Archive) annotation assetstore API
  version: 3.2.14
  description: OpenAPI 3.0 conversion of the Girder REST API powering the Emory Digital Slide Archive (computablebrain). Converted faithfully from the live Swagger 2.0 document at https://computablebrain.emory.edu/api/v1/describe.
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.txt
servers:
- url: https://computablebrain.emory.edu/api/v1
tags:
- description: assetstore resource
  name: assetstore
paths:
  /assetstore:
    get:
      operationId: assetstore_find_assetstore
      parameters:
      - name: limit
        in: query
        required: false
        description: Result set size limit.
        schema:
          type: integer
          format: int32
          default: 50
      - name: offset
        in: query
        required: false
        description: Offset into result set.
        schema:
          type: integer
          format: int32
          default: 0
      - name: sort
        in: query
        required: false
        description: Field to sort the result set by.
        schema:
          type: string
          default: name
      - name: sortdir
        in: query
        required: false
        description: 'Sort order: 1 for ascending, -1 for descending.'
        schema:
          type: integer
          format: int32
          enum:
          - 1
          - -1
          default: 1
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: You are not an administrator.
      summary: List assetstores.
      tags:
      - assetstore
    post:
      description: You must be an administrator to call this.
      operationId: assetstore_createAssetstore_post_assetstore
      parameters:
      - name: name
        in: query
        required: true
        description: Unique name for the assetstore.
        schema:
          type: string
      - name: type
        in: query
        required: true
        description: Type of the assetstore.
        schema:
          type: integer
          format: int32
      - name: root
        in: query
        required: false
        description: Root path on disk (for filesystem type).
        schema:
          type: string
      - name: perms
        in: query
        required: false
        description: File creation permissions (for filesystem type).
        schema:
          type: string
      - name: db
        in: query
        required: false
        description: Database name (for GridFS type)
        schema:
          type: string
      - name: mongohost
        in: query
        required: false
        description: Mongo host URI (for GridFS type)
        schema:
          type: string
      - name: replicaset
        in: query
        required: false
        description: Replica set name (for GridFS type)
        schema:
          type: string
      - name: bucket
        in: query
        required: false
        description: The S3 bucket to store data in (for S3 type).
        schema:
          type: string
      - name: prefix
        in: query
        required: false
        description: Optional path prefix within the bucket under which files will be stored (for S3 type).
        schema:
          type: string
          default: ''
      - name: accessKeyId
        in: query
        required: false
        description: The AWS access key ID to use for authentication (for S3 type).
        schema:
          type: string
      - name: secret
        in: query
        required: false
        description: The AWS secret key to use for authentication (for S3 type).
        schema:
          type: string
      - name: service
        in: query
        required: false
        description: The S3 service host (for S3 type).  Default is s3.amazonaws.com.  This can be used to specify a protocol and port as well using the form [http[s]://](host domain)[:(port)]. Do not include the bucket name here.
        schema:
          type: string
          default: ''
      - name: readOnly
        in: query
        required: false
        description: If this assetstore is read-only, set this to true.
        schema:
          type: boolean
          default: false
      - name: region
        in: query
        required: false
        description: The AWS region to which the S3 bucket belongs.
        schema:
          type: string
          default: us-east-1
      - name: inferCredentials
        in: query
        required: false
        description: The credentials for connecting to S3 will be inferred by Boto rather than explicitly passed. Inferring credentials will ignore accessKeyId and secret.
        schema:
          type: boolean
      - name: serverSideEncryption
        in: query
        required: false
        description: Whether to use S3 SSE to encrypt the objects uploaded to this bucket (for S3 type).
        schema:
          type: boolean
          default: false
      - name: allowS3AcceleratedTransfer
        in: query
        required: false
        description: Whether to allow clients to requests a data transfer using S3 transfer acceleration.
        schema:
          type: boolean
          default: false
      - name: url
        in: query
        required: false
        description: The base URL for the DICOMweb server (for DICOMweb)
        schema:
          type: string
      - name: qido_prefix
        in: query
        required: false
        description: The QIDO URL prefix for the server, if needed (for DICOMweb)
        schema:
          type: string
      - name: wado_prefix
        in: query
        required: false
        description: The WADO URL prefix for the server, if needed (for DICOMweb)
        schema:
          type: string
      - name: auth_type
        in: query
        required: false
        description: The authentication type required for the server, if needed (for DICOMweb)
        schema:
          type: string
      - name: auth_token
        in: query
        required: false
        description: Token for authentication if needed (for DICOMweb)
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assetstore'
        '400':
          description: A parameter was invalid.
        '403':
          description: You are not an administrator.
      summary: Create a new assetstore.
      tags:
      - assetstore
  /assetstore/all_imports:
    get:
      operationId: assetstore_listAllImports_all_imports
      parameters:
      - name: unique
        in: query
        required: false
        description: If true, only show unique imports
        schema:
          type: boolean
          default: false
      - name: limit
        in: query
        required: false
        description: Result set size limit.
        schema:
          type: integer
          format: int32
          default: 50
      - name: offset
        in: query
        required: false
        description: Offset into result set.
        schema:
          type: integer
          format: int32
          default: 0
      - name: sort
        in: query
        required: false
        description: Field to sort the result set by.
        schema:
          type: string
          default: started
      - name: sortdir
        in: query
        required: false
        description: 'Sort order: 1 for ascending, -1 for descending.'
        schema:
          type: integer
          format: int32
          enum:
          - 1
          - -1
          default: -1
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
      summary: List all past imports for all assetstores.
      tags:
      - assetstore
  /assetstore/import/{id}:
    get:
      operationId: assetstore_getImport_import_id
      parameters:
      - name: id
        in: path
        required: true
        description: ID of an import
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
      summary: Get import for record from ID.
      tags:
      - assetstore
  /assetstore/{id}:
    delete:
      description: This will fail if there are any files in the assetstore.
      operationId: assetstore_deleteAssetstore_delete_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: 'A parameter was invalid.


            The assetstore is not empty.'
        '403':
          description: You are not an administrator.
      summary: Delete an assetstore.
      tags:
      - assetstore
    get:
      operationId: assetstore_getAssetstore_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: You are not an administrator.
      summary: Get information about an assetstore.
      tags:
      - assetstore
    put:
      operationId: assetstore_updateAssetstore_put_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: name
        in: query
        required: true
        description: Unique name for the assetstore.
        schema:
          type: string
      - name: root
        in: query
        required: false
        description: Root path on disk (for Filesystem type)
        schema:
          type: string
      - name: perms
        in: query
        required: false
        description: File creation permissions (for Filesystem type)
        schema:
          type: string
      - name: db
        in: query
        required: false
        description: Database name (for GridFS type)
        schema:
          type: string
      - name: mongohost
        in: query
        required: false
        description: Mongo host URI (for GridFS type)
        schema:
          type: string
      - name: replicaset
        in: query
        required: false
        description: Replica set name (for GridFS type)
        schema:
          type: string
      - name: bucket
        in: query
        required: false
        description: The S3 bucket to store data in (for S3 type).
        schema:
          type: string
      - name: prefix
        in: query
        required: false
        description: Optional path prefix within the bucket under which files will be stored (for S3 type).
        schema:
          type: string
          default: ''
      - name: accessKeyId
        in: query
        required: false
        description: The AWS access key ID to use for authentication (for S3 type).
        schema:
          type: string
      - name: secret
        in: query
        required: false
        description: The AWS secret key to use for authentication (for S3 type).
        schema:
          type: string
      - name: service
        in: query
        required: false
        description: The S3 service host (for S3 type).  Default is s3.amazonaws.com.  This can be used to specify a protocol and port as well using the form [http[s]://](host domain)[:(port)]. Do not include the bucket name here.
        schema:
          type: string
          default: ''
      - name: readOnly
        in: query
        required: false
        description: If this assetstore is read-only, set this to true.
        schema:
          type: boolean
      - name: region
        in: query
        required: false
        description: The AWS region to which the S3 bucket belongs.
        schema:
          type: string
          default: us-east-1
      - name: current
        in: query
        required: true
        description: Whether this is the current assetstore
        schema:
          type: boolean
      - name: inferCredentials
        in: query
        required: false
        description: The credentials for connecting to S3 will be inferred by Boto rather than explicitly passed. Inferring credentials will ignore accessKeyId and secret.
        schema:
          type: boolean
      - name: serverSideEncryption
        in: query
        required: false
        description: Whether to use S3 SSE to encrypt the objects uploaded to this bucket (for S3 type).
        schema:
          type: boolean
          default: false
      - name: allowS3AcceleratedTransfer
        in: query
        required: false
        description: Whether to allow clients to requests a data transfer using S3 transfer acceleration.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assetstore'
        '400':
          description: A parameter was invalid.
        '403':
          description: You are not an administrator.
      summary: Update an existing assetstore.
      tags:
      - assetstore
  /assetstore/{id}/files:
    get:
      operationId: assetstore_getAssetstoreFiles_id_files
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Result set size limit.
        schema:
          type: integer
          format: int32
          default: 50
      - name: offset
        in: query
        required: false
        description: Offset into result set.
        schema:
          type: integer
          format: int32
          default: 0
      - name: sort
        in: query
        required: false
        description: Field to sort the result set by.
        schema:
          type: string
          default: _id
      - name: sortdir
        in: query
        required: false
        description: 'Sort order: 1 for ascending, -1 for descending.'
        schema:
          type: integer
          format: int32
          enum:
          - 1
          - -1
          default: 1
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: You are not an administrator.
      summary: Get a list of files controlled by an assetstore.
      tags:
      - assetstore
  /assetstore/{id}/import:
    post:
      description: This does not move or copy the existing data, it just creates references to it in the Girder data hierarchy. Deleting those references will not delete the underlying data. This operation is currently only supported for S3 assetstores.
      operationId: assetstore_importDataWrapper_post_id_import
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: importPath
        in: query
        required: false
        description: Root path within the underlying storage system to import.
        schema:
          type: string
      - name: destinationId
        in: query
        required: true
        description: ID of a folder, collection, or user in Girder under which the data will be imported.
        schema:
          type: string
      - name: destinationType
        in: query
        required: true
        description: Type of the destination resource.
        schema:
          type: string
          enum:
          - folder
          - collection
          - user
      - name: progress
        in: query
        required: false
        description: Whether to record progress on the import.
        schema:
          type: boolean
          default: false
      - name: leafFoldersAsItems
        in: query
        required: false
        description: Whether folders containing only files should be imported as items.
        schema:
          type: boolean
          default: false
      - name: fileIncludeRegex
        in: query
        required: false
        description: If set, only filenames matching this regular expression will be imported.
        schema:
          type: string
      - name: fileExcludeRegex
        in: query
        required: false
        description: If set, only filenames that do not match this regular expression will be imported. If a file matches both the include and exclude regex, it will be excluded.
        schema:
          type: string
      - name: excludeExisting
        in: query
        required: false
        description: If true, then a file with an import path that is already in the system is not imported, even if it is not in the destination hierarchy.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: You are not an administrator.
      summary: Import existing data into an assetstore.
      tags:
      - assetstore
  /assetstore/{id}/import/single_path:
    post:
      operationId: assetstore_importSinglePath_post_id_import_single_path
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: itemId
        in: query
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: path
        in: query
        required: true
        description: The new import path of the file.
        schema:
          type: string
      - name: name
        in: query
        required: true
        description: The name to use for the file.
        schema:
          type: string
      - name: mimeType
        in: query
        required: false
        description: The mimetyoe of the file.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
        '400':
          description: ID was invalid.
        '403':
          description: Write access was denied on the parent folder.
      summary: Import a single path into an assetstore.
      tags:
      - assetstore
  /assetstore/{id}/imports:
    get:
      operationId: assetstore_listImports_id_imports
      parameters:
      - name: id
        in: path
        required: true
        description: An assetstore ID
        schema:
          type: string
      - name: unique
        in: query
        required: false
        description: If true, only show unique imports
        schema:
          type: boolean
          default: false
      - name: limit
        in: query
        required: false
        description: Result set size limit.
        schema:
          type: integer
          format: int32
          default: 50
      - name: offset
        in: query
        required: false
        description: Offset into result set.
        schema:
          type: integer
          format: int32
          default: 0
      - name: sort
        in: query
        required: false
        description: Field to sort the result set by.
        schema:
          type: string
          default: started
      - name: sortdir
        in: query
        required: false
        description: 'Sort order: 1 for ascending, -1 for descending.'
        schema:
          type: integer
          format: int32
          enum:
          - 1
          - -1
          default: -1
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
      summary: List all imports for a given assetstore.
      tags:
      - assetstore
components:
  schemas:
    File:
      type: object
    Assetstore:
      type: object
  securitySchemes:
    Girder-Token:
      in: header
      name: Girder-Token
      type: apiKey