Emory University collection API

collection resource

OpenAPI Specification

emory-collection-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Girder REST API (Emory Digital Slide Archive) annotation collection 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: collection resource
  name: collection
paths:
  /collection:
    get:
      operationId: collection_find_collection
      parameters:
      - name: text
        in: query
        required: false
        description: Pass this to perform a text search for collections.
        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: 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
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Collection'
                type: array
        '400':
          description: A parameter was invalid.
      summary: List or search for collections.
      tags:
      - collection
    post:
      operationId: collection_createCollection_post_collection
      parameters:
      - name: name
        in: query
        required: true
        description: Name for the collection. Must be unique.
        schema:
          type: string
      - name: description
        in: query
        required: false
        description: Collection description.
        schema:
          type: string
      - name: public
        in: query
        required: false
        description: Whether the collection should be publicly visible.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '400':
          description: A parameter was invalid.
        '403':
          description: You are not authorized to create collections.
      summary: Create a new collection.
      tags:
      - collection
  /collection/details:
    get:
      operationId: collection_getCollectionsDetails_details
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
      summary: Get detailed information of accessible collections.
      tags:
      - collection
      parameters: []
  /collection/{id}:
    delete:
      operationId: collection_deleteCollection_delete_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
        '403':
          description: Admin permission denied on the collection.
      summary: Delete a collection by ID.
      tags:
      - collection
    get:
      operationId: collection_getCollection_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '400':
          description: ID was invalid.
        '403':
          description: Read permission denied on the collection.
      summary: Get a collection by ID.
      tags:
      - collection
    put:
      operationId: collection_updateCollection_put_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: name
        in: query
        required: false
        description: Unique name for the collection.
        schema:
          type: string
      - name: description
        in: query
        required: false
        description: Collection description.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '400':
          description: ID was invalid.
        '403':
          description: Write permission denied on the collection.
      summary: Edit a collection by ID.
      tags:
      - collection
  /collection/{id}/access:
    get:
      operationId: collection_getCollectionAccess_id_access
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
        '403':
          description: Admin permission denied on the collection.
      summary: Get the access control list for a collection.
      tags:
      - collection
    put:
      operationId: collection_updateCollectionAccess_put_id_access
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: access
        in: query
        required: true
        description: The access control list as JSON.
        schema:
          type: string
      - name: publicFlags
        in: query
        required: false
        description: List of public access flags to set on the collection.
        schema:
          type: string
      - name: public
        in: query
        required: false
        description: Whether the collection should be publicly visible.
        schema:
          type: boolean
      - name: recurse
        in: query
        required: false
        description: Whether the policies should be applied to all folders under this collection as well.
        schema:
          type: boolean
          default: false
      - name: progress
        in: query
        required: false
        description: If recurse is set to True, this controls whether progress notifications will be sent.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
        '403':
          description: Admin permission denied on the collection.
      summary: Set the access control list for a collection.
      tags:
      - collection
  /collection/{id}/details:
    get:
      operationId: collection_getCollectionDetails_id_details
      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: Read access was denied on the collection.
      summary: Get detailed information about a collection.
      tags:
      - collection
  /collection/{id}/download:
    get:
      operationId: collection_downloadCollection_id_download
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: mimeFilter
        in: query
        required: false
        description: JSON list of MIME types to include.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
        '403':
          description: Read access was denied for the collection.
      summary: Download an entire collection as a zip archive.
      tags:
      - collection
  /collection/{id}/metadata:
    delete:
      operationId: collection_deleteMetadata_delete_id_metadata
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '400':
          description: 'ID was invalid.


            Invalid JSON passed in request body.


            Metadata key name was invalid.'
        '403':
          description: Write access was denied for the collection.
      summary: Delete metadata fields on a collection.
      tags:
      - collection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/string'
        required: true
        description: A JSON list containing the metadata fields to delete
    put:
      description: Set metadata fields to null in order to delete them.
      operationId: collection_setMetadata_put_id_metadata
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: allowNull
        in: query
        required: false
        description: Whether "null" is allowed as a metadata value.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '400':
          description: 'ID was invalid.


            Invalid JSON passed in request body.


            Metadata key name was invalid.'
        '403':
          description: Write access was denied for the collection.
      summary: Set metadata fields on a collection.
      tags:
      - collection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/string'
        required: true
        description: A JSON object containing the metadata keys to add
  /collection/{id}/quota:
    get:
      operationId: collection_getCollectionQuota_id_quota
      parameters:
      - name: id
        in: path
        required: true
        description: The collection ID
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
      summary: Get quota and assetstore policies for the collection.
      tags:
      - collection
    put:
      operationId: collection_setCollectionQuota_put_id_quota
      parameters:
      - name: id
        in: path
        required: true
        description: The collection ID
        schema:
          type: string
      - name: policy
        in: query
        required: true
        description: A JSON object containing the policies. This is a dictionary of keys and values. Any key that is not specified does not change.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
      summary: Set quota and assetstore policies for the collection.
      tags:
      - collection
components:
  schemas:
    Collection:
      type: object
    string:
      type: string
  securitySchemes:
    Girder-Token:
      in: header
      name: Girder-Token
      type: apiKey