openapi: 3.0.1 info: contact: email: theglobalalliance@genomicsandhealth.org name: Dockstore@ga4gh url: https://discuss.dockstore.org/t/opening-helpdesk-tickets/1506 description: "This describes the dockstore API, a webservice that manages pairs\ \ of Docker images and associated metadata such as CWL documents and Dockerfiles\ \ used to build those images. Explore swagger.json for a Swagger 2.0 description\ \ of our API and explore openapi.yaml for OpenAPI 3.0 descriptions." license: name: Apache License Version 2.0 url: https://github.com/dockstore/dockstore/blob/develop/LICENSE termsOfService: https://github.com/dockstore/dockstore-ui2/raw/develop/src/assets/docs/Dockstore_Terms_of_Service.pdf title: Dockstore API version: 1.20.0-SNAPSHOT servers: - description: Current server when hosted on AWS url: /api variables: {} - description: When working locally url: / variables: {} - description: Production server url: https://dockstore.org/api variables: {} - description: Staging server url: https://staging.dockstore.org/api variables: {} - description: Nightly build server url: https://dev.dockstore.net/api variables: {} tags: - description: "Create, update list aliases for accessing entries" name: aliases - description: Operations on Dockstore categories name: categories - description: Operations on Dockstore organizations name: organizations - description: "Needed for SmartAPI compatibility apparantly, might be cargo cult\ \ behaviour" name: NIHdatacommons - description: Interact with entries in Dockstore regardless of whether they are containers or workflows name: entries - description: List and register entries in the dockstore (pairs of images + metadata (CWL and Dockerfile)) name: containers - description: List and modify tags for containers name: containertags - description: "A curated subset of resources proposed as a common standard for tool\ \ repositories. Implements TRS [1.0.0](https://github.com/ga4gh/tool-registry-service-schemas/releases/tag/1.0.0)\ \ and is considered final (not subject to change)" name: GA4GHV1 - description: "A curated subset of resources proposed as a common standard for tool\ \ repositories. Implements TRS [2.0.0-beta.2](https://github.com/ga4gh/tool-registry-service-schemas/releases/tag/2.0.0-beta.2)\ \ . Integrators are welcome to use these endpoints but they are subject to change\ \ based on community input." name: GA4GHV20BETA - description: "A curated subset of resources proposed as a common standard for tool\ \ repositories. Implements TRS [2.0.1](https://github.com/ga4gh/tool-registry-service-schemas/releases/tag/2.0.1)." name: GA4GHV20 - description: Optional experimental extensions of the GA4GH API name: extendedGA4GH - description: "List, modify, refresh, and delete tokens for external services" name: tokens - description: "List and register workflows in the dockstore (CWL, Nextflow, WDL)" name: workflows - description: Interactions with the Dockstore-support's ToolTester application name: toolTester - description: List and modify notifications for users of Dockstore name: curation - description: Created and modify hosted entries in the dockstore name: hosted - description: "List, modify, and manage end users of the dockstore" name: users - description: "Information about Dockstore like RSS, sitemap, lists of dependencies,\ \ etc." name: metadata - description: Query lambda events triggered by GitHub Apps name: lambdaEvents paths: /aliases/workflow-versions/{alias}: get: description: Retrieves workflow version path information by alias. operationId: getWorkflowVersionPathInfoByAlias parameters: - in: path name: alias required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/WorkflowVersionPathInfo' description: default response security: - BEARER: [] tags: - aliases /aliases/workflow-versions/{workflowVersionId}: post: description: Add aliases linked to a workflow version in Dockstore. operationId: addAliases parameters: - in: path name: workflowVersionId required: true schema: type: integer format: int64 - in: query name: aliases schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/WorkflowVersion' description: default response security: - BEARER: [] tags: - aliases /api/ga4gh/v1/metadata: get: operationId: metadataGet_1 responses: default: content: application/json: {} text/plain: {} description: default response tags: - GA4GHV1 /api/ga4gh/v1/tool-classes: get: operationId: toolClassesGet_2 responses: default: content: application/json: {} text/plain: {} description: default response tags: - GA4GHV1 /api/ga4gh/v1/tools: get: description: This endpoint returns all tools available or a filtered subset using metadata query parameters. operationId: toolsGetV1 parameters: - in: query name: id schema: type: string - in: query name: registry schema: type: string - in: query name: organization schema: type: string - in: query name: name schema: type: string - in: query name: toolname schema: type: string - in: query name: description schema: type: string - in: query name: author schema: type: string - in: query name: offset schema: type: string - in: query name: limit schema: type: integer format: int32 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolV1' description: An array of Tools that match the filter. summary: List all tools tags: - GA4GHV1 /api/ga4gh/v1/tools/{id}: get: description: This endpoint returns one specific tool (which has ToolVersions nested inside it) operationId: toolsIdGetV1 parameters: - in: path name: id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolV1' description: A tool. summary: "List one specific tool, acts as an anchor for self references" tags: - GA4GHV1 /api/ga4gh/v1/tools/{id}/versions: get: description: Returns all versions of the specified tool operationId: toolsIdVersionGetV1 parameters: - in: path name: id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolVersionV1' description: An array of tool versions summary: List versions of a tool tags: - GA4GHV1 /api/ga4gh/v1/tools/{id}/versions/{version_id}: get: description: This endpoint returns one specific tool version operationId: versionIdGetV1 parameters: - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolVersionV1' description: A tool version. summary: "List one specific tool version, acts as an anchor for self references" tags: - GA4GHV1 /api/ga4gh/v1/tools/{id}/versions/{version_id}/dockerfile: get: description: Returns the dockerfile for the specified image. operationId: dockerfileGetV1 parameters: - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolDockerfile' description: The tool payload. summary: Get the dockerfile for the specified image. tags: - GA4GHV1 /api/ga4gh/v1/tools/{id}/versions/{version_id}/{type}/descriptor: get: description: Returns the CWL or WDL descriptor for the specified tool. operationId: descriptorGetV1 parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolDescriptor' description: The tool descriptor. "404": content: application/json: schema: $ref: '#/components/schemas/ToolDescriptor' description: The tool can not be output in the specified type. summary: Get the tool descriptor (CWL/WDL) for the specified tool. tags: - GA4GHV1 /api/ga4gh/v1/tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path}: get: description: Returns additional CWL or WDL descriptors for the specified tool in the same or subdirectories operationId: relativeDescriptorGetV1 parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string - in: path name: relative_path required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolDescriptor' description: The tool descriptor. "404": content: application/json: schema: $ref: '#/components/schemas/ToolDescriptor' description: The tool can not be output in the specified type. summary: Get additional tool descriptor files (CWL/WDL) relative to the main file tags: - GA4GHV1 /api/ga4gh/v1/tools/{id}/versions/{version_id}/{type}/tests: get: operationId: testsGetV1 parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolTestsV1' description: The tool test JSON response. "404": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolTestsV1' description: The tool can not be output in the specified type. summary: Get an array of test JSONs suitable for use with this descriptor type. tags: - GA4GHV1 /api/ga4gh/v2/extended/aiTopicCandidates: get: description: "Get all published tools that are AI topic candidates and their\ \ representative version if it exists, otherwise an empty string is returned\ \ as the version name." operationId: getAITopicCandidates parameters: - description: "Start index of paging. If this exceeds the current result set\ \ return an empty set. If not specified in the request, this will start\ \ at the beginning of the results." in: query name: offset schema: type: integer format: int32 default: 0 minimum: 0 - description: Amount of records to return in a given page. in: query name: limit schema: type: integer format: int32 default: 1000 maximum: 1000 minimum: 1 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/EntryLiteAndVersionName' description: "Retrieved published tools that are AI topic candidates and\ \ a single representative version name if it exists, otherwise an empty\ \ string is returned as the version name." headers: X-total-count: description: Total count of AI topic candidates schema: type: integer format: int64 style: simple "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. security: - BEARER: [] tags: - extendedGA4GH /api/ga4gh/v2/extended/containers/{organization}: get: description: This endpoint returns entries of an organization. operationId: entriesOrgGet parameters: - in: path name: organization required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolV1' description: An array of Tools of the input organization. summary: List entries of an organization tags: - extendedGA4GH /api/ga4gh/v2/extended/entryVersionsToAggregate: get: description: This endpoint gets entry versions that have new execution metrics to aggregate. operationId: getEntryVersionsToAggregate responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/EntryLiteAndVersionName' description: Entry versions to aggregate retrieved successfully. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. security: - BEARER: [] summary: Get entry versions that have new execution metrics to aggregate. tags: - extendedGA4GH /api/ga4gh/v2/extended/organizations: get: description: This endpoint returns list of all organizations. operationId: entriesOrgsGet responses: "200": content: application/json: schema: type: array items: type: string description: An array of organizations' names. summary: List all organizations tags: - extendedGA4GH /api/ga4gh/v2/extended/tools/entry/_search: post: description: This endpoint searches the indices for all published tools and workflows. Used by utilities that expect to talk to an elastic search endpoint. operationId: toolsIndexSearch requestBody: content: application/json: schema: type: string responses: "200": content: application/json: schema: type: string description: An elastic search result. summary: Search the tools and workflows indices. tags: - extendedGA4GH /api/ga4gh/v2/extended/tools/index: post: description: This endpoint updates the indices for all published tools and workflows. operationId: Update the workflows and tools indices responses: "200": content: application/json: schema: type: integer format: int32 text/plain: schema: type: integer format: int32 description: Workflows and tools indices populated with entries. security: - BEARER: [] summary: Update the workflows and tools indices tags: - extendedGA4GH /api/ga4gh/v2/extended/tools/{organization}: get: description: This endpoint returns tools of an organization. operationId: toolsOrgGet parameters: - in: path name: organization required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolV1' description: An array of Tools of the input organization. summary: List tools of an organization tags: - extendedGA4GH /api/ga4gh/v2/extended/workflows/{organization}: get: description: This endpoint returns workflows of an organization. operationId: workflowsOrgGet parameters: - in: path name: organization required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolV1' description: An array of Tools of the input organization. summary: List workflows of an organization tags: - extendedGA4GH /api/ga4gh/v2/extended/{id}/aggregatedMetrics: get: description: This endpoint retrieves aggregated metrics for a tool from all platforms operationId: aggregatedMetricsGetEntry parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string responses: default: content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/Metrics' description: default response security: - BEARER: [] tags: - extendedGA4GH put: description: This endpoint adds aggregated metrics for a workflow that was executed on a platform operationId: aggregatedMetricsPutEntry parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string requestBody: content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/Metrics' description: A map of aggregated metrics for platforms to set as the version's metrics required: true responses: "200": content: application/json: schema: type: string description: Aggregated metrics added successfully. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The tool cannot be found to add aggregated metrics. security: - BEARER: [] summary: Add aggregated execution metrics for a workflow that was executed on a platform. tags: - extendedGA4GH /api/ga4gh/v2/extended/{id}/aiTopicCandidate: get: description: Get a tool's AI topic candidate version for consideration operationId: getAITopicCandidate parameters: - in: path name: id required: true schema: type: string responses: "200": content: application/json: schema: type: string description: Got workflow candidate version for topic generation. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The tool cannot be found to get a candidate version for topic generation. security: - BEARER: [] tags: - extendedGA4GH /api/ga4gh/v2/extended/{id}/updateAITopic: put: description: Update a tool's AI topic. operationId: updateAITopic parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string - description: "The name of the version that was used to generate a topic, for\ \ example `v1.0`" in: query name: version required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAITopicRequest' description: The update AI topic request required: true responses: "204": description: Successfully updated the tool's AI topic security: - BEARER: [] tags: - extendedGA4GH /api/ga4gh/v2/extended/{id}/versions/{version_id}/aggregatedMetrics: get: description: This endpoint retrieves aggregated metrics for a tool from all platforms operationId: aggregatedMetricsGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string - description: "An identifier of the tool version for this particular tool registry,\ \ for example `v1`" in: path name: version_id required: true schema: type: string responses: default: content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/Metrics' description: default response security: - BEARER: [] summary: Get aggregated execution metrics for a tool from all platforms tags: - extendedGA4GH put: description: This endpoint adds aggregated metrics for a workflow that was executed on a platform operationId: aggregatedMetricsPut parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string - description: "An identifier of the tool version for this particular tool registry,\ \ for example `v1`" in: path name: version_id required: true schema: type: string requestBody: content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/Metrics' description: A map of aggregated metrics for platforms to set as the version's metrics required: true responses: "200": content: application/json: schema: type: string description: Aggregated metrics added successfully. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The tool cannot be found to add aggregated metrics. security: - BEARER: [] summary: Add aggregated execution metrics for a workflow that was executed on a platform. tags: - extendedGA4GH /api/ga4gh/v2/extended/{id}/versions/{version_id}/execution: get: description: This endpoint retrieves an execution for a tool by execution ID operationId: executionGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string - description: "An identifier of the tool version for this particular tool registry,\ \ for example `v1`" in: path name: version_id required: true schema: type: string - description: Platform that the tool was executed on in: query name: platform required: true schema: type: string enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL - description: The execution ID of the execution to retrieve in: query name: executionId required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ExecutionsRequestBody' description: Execution retrieved successfully. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The execution cannot be found. security: - BEARER: [] summary: Get an execution for a tool by execution ID tags: - extendedGA4GH /api/ga4gh/v2/extended/{id}/versions/{version_id}/executions: post: description: This endpoint submits individual execution metrics for a tool that was executed on a platform. operationId: executionMetricsPost parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string - description: "An identifier of the tool version for this particular tool registry,\ \ for example `v1`" in: path name: version_id required: true schema: type: string - description: Platform that the tool was executed on in: query name: platform required: true schema: type: string enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL - description: Optional description about the execution metrics in: query name: description schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ExecutionsRequestBody' description: Individual execution metrics to submit. required: true responses: "204": description: Execution metrics submitted successfully. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The tool cannot be found to submit execution metrics. security: - BEARER: [] summary: Submit individual execution metrics for a tool that was executed on a platform. tags: - extendedGA4GH put: description: This endpoint updates workflow executions that were executed on a platform. operationId: ExecutionMetricsUpdate parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`" in: path name: id required: true schema: type: string - description: "An identifier of the tool version for this particular tool registry,\ \ for example `v1`" in: path name: version_id required: true schema: type: string - description: Platform that the tool was executed on in: query name: platform required: true schema: type: string enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL - description: Optional description about the execution metrics that are being updated in: query name: description schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ExecutionsRequestBody' description: The updated executions required: true responses: "207": content: application/json: schema: $ref: '#/components/schemas/ExecutionsResponseBody' description: Executions to update processed. Please view the individual responses. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The tool cannot be found to update the executions. security: - BEARER: [] summary: Update workflow executions that were executed on a platform. tags: - extendedGA4GH /api/ga4gh/v2/extended/{id}/versions/{version_id}/{type}/tests/{relative_path}: post: description: Test JSON can be annotated with whether they ran correctly keyed by platform and associated with some metadata. operationId: verifyTestParameterFilePost parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string - in: path name: relative_path required: true schema: type: string - in: query name: platform schema: type: string - in: query name: platform_version schema: type: string - in: query name: verified schema: type: boolean - in: query name: metadata schema: type: string responses: "200": content: application/json: schema: type: string description: The tool test JSON response. "401": content: application/json: schema: $ref: '#/components/schemas/Error' description: Credentials not provided or incorrect. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The tool test cannot be found to annotate. security: - BEARER: [] summary: Annotate test JSON with information on whether it ran successfully on particular platforms plus metadata tags: - extendedGA4GH /api/ga4gh/v2/metadata: get: description: Return some metadata that is useful for describing this registry operationId: metadataGet responses: "200": content: application/json: schema: $ref: '#/components/schemas/MetadataV20beta' text/plain: schema: $ref: '#/components/schemas/MetadataV20beta' description: A Metadata object describing this service. summary: Return some metadata that is useful for describing this registry tags: - GA4GHV20BETA /api/ga4gh/v2/toolClasses: get: description: 'This endpoint returns all tool-classes available ' operationId: toolClassesGet_1 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolClassV20beta' text/plain: schema: type: array items: $ref: '#/components/schemas/ToolClassV20beta' description: A list of potential tool classes. summary: List all tool types tags: - GA4GHV20BETA /api/ga4gh/v2/tools: get: description: 'This endpoint returns all tools available or a filtered subset using metadata query parameters. ' operationId: toolsGet_1 parameters: - in: query name: id schema: type: string - in: query name: alias schema: type: string - in: query name: registry schema: type: string - in: query name: organization schema: type: string - in: query name: name schema: type: string - in: query name: toolname schema: type: string - in: query name: description schema: type: string - in: query name: author schema: type: string - in: query name: checker schema: type: boolean - in: query name: offset schema: type: string - in: query name: limit schema: type: integer format: int32 default: 1000 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolV20beta' text/plain: schema: type: array items: $ref: '#/components/schemas/ToolV20beta' description: An array of Tools that match the filter. summary: List all tools tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}: get: description: This endpoint returns one specific tool (which has ToolVersions nested inside it) operationId: toolsIdGet_1 parameters: - in: path name: id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolV20beta' text/plain: schema: $ref: '#/components/schemas/ToolV20beta' description: A tool. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorV20beta' text/plain: schema: $ref: '#/components/schemas/ErrorV20beta' description: The tool can not be found. summary: "List one specific tool, acts as an anchor for self references" tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}/versions: get: description: Returns all versions of the specified tool operationId: toolsIdVersionsGet_1 parameters: - in: path name: id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolVersionV20beta' text/plain: schema: type: array items: $ref: '#/components/schemas/ToolVersionV20beta' description: An array of tool versions summary: List versions of a tool tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}/versions/{version_id}: get: description: This endpoint returns one specific tool version operationId: toolsIdVersionsVersionIdGet_1 parameters: - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolVersionV20beta' text/plain: schema: $ref: '#/components/schemas/ToolVersionV20beta' description: A tool version. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorV20beta' text/plain: schema: $ref: '#/components/schemas/ErrorV20beta' description: The tool can not be found. summary: "List one specific tool version, acts as an anchor for self references" tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}/versions/{version_id}/containerfile: get: description: "Returns the container specifications(s) for the specified image.\ \ For example, a CWL CommandlineTool can be associated with one specification\ \ for a container, a CWL Workflow can be associated with multiple specifications\ \ for containers" operationId: toolsIdVersionsVersionIdContainerfileGet_1 parameters: - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/FileWrapperV20beta' text/plain: schema: type: array items: $ref: '#/components/schemas/FileWrapperV20beta' description: The tool payload. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorV20beta' text/plain: schema: $ref: '#/components/schemas/ErrorV20beta' description: There are no container specifications for this tool summary: Get the container specification(s) for the specified image. tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}/versions/{version_id}/{type}/descriptor: get: description: "Returns the descriptor for the specified tool (examples include\ \ CWL, WDL, or Nextflow documents)." operationId: toolsIdVersionsVersionIdTypeDescriptorGet_1 parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/FileWrapperV20beta' text/plain: schema: $ref: '#/components/schemas/FileWrapperV20beta' description: The tool descriptor. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorV20beta' text/plain: schema: $ref: '#/components/schemas/ErrorV20beta' description: The tool descriptor can not be found. summary: Get the tool descriptor for the specified tool tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path}: get: description: 'Descriptors can often include imports that refer to additional descriptors. This returns additional descriptors for the specified tool in the same or other directories that can be reached as a relative path. This endpoint can be useful for workflow engine implementations like cwltool to programmatically download all the descriptors for a tool and run it. This can optionally include other files described with FileWrappers such as test parameters and containerfiles. ' operationId: toolsIdVersionsVersionIdTypeDescriptorRelativePathGet_1 parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string - in: path name: relative_path required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/FileWrapperV20beta' text/plain: schema: $ref: '#/components/schemas/FileWrapperV20beta' description: The tool descriptor. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorV20beta' text/plain: schema: $ref: '#/components/schemas/ErrorV20beta' description: The tool can not be output in the specified type. summary: Get additional tool descriptor files relative to the main file tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}/versions/{version_id}/{type}/files: get: description: "Get a list of objects that contain the relative path and file\ \ type. The descriptors are intended for use with the /tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path\ \ : .+} endpoint." operationId: toolsIdVersionsVersionIdTypeFilesGet_1 parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolFileV20beta' text/plain: schema: type: array items: $ref: '#/components/schemas/ToolFileV20beta' description: The array of File JSON responses. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorV20beta' text/plain: schema: $ref: '#/components/schemas/ErrorV20beta' description: The tool can not be output in the specified type. summary: Get a list of objects that contain the relative path and file type tags: - GA4GHV20BETA /api/ga4gh/v2/tools/{id}/versions/{version_id}/{type}/tests: get: description: Get a list of test JSONs (these allow you to execute the tool successfully) suitable for use with this descriptor type. operationId: toolsIdVersionsVersionIdTypeTestsGet_1 parameters: - in: path name: type required: true schema: type: string - in: path name: id required: true schema: type: string - in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/FileWrapperV20beta' text/plain: schema: type: array items: $ref: '#/components/schemas/FileWrapperV20beta' description: The tool test JSON response. "404": content: application/json: schema: $ref: '#/components/schemas/ErrorV20beta' text/plain: schema: $ref: '#/components/schemas/ErrorV20beta' description: The tool can not be output in the specified type. summary: Get a list of test JSONs tags: - GA4GHV20BETA /auth/tokens/bitbucket.org: get: description: "Add a new bitbucket.org token, used by quay.io redirect." operationId: addBitbucketToken parameters: - in: query name: code schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_User' description: Successfully added a new bitbucket.org token "400": description: Bad request "404": description: Not found "409": description: Conflict security: - BEARER: [] tags: - tokens /auth/tokens/github: post: description: "Allow satellizer to post a new GitHub token to dockstore, used\ \ by login, can create new users." operationId: addToken requestBody: content: '*/*': schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_Auth' description: Satellizer successfully posted a new GitHub token to Dockstore "401": description: Unauthorized "403": description: Forbidden "409": description: Conflict security: - BEARER: [] tags: - tokens /auth/tokens/github.com: get: description: "Add a new github.com token, used by accounts page." operationId: addGithubToken parameters: - in: query name: code schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_User' description: Successfully added a new github.com token "401": description: Unauthorized "403": description: Forbidden "409": description: Conflict security: - BEARER: [] tags: - tokens /auth/tokens/gitlab.com: get: description: Add a new gitlab.com token. operationId: addGitlabToken parameters: - in: query name: code schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_User' description: Successfully added a new gitlab.com token "400": description: Bad request "404": description: Not found "409": description: Conflict security: - BEARER: [] tags: - tokens /auth/tokens/google: post: description: Allow satellizer to post a new Google token to Dockstore. operationId: addGoogleToken requestBody: content: application/json: schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_Auth' description: Successfully posted a new Google token to Dockstore "400": description: Bad request "401": description: Unauthorized "403": description: Forbidden "409": description: Conflict "417": description: Expectation failed security: - BEARER: [] tags: - tokens /auth/tokens/orcid.org: post: description: "Using OAuth code from ORCID, request and store tokens from ORCID\ \ API" operationId: addOrcidToken parameters: - in: query name: code schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_User' description: Successfully added orcid.org token "400": description: Bad request "404": description: Not found "409": description: Conflict "500": description: Internal server error security: - BEARER: [] summary: Add a new orcid.org token tags: - tokens /auth/tokens/quay.io: get: description: Add a new Quay.io token. operationId: addQuayToken parameters: - in: query name: access_token schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_User' description: Successfully added a new Quay.io token "400": description: Bad request "404": description: Not found "409": description: Conflict security: - BEARER: [] tags: - tokens /auth/tokens/zenodo.org: get: description: "Add a new zenodo.org token, used by accounts page." operationId: addZenodoToken parameters: - in: query name: code schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_User' description: Successfully added a new zenodo.org token "400": description: Bad request "404": description: Not found "409": description: Conflict security: - BEARER: [] tags: - tokens /auth/tokens/{tokenId}: delete: description: Delete a token. operationId: deleteToken parameters: - in: path name: tokenId required: true schema: type: integer format: int64 responses: "204": description: Successfully deleted token "403": description: Forbidden "404": description: Token not found security: - BEARER: [] tags: - tokens get: description: Get information about a specific token by id. operationId: listToken parameters: - in: path name: tokenId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/Token_User' description: A token specified by id "404": description: Token not found security: - BEARER: [] tags: - tokens /categories: get: description: Retrieve all categories. operationId: getCategories parameters: - description: Name of category to retrieve in: query name: name schema: type: string - description: "Comma-delimited list of fields to include: entries" in: query name: include schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Category' description: Successfully retrieved categories summary: Retrieve all categories. tags: - categories /categories/{id}: get: description: Retrieve a category by ID. operationId: getCategoryById parameters: - description: Category ID. in: path name: id required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/Category' description: Successfully retrieved category "404": description: Category not found summary: Retrieve a category by ID. tags: - categories /cloudInstances: get: operationId: getCloudInstances responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/CloudInstance' description: OK summary: Get all known public cloud instances tags: - Cloud Instances post: operationId: postCloudInstance requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudInstance' description: Cloud instance to create required: true responses: "204": description: No Content "401": description: Unauthorized "403": description: Forbidden security: - BEARER: [] summary: "Add a new public cloud instance, admin only" tags: - Cloud Instances /cloudInstances/{cloudInstanceId}: delete: operationId: deleteCloudInstance parameters: - description: ID of cloud instance to delete in: path name: cloudInstanceId required: true schema: type: integer format: int64 responses: "204": description: No Content "401": description: Unauthorized "403": description: Forbidden security: - BEARER: [] summary: "Delete a public cloud instance, admin only" tags: - Cloud Instances /containers/hostedEntry: post: description: Create a hosted tool. operationId: createHostedTool parameters: - in: query name: registry schema: type: string - in: query name: name schema: type: string - in: query name: descriptorType schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter - in: query name: namespace schema: type: string - in: query name: entryName schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: Successfully created a hosted tool. security: - BEARER: [] tags: - hosted /containers/hostedEntry/{entryId}: delete: description: Delete a revision of a hosted tool. operationId: deleteHostedToolVersion parameters: - in: path name: entryId required: true schema: type: integer format: int64 - in: query name: version schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully deleted hosted entry version security: - BEARER: [] tags: - hosted patch: description: Non-idempotent operation for creating new revisions of hosted tools. operationId: editHostedTool parameters: - description: Entry to modify in: path name: entryId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: "Set of updated source files, add files by adding new files with\ \ unknown paths, delete files by including them with null content" required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - hosted /containers/namespace/{namespace}/published: get: description: List all published tools belonging to the specified namespace. operationId: getPublishedContainersByNamespace parameters: - in: path name: namespace required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/DockstoreTool' description: default response tags: - containers /containers/path/tool/{repository}: get: description: Requires full path (including tool name if applicable). operationId: getContainerByToolPath parameters: - in: path name: repository required: true schema: type: string - in: query name: include schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] summary: Get a tool by the specific tool path tags: - containers /containers/path/tool/{repository}/published: get: description: Requires full path (including tool name if applicable). operationId: getPublishedContainerByToolPath parameters: - in: path name: repository required: true schema: type: string - in: query name: include schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response summary: Get a published tool by the specific tool path. tags: - containers /containers/path/{containerId}/tags: get: description: Get tags for a tool by id. operationId: getTagsByPath parameters: - in: path name: containerId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' uniqueItems: true description: default response security: - BEARER: [] tags: - containertags /containers/path/{repository}: get: description: Do not include tool name. operationId: getContainerByPath parameters: - in: path name: repository required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] summary: Get a list of tools by path. tags: - containers /containers/path/{repository}/published: get: description: Do not include tool name. operationId: getPublishedContainerByPath parameters: - in: path name: repository required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] summary: Get a list of published tools by path. tags: - containers /containers/published: get: description: List all published tools. operationId: allPublishedContainers parameters: - in: query name: offset schema: type: integer format: int32 default: 0 minimum: 0 - in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 minimum: 1 - in: query name: filter schema: type: string default: "" - in: query name: sortCol schema: type: string default: stars - in: query name: sortOrder schema: type: string default: desc responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/DockstoreTool' description: default response tags: - containers /containers/published/{containerId}: get: description: Get a published tool. operationId: getPublishedContainer parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: include schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response tags: - containers /containers/registerManual: post: description: "Register a tool manually, along with tags." operationId: registerManual requestBody: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - containers /containers/tags: get: description: List the tags for a tool. operationId: tags parameters: - in: query name: containerId schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}: delete: description: Delete a tool. operationId: deleteContainer parameters: - in: path name: containerId required: true schema: type: integer format: int64 responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - containers get: description: Retrieve a tool operationId: getContainer parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: include schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - containers put: description: "Updates default descriptor paths, default Dockerfile paths, default\ \ test parameter paths, git url, and default version. Also updates tool maintainer\ \ email, and private access for manual tools." operationId: updateContainer parameters: - in: path name: containerId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] summary: Update the tool with the given tool. tags: - containers /containers/{containerId}/descriptor/{relative-path}: get: description: Get the corresponding descriptor file. operationId: secondaryDescriptorPath parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string - in: path name: relative-path required: true schema: type: string - in: query name: language schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/dockerfile: get: description: Get the corresponding Dockerfile. operationId: dockerfile parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/labels: put: description: Update the labels linked to a tool. operationId: updateLabels parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: labels schema: type: string requestBody: content: '*/*': schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/primaryDescriptor: get: description: Get the primary descriptor file. operationId: primaryDescriptor parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string - in: query name: language schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/publish: post: description: Publish or unpublish a tool. operationId: publish parameters: - in: path name: containerId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/PublishRequest' responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/refresh: get: description: Refresh one particular tool. operationId: refresh parameters: - in: path name: containerId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/requestDOI/{tagId}: post: description: Request a DOI for this version of a tool. operationId: requestDOIForToolTag parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: path name: tagId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' uniqueItems: true description: default response security: - BEARER: [] tags: - containertags /containers/{containerId}/secondaryDescriptors: get: description: Get a list of secondary descriptor files. operationId: secondaryDescriptors parameters: - description: Tool id in: path name: containerId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string - description: Descriptor language in: query name: language required: true schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/star: put: description: Star a tool. operationId: starEntry parameters: - description: Tool to star. in: path name: containerId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/StarRequest' description: StarRequest to star a repo for a user required: true responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/starredUsers: get: description: Returns list of users who starred a tool. operationId: getStarredUsers parameters: - in: path name: containerId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/User' uniqueItems: true description: default response tags: - containers /containers/{containerId}/tags: post: description: Add new tags linked to a tool. operationId: addTags parameters: - in: path name: containerId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' uniqueItems: true description: default response security: - BEARER: [] tags: - containertags put: description: Update the tags linked to a tool. operationId: updateTags parameters: - in: path name: containerId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' uniqueItems: true description: default response security: - BEARER: [] tags: - containertags /containers/{containerId}/tags/{tagId}: delete: description: Delete tag linked to a tool. operationId: deleteTags parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: path name: tagId required: true schema: type: integer format: int64 responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - containertags /containers/{containerId}/tags/{tagId}/description: get: description: Retrieve a tag's description operationId: getTagDescription parameters: - description: Container to retrieve the version from in: path name: containerId required: true schema: type: integer format: int64 - description: Tag to retrieve the description from in: path name: tagId required: true schema: type: integer format: int64 responses: default: content: text/plain: schema: type: string description: default response security: - BEARER: [] tags: - containertags /containers/{containerId}/tags/{tagId}/sourcefiles: get: description: Retrieve sourcefiles for a container's version operationId: getTagsSourcefiles parameters: - description: Container to retrieve the version from in: path name: containerId required: true schema: type: integer format: int64 - description: Tag to retrieve the sourcefiles from in: path name: tagId required: true schema: type: integer format: int64 - description: List of file types to filter sourcefiles by in: query name: fileTypes schema: type: array items: type: string enum: - DOCKSTORE_SMK - SMK_TEST_PARAMS - DOCKSTORE_CWL - CWL_TEST_JSON - DOCKSTORE_WDL - WDL_TEST_JSON - DOCKSTORE_WORKFLOW_OTHER - DOCKERFILE - NEXTFLOW - NEXTFLOW_CONFIG - NEXTFLOW_TEST_PARAMS - DOCKSTORE_YML - DOCKSTORE_SERVICE_YML - DOCKSTORE_SERVICE_TEST_JSON - DOCKSTORE_SERVICE_OTHER - DOCKSTORE_GXFORMAT2 - GXFORMAT2_TEST_FILE - DOCKSTORE_SWL - SWL_TEST_JSON - DOCKSTORE_JUPYTER - DOCKSTORE_NOTEBOOK_REES - DOCKSTORE_NOTEBOOK_DEVCONTAINER - DOCKSTORE_NOTEBOOK_TEST_FILE - DOCKSTORE_NOTEBOOK_OTHER responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: default response security: - BEARER: [] tags: - containertags /containers/{containerId}/testParameterFiles: delete: description: Delete test parameter files to a tag. operationId: deleteTestParameterFiles parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: testParameterPaths schema: type: array items: type: string - in: query name: tagName schema: type: string - in: query name: descriptorType schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: default response security: - BEARER: [] tags: - containers get: description: Get the corresponding test parameter files. operationId: getTestParameterFiles parameters: - description: Tool id in: path name: containerId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string - description: Descriptor Type in: query name: descriptorType required: true schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - containers put: description: Add test parameter files to a tag. operationId: addTestParameterFiles parameters: - in: path name: containerId required: true schema: type: integer format: int64 - in: query name: testParameterPaths schema: type: array items: type: string - in: query name: tagName schema: type: string - in: query name: descriptorType schema: type: string requestBody: content: '*/*': schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/updateTagPaths: put: description: Change the tool paths. operationId: updateTagContainerPath parameters: - in: path name: containerId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - containers /containers/{containerId}/users: get: description: Get users of a tool. operationId: getUsers parameters: - in: path name: containerId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/User' description: default response security: - BEARER: [] tags: - containers /containers/{toolId}/defaultVersion: put: description: Update the default version of the given tool. operationId: updateDefaultVersion parameters: - in: path name: toolId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/DockstoreTool' description: default response security: - BEARER: [] tags: - containers /containers/{toolId}/zip/{tagId}: get: description: Download a ZIP file of a tool and all associated files. operationId: getToolZip parameters: - in: path name: toolId required: true schema: type: integer format: int64 - in: path name: tagId required: true schema: type: integer format: int64 responses: default: content: application/zip: {} description: default response security: - BEARER: [] tags: - containers /curation/notifications: get: description: Return all active notifications operationId: getActiveNotifications responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/PublicNotification' description: default response tags: - curation post: description: Create a notification operationId: createNotification requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicNotification' description: Notification to create required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/PublicNotification' description: default response security: - BEARER: [] tags: - curation /curation/notifications/user: get: description: Return all notifications for a user operationId: getUserNotifications parameters: - description: "Start index of paging. Pagination results can be based on numbers\ \ or other values chosen by the registry implementor (for example, SHA values).\ \ If this exceeds the current result set return an empty set. If not specified\ \ in the request, this will start at the beginning of the results." in: query name: offset schema: type: integer format: int32 default: 0 minimum: 0 - description: "Amount of records to return in a given page, limited to 100" in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 minimum: 1 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/UserNotification' description: default response security: - BEARER: [] tags: - curation /curation/notifications/user/githubapp: get: description: Return all GitHub App notifications for a user operationId: getGitHubAppNotifications parameters: - description: "Start index of paging. Pagination results can be based on numbers\ \ or other values chosen by the registry implementor (for example, SHA values).\ \ If this exceeds the current result set return an empty set. If not specified\ \ in the request, this will start at the beginning of the results." in: query name: offset schema: type: integer format: int32 default: 0 minimum: 0 - description: "Amount of records to return in a given page, limited to 100" in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 minimum: 1 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/GitHubAppNotification' description: default response security: - BEARER: [] tags: - curation /curation/notifications/user/{id}: delete: description: Delete a user notification operationId: deleteUserNotification parameters: - description: Notification to delete in: path name: id required: true schema: type: integer format: int64 responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - curation /curation/notifications/user/{id}/hide: patch: description: Hide a user notification operationId: hideUserNotification parameters: - description: Notification to hide in: path name: id required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string description: "This is here to appease Swagger. It requires PATCH methods to\ \ have a body, even if it is empty. Please leave it empty." responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - curation /curation/notifications/{id}: delete: description: Delete a notification operationId: deleteNotification parameters: - in: path name: id required: true schema: type: integer format: int64 responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - curation get: description: Return the notification with given id operationId: getNotification parameters: - in: path name: id required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/PublicNotification' description: default response tags: - curation put: description: Update a notification operationId: updateNotification parameters: - in: path name: id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicNotification' responses: default: content: application/json: schema: $ref: '#/components/schemas/PublicNotification' description: default response security: - BEARER: [] tags: - curation /entries/toCategorize: get: description: "Get published entries that are new and uncategorized, or that\ \ have changed since last categorization and were last categorized at least\ \ intervalSeconds seconds ago." operationId: findEntriesToCategorize parameters: - description: Interval in seconds; entries last categorized at least this many seconds ago are eligible for re-categorization if changed in: query name: intervalSeconds required: true schema: type: integer format: int64 - description: Pagination offset in: query name: offset schema: type: integer format: int32 default: 0 - description: Pagination limit in: query name: limit schema: type: integer format: int32 default: 100 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/EntryLiteAndVersionName' description: Successfully retrieved entries security: - BEARER: [] tags: - entries /entries/updateLanguageVersions: post: description: Update language versions operationId: updateLanguageVersions parameters: - description: Whether to process all versions or only versions without language descriptor already set in: query name: allVersions schema: type: boolean default: false responses: "200": content: application/json: schema: type: integer format: int32 description: Number of entries processed security: - BEARER: [] tags: - entries /entries/updateOpenData: post: description: Update open data operationId: updateOpenData parameters: - description: Whether to process all versions or only versions without open data already set in: query name: allVersions schema: type: boolean default: false responses: "200": content: application/json: schema: type: integer format: int32 description: Number of entries processed security: - BEARER: [] tags: - entries /entries/{alias}/aliases: get: description: Retrieves an entry by alias. operationId: getEntryByAlias parameters: - description: Alias in: path name: alias required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully retrieved entry security: - BEARER: [] tags: - entries /entries/{entryId}/exportToOrcid: post: description: Export entry to ORCID. DOI is required operationId: exportToORCID parameters: - description: The id of the entry to export. in: path name: entryId required: true schema: type: integer format: int64 - description: Optional version ID of the entry version to export. in: query name: versionId schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully exported entry to ORCID "400": description: Bad Request "404": description: Not Found "500": description: Internal Server Error security: - BEARER: [] tags: - entries /entries/{entryId}/syncStatus: get: description: Get information about automatic updates to the entry operationId: syncStatus parameters: - description: id of the entry in: path name: entryId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/SyncStatus' description: Information about automatic updates to the entry security: - BEARER: [] tags: - entries /entries/{entryId}/verifiedPlatforms: get: description: Get the verified platforms for each version of an entry. operationId: getVerifiedPlatforms parameters: - description: id of the entry in: path name: entryId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/VersionVerifiedPlatform' description: default response security: - BEARER: [] tags: - entries /entries/{entryId}/versions/{versionId}/descriptionMetrics: get: description: Retrieve metrics on the description of an entry operationId: getDescriptionMetrics parameters: - description: Entry to retrieve the version from in: path name: entryId required: true schema: type: integer format: int64 - description: Version to retrieve the sourcefile types from in: path name: versionId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/DescriptionMetrics' description: Successfully calculated description metrics security: - BEARER: [] tags: - entries /entries/{entryId}/versions/{versionId}/fileTypes: get: description: Retrieve the unique file types of a version's sourcefile operationId: getVersionsFileTypes parameters: - description: Entry to retrieve the version from in: path name: entryId required: true schema: type: integer format: int64 - description: Version to retrieve the sourcefile types from in: path name: versionId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: type: string enum: - DOCKSTORE_SMK - SMK_TEST_PARAMS - DOCKSTORE_CWL - CWL_TEST_JSON - DOCKSTORE_WDL - WDL_TEST_JSON - DOCKSTORE_WORKFLOW_OTHER - DOCKERFILE - NEXTFLOW - NEXTFLOW_CONFIG - NEXTFLOW_TEST_PARAMS - DOCKSTORE_YML - DOCKSTORE_SERVICE_YML - DOCKSTORE_SERVICE_TEST_JSON - DOCKSTORE_SERVICE_OTHER - DOCKSTORE_GXFORMAT2 - GXFORMAT2_TEST_FILE - DOCKSTORE_SWL - SWL_TEST_JSON - DOCKSTORE_JUPYTER - DOCKSTORE_NOTEBOOK_REES - DOCKSTORE_NOTEBOOK_DEVCONTAINER - DOCKSTORE_NOTEBOOK_TEST_FILE - DOCKSTORE_NOTEBOOK_OTHER uniqueItems: true description: default response security: - BEARER: [] tags: - entries /entries/{id}: delete: description: Completely remove an entry from Dockstore. operationId: deleteEntry parameters: - in: path name: id required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully deleted the entry "403": description: The specified entry is not deletable. security: - BEARER: [] tags: - entries /entries/{id}/aliases: post: description: Add aliases linked to a entry in Dockstore. operationId: addAliases_1 parameters: - in: path name: id required: true schema: type: integer format: int64 - in: query name: aliases schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully added alias to entry security: - BEARER: [] tags: - entries /entries/{id}/archive: post: description: Archive an entry. operationId: archiveEntry parameters: - in: path name: id required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully archived the entry security: - BEARER: [] tags: - entries /entries/{id}/categories: get: description: Get the categories that contain the published entry operationId: entryCategories parameters: - description: Entry ID in: path name: id required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Category' description: Successfully retrieved categories "400": description: Entry must be published tags: - entries /entries/{id}/collections: get: description: Get the collections and approved organizations that contain the published entry operationId: entryCollections parameters: - in: path name: id required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/CollectionOrganization' description: default response tags: - entries /entries/{id}/lastCategorizedDate: get: description: Get the date of the last categorization of an entry. operationId: getLastCategorizedDate parameters: - description: Entry ID in: path name: id required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: string format: date-time description: Successfully retrieved the last categorized date security: - BEARER: [] tags: - entries put: description: Set the date of the last categorization of an entry. operationId: setLastCategorizedDate parameters: - description: Entry ID in: path name: id required: true schema: type: integer format: int64 - description: Date in UTC epoch seconds; defaults to now in: query name: whenSeconds schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string description: "This is here to appease Swagger. It requires PUT methods to\ \ have a body, even if it is empty. Please leave it empty." responses: "200": content: application/json: schema: type: string format: date-time description: Successfully set the last categorized date security: - BEARER: [] tags: - entries /entries/{id}/topic: post: description: Create a discourse topic for an entry. operationId: setDiscourseTopic parameters: - description: The id of the entry to add a topic to. in: path name: id required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/Entry' description: default response security: - BEARER: [] tags: - entries /entries/{id}/unarchive: post: description: Unarchive an entry. operationId: unarchiveEntry parameters: - in: path name: id required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully unarchived the entry security: - BEARER: [] tags: - entries /events: get: description: Requires authentication. operationId: getEvents parameters: - in: query name: eventSearchType required: true schema: type: string enum: - STARRED_ENTRIES - STARRED_ORGANIZATION - ALL_STARRED - PROFILE - SELF_ORGANIZATIONS - in: query name: limit schema: type: integer format: int32 default: 10 maximum: 100 minimum: 1 - in: query name: offset schema: type: integer format: int32 default: 0 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Event' description: A list of events security: - BEARER: [] summary: Get events based on filters. tags: - events /events/{userId}: get: description: Optional authentication. operationId: getUserEvents parameters: - in: path name: userId required: true schema: type: integer format: int64 - in: query name: eventSearchType required: true schema: type: string enum: - STARRED_ENTRIES - STARRED_ORGANIZATION - ALL_STARRED - PROFILE - SELF_ORGANIZATIONS - in: query name: limit schema: type: integer format: int32 default: 10 maximum: 100 minimum: 1 - in: query name: offset schema: type: integer format: int32 default: 0 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Event' description: A list of events "404": description: User not found summary: Get events based on filter and user id. tags: - events /ga4gh/trs/v2/service-info: get: operationId: getServiceInfo responses: "200": content: application/json: schema: $ref: '#/components/schemas/TRSService' description: A successful operation to request the service information about this running service.' summary: Show information about this service. It is assumed that removing this endpoint from a URL will result in a valid URL to query against tags: - GA4GHV20 /ga4gh/trs/v2/toolClasses: get: description: 'This endpoint returns all tool-classes available. ' operationId: toolClassesGet responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolClass' description: A list of potential tool classes. security: - BEARER: [] summary: List all tool types tags: - GA4GHV20 /ga4gh/trs/v2/tools: get: description: 'This endpoint returns all tools available or a filtered subset using metadata query parameters. ' operationId: toolsGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: query name: id schema: type: string - description: Support for this parameter is optional for tool registries that support aliases. If provided will only return entries with the given alias. in: query name: alias schema: type: string - description: Filter tools by the name of the subclass (#/definitions/ToolClass) in: query name: toolClass schema: type: string enum: - CommandLineTool - Workflow - description: Filter tools by the name of the descriptor type in: query name: descriptorType schema: type: string enum: - CWL - WDL - NFL - GALAXY - SMK - SERVICE - JUPYTER - description: The image registry that contains the image. in: query name: registry schema: type: string - description: The organization in the registry that published the image. in: query name: organization schema: type: string - description: The name of the image. in: query name: name schema: type: string - description: The name of the tool. in: query name: toolname schema: type: string - description: The description of the tool. in: query name: description schema: type: string - description: "The author of the tool (TODO a thought occurs, are we assuming\ \ that the author of the CWL and the image are the same?)." in: query name: author schema: type: string - description: Return only checker workflows. in: query name: checker schema: type: boolean - description: "Start index of paging. Pagination results can be based on numbers\ \ or other values chosen by the registry implementor (for example, SHA values).\ \ If this exceeds the current result set return an empty set. If not specified\ \ in the request, this will start at the beginning of the results." in: query name: offset schema: type: string - description: Amount of records to return in a given page. in: query name: limit schema: type: integer format: int32 default: 1000 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Tool' description: An array of Tools that match the filter. security: - BEARER: [] summary: List all tools tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}: get: description: This endpoint returns one specific tool (which has ToolVersions nested inside it). operationId: toolsIdGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Tool' text/plain: schema: $ref: '#/components/schemas/Tool' description: A tool. "404": content: application/json: schema: $ref: '#/components/schemas/Error' text/plain: schema: $ref: '#/components/schemas/Error' description: The tool can not be found. security: - BEARER: [] summary: "List one specific tool, acts as an anchor for self references" tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}/versions: get: description: Returns all versions of the specified tool. operationId: toolsIdVersionsGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolVersion' description: An array of tool versions. security: - BEARER: [] summary: List versions of a tool tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}/versions/{version_id}: get: description: This endpoint returns one specific tool version. operationId: toolsIdVersionsVersionIdGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string - description: "An identifier of the tool version, scoped to this registry,\ \ for example `v1`. We recommend that versions use semantic versioning https://semver.org/spec/v2.0.0.html\ \ (For example, `1.0.0` instead of `develop`)" in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/ToolVersion' description: A tool version. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: The tool can not be found. security: - BEARER: [] summary: "List one specific tool version, acts as an anchor for self references" tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}/versions/{version_id}/containerfile: get: description: "Returns the container specifications(s) for the specified image.\ \ For example, a CWL CommandlineTool can be associated with one specification\ \ for a container, a CWL Workflow can be associated with multiple specifications\ \ for containers." operationId: toolsIdVersionsVersionIdContainerfileGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string - description: "An identifier of the tool version, scoped to this registry,\ \ for example `v1`. We recommend that versions use semantic versioning https://semver.org/spec/v2.0.0.html\ \ (For example, `1.0.0` instead of `develop`)" in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/FileWrapper' description: The tool payload. "404": content: application/json: schema: $ref: '#/components/schemas/Error' description: There are no container specifications for this tool. security: - BEARER: [] summary: Get the container specification(s) for the specified image. tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}/versions/{version_id}/{type}/descriptor: get: description: "Returns the descriptor for the specified tool (examples include\ \ CWL, WDL, Nextflow, Galaxy, or Snakemake documents)." operationId: toolsIdVersionsVersionIdTypeDescriptorGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string - description: The output type of the descriptor. Plain types return the bare descriptor while the "non-plain" types return a descriptor wrapped with metadata. in: path name: type required: true schema: type: string enum: - CWL - WDL - NFL - GALAXY - SMK - JUPYTER - PLAIN_CWL - PLAIN_WDL - PLAIN_NFL - PLAIN_GALAXY - PLAIN_GXFORMAT2 - PLAIN_SMK - PLAIN_JUPYTER - description: "An identifier of the tool version, scoped to this registry,\ \ for example `v1`. We recommend that versions use semantic versioning https://semver.org/spec/v2.0.0.html\ \ (For example, `1.0.0` instead of `develop`)" in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/FileWrapper' text/plain: schema: $ref: '#/components/schemas/FileWrapper' description: The tool descriptor. "404": content: application/json: schema: $ref: '#/components/schemas/Error' text/plain: schema: $ref: '#/components/schemas/Error' description: The tool descriptor can not be found. security: - BEARER: [] summary: Get the tool descriptor for the specified tool tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path}: get: description: Descriptors can often include imports that refer to additional descriptors. This returns additional descriptors for the specified tool in the same or other directories that can be reached as a relative path. This endpoint can be useful for workflow engine implementations like cwltool to programmatically download all the descriptors for a tool and run it. This can optionally include other files described with FileWrappers such as test parameters and containerfiles. operationId: toolsIdVersionsVersionIdTypeDescriptorRelativePathGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string - description: The output type of the descriptor. Plain types return the bare descriptor while the "non-plain" types return a descriptor wrapped with metadata. in: path name: type required: true schema: type: string enum: - CWL - WDL - NFL - GALAXY - SMK - JUPYTER - PLAIN_CWL - PLAIN_WDL - PLAIN_NFL - PLAIN_GALAXY - PLAIN_GXFORMAT2 - PLAIN_SMK - PLAIN_JUPYTER - description: "An identifier of the tool version, scoped to this registry,\ \ for example `v1`. We recommend that versions use semantic versioning https://semver.org/spec/v2.0.0.html\ \ (For example, `1.0.0` instead of `develop`)" in: path name: version_id required: true schema: type: string - description: "A relative path to the additional file (same directory or subdirectories),\ \ for example 'foo.cwl' would return a 'foo.cwl' from the same directory\ \ as the main descriptor. 'nestedDirectory/foo.cwl' would return the file\ \ from a nested subdirectory. Unencoded paths such 'sampleDirectory/foo.cwl'\ \ should also be allowed." in: path name: relative_path required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/FileWrapper' text/plain: schema: $ref: '#/components/schemas/FileWrapper' description: The tool descriptor. "404": content: application/json: schema: $ref: '#/components/schemas/Error' text/plain: schema: $ref: '#/components/schemas/Error' description: The tool can not be output in the specified type. security: - BEARER: [] summary: Get additional tool descriptor files relative to the main file tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}/versions/{version_id}/{type}/files: get: description: "Get a list of objects that contain the relative path and file\ \ type. The descriptors are intended for use with the /tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path\ \ : .+} endpoint. Returns a zip file of all files when format=zip is specified." operationId: toolsIdVersionsVersionIdTypeFilesGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string - description: The output type of the descriptor. in: path name: type required: true schema: type: string enum: - CWL - WDL - NFL - GALAXY - SMK - SERVICE - JUPYTER - description: "An identifier of the tool version, scoped to this registry,\ \ for example `v1`. We recommend that versions use semantic versioning https://semver.org/spec/v2.0.0.html\ \ (For example, `1.0.0` instead of `develop`)" in: path name: version_id required: true schema: type: string - description: Returns a zip file of all files when format=zip is specified. in: query name: format schema: type: string enum: - zip responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolFile' application/zip: schema: type: array items: $ref: '#/components/schemas/ToolFile' description: The array of File JSON responses. "404": content: application/json: schema: $ref: '#/components/schemas/Error' application/zip: schema: $ref: '#/components/schemas/Error' description: The tool can not be output in the specified type. security: - BEARER: [] summary: Get a list of objects that contain the relative path and file type tags: - GA4GHV20 /ga4gh/trs/v2/tools/{id}/versions/{version_id}/{type}/tests: get: description: Get a list of test JSONs (these allow you to execute the tool successfully) suitable for use with this descriptor type. operationId: toolsIdVersionsVersionIdTypeTestsGet parameters: - description: "A unique identifier of the tool, scoped to this registry, for\ \ example `123456`." in: path name: id required: true schema: type: string - description: The output type of the descriptor. Plain types return the bare descriptor while the "non-plain" types return a descriptor wrapped with metadata. in: path name: type required: true schema: type: string enum: - CWL - WDL - NFL - GALAXY - SMK - JUPYTER - PLAIN_CWL - PLAIN_WDL - PLAIN_NFL - PLAIN_GALAXY - PLAIN_GXFORMAT2 - PLAIN_SMK - PLAIN_JUPYTER - description: "An identifier of the tool version, scoped to this registry,\ \ for example `v1`. We recommend that versions use semantic versioning https://semver.org/spec/v2.0.0.html\ \ (For example, `1.0.0` instead of `develop`)" in: path name: version_id required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/FileWrapper' text/plain: schema: type: array items: $ref: '#/components/schemas/FileWrapper' description: The tool test JSON response. "404": content: application/json: schema: $ref: '#/components/schemas/Error' text/plain: schema: $ref: '#/components/schemas/Error' description: The tool can not be output in the specified type. security: - BEARER: [] summary: Get a list of test JSONs tags: - GA4GHV20 /lambdaEvents/user/{userid}: get: description: Get all of the Lambda Events for the given user. operationId: getUserLambdaEvents parameters: - in: path name: userid required: true schema: type: integer format: int64 - description: "Start index of paging. Pagination results can be based on numbers\ \ or other values chosen by the registry implementor (for example, SHA values).\ \ If this exceeds the current result set return an empty set. If not specified\ \ in the request, this will start at the beginning of the results." in: query name: offset schema: type: integer format: int32 default: 0 - description: "Amount of records to return in a given page, limited to 100" in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 - in: query name: filter schema: type: string default: "" - in: query name: sortCol schema: type: string default: dbCreateDate - in: query name: sortOrder schema: type: string default: desc responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/LambdaEvent' description: default response security: - BEARER: [] tags: - lambdaEvents /lambdaEvents/{organization}: get: description: Get all of the Lambda Events for the given GitHub organization. operationId: getLambdaEventsByOrganization parameters: - in: path name: organization required: true schema: type: string - description: "Start index of paging. Pagination results can be based on numbers\ \ or other values chosen by the registry implementor (for example, SHA values).\ \ If this exceeds the current result set return an empty set. If not specified\ \ in the request, this will start at the beginning of the results." in: query name: offset schema: type: integer format: int32 default: 0 - description: "Amount of records to return in a given page, limited to 100" in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 - in: query name: filter schema: type: string default: "" - in: query name: sortCol schema: type: string default: dbCreateDate - in: query name: sortOrder schema: type: string default: desc responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/LambdaEvent' description: default response security: - BEARER: [] tags: - lambdaEvents /metadata/cli-info: get: description: Get Dockstore CLI information. NO authentication operationId: getCliVersion responses: default: content: application/json: schema: $ref: '#/components/schemas/CLIInfo' description: default response summary: Get Dockstore CLI information. tags: - metadata /metadata/config.json: get: description: "Configuration, NO authentication" operationId: getConfig responses: default: content: application/json: schema: $ref: '#/components/schemas/Config' description: default response summary: Configuration for UI clients of the API tags: - metadata /metadata/descriptorLanguageList: get: description: "Get the list of descriptor languages supported on Dockstore, NO\ \ authentication" operationId: getDescriptorLanguages responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/DescriptorLanguageBean' description: List of descriptor languages summary: Get the list of descriptor languages supported on Dockstore tags: - metadata /metadata/dockerRegistryList: get: description: "Get the list of docker registries supported on Dockstore, NO authentication" operationId: getDockerRegistries responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/RegistryBean' description: List of Docker registries summary: Get the list of docker registries supported on Dockstore tags: - metadata /metadata/elasticSearch: get: description: "Successful response if elastic search is up and running, NO authentication" operationId: checkElasticSearch responses: default: content: text/html: {} text/xml: {} description: default response summary: Successful response if elastic search is up and running tags: - metadata /metadata/entryTypeMetadataList: get: description: Get the metadata for each entry type operationId: getEntryTypeMetadataList responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/EntryTypeMetadata' description: List of entry type metadata summary: Get the metadata for each entry type tags: - metadata /metadata/health: get: description: "Successful response if the health checks succeed, NO authentication" operationId: checkHealth parameters: - description: "List of health checks to run. If unspecified, run all health\ \ checks" in: query name: include schema: type: array items: type: string enum: - hibernate - deadlocks - connectionPool - liquibaseLock - elasticsearchConsistency responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/HealthCheckResult' description: All health checks successful "400": description: Bad Request "500": description: Health checks failed summary: Successful response if the health checks succeed tags: - metadata /metadata/okHttpCachePerformance: get: description: "Get measures of cache performance, NO authentication" operationId: getCachePerformance responses: default: content: application/json: schema: type: object additionalProperties: type: string description: Cache performance information summary: Get measures of cache performance tags: - metadata /metadata/rss: get: description: "List all published tools and workflows in creation order, NO authentication" operationId: rssFeed responses: default: content: text/xml: schema: type: string description: default response summary: List all published tools and workflows in creation order tags: - metadata /metadata/runner_dependencies: get: description: "Returns the file containing runner dependencies, NO authentication" operationId: getRunnerDependencies parameters: - description: The Dockstore client version (e.g. 1.13.0) in: query name: client_version required: true schema: type: string pattern: "(^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\\ d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\\ +([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$)|(^development-build$)" - description: "Python version, only relevant for the cwltool runner" in: query name: python_version schema: type: string default: "3" - description: The tool runner in: query name: runner schema: type: string default: cwltool enum: - cwltool - description: Response type in: query name: output schema: type: string default: text enum: - json - text responses: default: content: application/json: schema: type: string description: The requirements.txt file summary: Returns the file containing runner dependencies tags: - metadata /metadata/sitemap: get: description: "List all available workflow, tool, organization, and collection\ \ paths. Available means published for tools/workflows, and approved for organizations\ \ and their respective collections. NO authentication" operationId: sitemap responses: default: content: text/html: schema: type: string text/xml: schema: type: string description: default response summary: "List all available workflow, tool, organization, and collection paths." tags: - metadata /metadata/sourceControlList: get: description: "Get the list of source controls supported on Dockstore, NO authentication" operationId: getSourceControlList responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceControlBean' description: List of source control repositories summary: Get the list of source controls supported on Dockstore tags: - metadata /organizations: get: description: "List all organizations that have been approved by a curator or\ \ admin, sorted by number of stars." operationId: getApprovedOrganizations responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' description: default response summary: List all available organizations. tags: - organizations post: description: Create an organization. Organization requires approval by an admin before being made public. operationId: createOrganization requestBody: content: application/json: schema: $ref: '#/components/schemas/Organization' description: Organization to register. required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Create an organization. tags: - organizations /organizations/all: get: description: "List all organizations, regardless of organization status. Admin/curator\ \ only." operationId: getAllOrganizations parameters: - description: Filter to apply to organizations. in: query name: type required: true schema: type: string enum: - all - pending - rejected - approved responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: List all organizations. tags: - organizations /organizations/collections/{alias}/aliases: get: description: Retrieve a collection by alias. operationId: getCollectionByAlias parameters: - description: Alias of the collection. in: path name: alias required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response summary: Retrieve a collection by alias. tags: - organizations /organizations/collections/{collectionId}/aliases: post: description: "Aliases are alphanumerical (case-insensitive and may contain internal\ \ hyphens), given in a comma-delimited list." operationId: addCollectionAliases parameters: - description: Collection to modify. in: path name: collectionId required: true schema: type: integer format: int64 - description: Comma-delimited list of aliases. in: query name: aliases required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Collection' description: Successfully added alias to collection security: - BEARER: [] summary: Add aliases linked to a collection in Dockstore. tags: - organizations /organizations/name/{name}: get: description: Retrieve an organization by name. Supports optional authentication. operationId: getOrganizationByName parameters: - description: Organization name. in: path name: name required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Retrieve an organization by name. tags: - organizations /organizations/{alias}/aliases: get: description: Retrieve an organization by alias. operationId: getOrganizationByAlias parameters: - description: Alias. in: path name: alias required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response summary: Retrieve an organization by alias. tags: - organizations /organizations/{organizationId}: delete: description: Delete pending or rejected organization operationId: deleteRejectedOrPendingOrganization parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: "204": description: NO CONTENT "400": description: BAD REQUEST "403": description: FORBIDDEN security: - BEARER: [] summary: Delete pending or rejected organization tags: - organizations get: description: Retrieve an organization by ID. Supports optional authentication. operationId: getOrganizationById parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Retrieve an organization by ID. tags: - organizations put: description: "Update an organization. Currently only name, display name, description,\ \ topic, email, link, avatarUrl, and location can be updated." operationId: updateOrganization parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/Organization' description: Organization to register. required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Update an organization. tags: - organizations /organizations/{organizationId}/aliases: post: description: "Add aliases linked to a listing in Dockstore. Aliases are alphanumerical\ \ (case-insensitive and may contain internal hyphens), given in a comma-delimited\ \ list." operationId: addOrganizationAliases parameters: - description: Organization to modify. in: path name: organizationId required: true schema: type: integer format: int64 - description: Comma-delimited list of aliases. in: query name: aliases required: true schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Organization' description: Successfully created organization alias security: - BEARER: [] summary: Add aliases linked to a listing in Dockstore. tags: - organizations /organizations/{organizationId}/approve: post: description: Approve the organization with the given id. Admin/curator only. operationId: approveOrganization parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Approve an organization. tags: - organizations /organizations/{organizationId}/collections: get: description: Retrieve all collections for an organization. Supports optional authentication. operationId: getCollectionsFromOrganization parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Included fields. in: query name: include required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Retrieve all collections for an organization. tags: - organizations post: description: Create a collection in the given organization. operationId: createCollection parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/Collection' description: Collection to register. required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Create a collection in the given organization. tags: - organizations /organizations/{organizationId}/collections/{collectionId}: delete: description: Delete a collection. operationId: deleteCollection parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Collection ID. in: path name: collectionId required: true schema: type: integer format: int64 responses: "204": description: Successfully deleted the collection "401": description: Unauthorized "404": description: Collection not found security: - BEARER: [] summary: Delete a collection. tags: - organizations get: description: Retrieve a collection by ID. Supports optional authentication. operationId: getCollectionById parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Collection ID. in: path name: collectionId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Retrieve a collection by ID. tags: - organizations put: description: "Update a collection. Currently only name, display name, description,\ \ and topic can be updated." operationId: updateCollection parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Collection ID. in: path name: collectionId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/Collection' description: Collection to register. required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Update a collection. tags: - organizations /organizations/{organizationId}/collections/{collectionId}/description: get: description: Retrieve a collection description by organization ID and collection ID. Supports optional authentication. operationId: getCollectionDescription parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Collection ID. in: path name: collectionId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: string description: default response security: - BEARER: [] summary: Retrieve a collection description by organization ID and collection ID. tags: - organizations put: description: Update a collection's description. Description in markdown. operationId: updateCollectionDescription parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Collection ID. in: path name: collectionId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string description: Collections's description in markdown. required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Update a collection's description. tags: - organizations /organizations/{organizationId}/collections/{collectionId}/entry: delete: description: Delete an entry to a collection. operationId: deleteEntryFromCollection parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Collection ID. in: path name: collectionId required: true schema: type: integer format: int64 - description: Entry ID. in: query name: entryId required: true schema: type: integer format: int64 - description: Version Name. in: query name: versionName schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Delete an entry to a collection. tags: - organizations post: description: Add an entry to a collection. operationId: addEntryToCollection parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Collection ID. in: path name: collectionId required: true schema: type: integer format: int64 - description: Entry ID. in: query name: entryId required: true schema: type: integer format: int64 - description: Version ID. in: query name: versionId schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Add an entry to a collection. tags: - organizations /organizations/{organizationId}/description: get: description: Retrieve an organization description by organization ID. Supports optional authentication. operationId: getOrganizationDescription parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: string description: default response security: - BEARER: [] summary: Retrieve an organization description by organization ID. tags: - organizations put: description: Update an organization's description. Expects description in markdown format. operationId: updateOrganizationDescription parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string description: Organization's description in markdown. required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Update an organization's description. tags: - organizations /organizations/{organizationId}/events: get: description: Retrieve all events for an organization. Supports optional authentication. operationId: getOrganizationEvents parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: "Start index of paging. If this exceeds the current result set\ \ return an empty set. If not specified in the request, this will start\ \ at the beginning of the results." in: query name: offset required: true schema: type: integer format: int32 default: 0 - description: "Amount of records to return in a given page, limited to 100" in: query name: limit required: true schema: type: integer format: int32 default: 100 maximum: 100 minimum: 1 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Event' description: default response security: - BEARER: [] summary: Retrieve all events for an organization. tags: - organizations /organizations/{organizationId}/invitation: post: description: "Accept or reject an organization invitation. True accepts the\ \ invitation, false rejects the invitation." operationId: acceptOrRejectInvitation parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 - description: Accept or reject. in: query name: accept required: true schema: type: boolean responses: default: content: application/json: {} description: default response security: - BEARER: [] summary: Accept or reject an organization invitation. tags: - organizations /organizations/{organizationId}/members: get: description: Retrieve all members for an organization. Supports optional authentication. operationId: getOrganizationMembers parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/OrganizationUser' uniqueItems: true description: default response security: - BEARER: [] summary: Retrieve all members for an organization. tags: - organizations /organizations/{organizationId}/reject: post: description: Reject the organization with the given id. Admin/curator only. operationId: rejectOrganization parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Reject an organization. tags: - organizations /organizations/{organizationId}/request: post: description: Re-request a review of the given organization. Requires the organization to be rejected. operationId: requestOrganizationReview parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/Organization' description: default response security: - BEARER: [] summary: Re-request an organization review. tags: - organizations /organizations/{organizationId}/star: put: description: Star an organization. operationId: starOrganization parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/StarRequest' description: StarRequest to star an organization for a user. required: true responses: default: content: application/json: {} description: default response security: - BEARER: [] summary: Star an organization. tags: - organizations /organizations/{organizationId}/starredUsers: get: description: Return list of users who starred the given approved organization. operationId: getStarredUsersForApprovedOrganization parameters: - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/User' uniqueItems: true description: default response summary: Return list of users who starred the given approved organization. tags: - organizations /organizations/{organizationId}/user: delete: description: Remove a user from an organization. operationId: deleteUserRole parameters: - description: User ID of user to add to organization. in: query name: userId required: true schema: type: integer format: int64 - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: {} description: default response security: - BEARER: [] summary: Remove a user from an organization. tags: - organizations post: description: Update a user role in an organization. operationId: updateUserRole parameters: - description: Role of user. in: query name: role required: true schema: type: string enum: - ADMIN - MAINTAINER - MEMBER - description: User ID of user to add to organization. in: query name: userId required: true schema: type: integer format: int64 - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: $ref: '#/components/schemas/OrganizationUser' description: default response security: - BEARER: [] summary: Update a user role in an organization. tags: - organizations put: description: Add a user role to an organization. operationId: addUserToOrg parameters: - description: Role of user. in: query name: role required: true schema: type: string enum: - ADMIN - MAINTAINER - MEMBER - description: User ID of user to add to organization. in: query name: userId required: true schema: type: integer format: int64 - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string description: "This is here to appease Swagger. It requires PUT methods to\ \ have a body, even if it is empty. Please leave it empty." responses: default: content: application/json: schema: $ref: '#/components/schemas/OrganizationUser' description: default response security: - BEARER: [] summary: Add a user role to an organization. tags: - organizations /organizations/{organizationId}/users/{username}: put: description: Add a user role to an organization. operationId: addUserToOrgByUsername parameters: - description: User to add to org. in: path name: username required: true schema: type: string - description: Organization ID. in: path name: organizationId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string enum: - MAINTAINER - MEMBER description: Role of user. required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/OrganizationUser' description: default response security: - BEARER: [] summary: Add a user role to an organization. tags: - organizations /organizations/{organizationName}/collections/{collectionName}/name: get: description: Retrieve a collection by name. Supports optional authentication. operationId: getCollectionByName parameters: - description: Organization name. in: path name: organizationName required: true schema: type: string - description: Collection name. in: path name: collectionName required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Collection' description: default response security: - BEARER: [] summary: Retrieve a collection by name. tags: - organizations /toolTester/logs: get: operationId: getToolTesterLog parameters: - description: TRS Tool Id example: '#workflow/github.com/dockstore/hello_world' in: query name: tool_id required: true schema: type: string - example: v1.0.0 in: query name: tool_version_name required: true schema: type: string - example: hello_world.cwl.json in: query name: test_filename required: true schema: type: string - example: cwltool in: query name: runner required: true schema: type: string - in: query name: log_type required: true schema: type: string enum: - FULL - SUMMARY - example: 1554477737092.log in: query name: filename required: true schema: type: string responses: default: content: text/plain: schema: type: string description: default response summary: Get ToolTester log file tags: - toolTester /toolTester/logs/search: get: operationId: search parameters: - description: TRS Tool Id example: '#workflow/github.com/dockstore/hello_world' in: query name: tool_id required: true schema: type: string - example: v1.0.0 in: query name: tool_version_name required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/ToolTesterLog' description: default response summary: Search for ToolTester log files tags: - toolTester /users/checkUser/{username}: get: description: Check if user with some username exists. operationId: checkUserExists parameters: - in: path name: username required: true schema: type: string responses: "200": content: application/json: schema: type: boolean description: Boolean indicating if a user with the specified username exists "400": description: Bad request "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/dockerRegistries: get: description: Get all of the Docker registries accessible to the logged-in user. operationId: getUserDockerRegistries responses: default: content: application/json: schema: type: array items: type: string description: default response security: - BEARER: [] tags: - users /users/dockerRegistries/{dockerRegistry}/organizations: get: description: Get all of the organizations/namespaces of the Docker registry accessible to the logged-in user. operationId: getDockerRegistriesOrganization parameters: - description: Name of Docker registry in: path name: dockerRegistry required: true schema: type: string responses: default: content: application/json: schema: type: array items: type: string description: default response security: - BEARER: [] tags: - users /users/dockerRegistries/{dockerRegistry}/organizations/{organization}/repositories: get: description: Get names of repositories associated with a specific namespace and Docker registry of the logged-in user. operationId: getDockerRegistryOrganizationRepositories parameters: - description: Name of Docker registry in: path name: dockerRegistry required: true schema: type: string - description: Name of organization or namespace in: path name: organization required: true schema: type: string responses: default: content: application/json: schema: type: array items: type: string description: default response security: - BEARER: [] tags: - users /users/emails: get: description: Admin-only endpoint. Get the emails of all Dockstore users operationId: getAllUserEmails responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/UserInfo' description: A list of Dockstore users' emails. "403": description: Forbidden security: - BEARER: [] tags: - users /users/github/events: get: description: Get all of the GitHub Events for the logged in user. operationId: getUserGitHubEvents parameters: - description: "Start index of paging. Pagination results can be based on numbers\ \ or other values chosen by the registry implementor (for example, SHA values).\ \ If this exceeds the current result set return an empty set. If not specified\ \ in the request, this will start at the beginning of the results." in: query name: offset schema: type: integer format: int32 minimum: 0 - description: "Amount of records to return in a given page, limited to 100" in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 - in: query name: filter schema: type: string default: "" - in: query name: sortCol schema: type: string default: dbCreateDate - in: query name: sortOrder schema: type: string default: desc responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/LambdaEvent' description: A list of GitHub Events for the logged in user security: - BEARER: [] tags: - users /users/github/sync: post: description: Syncs Dockstore account with GitHub App Installations. operationId: syncUserWithGitHub responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: Successfully synced Dockstore account with GitHub App installations "400": description: Bad request security: - BEARER: [] tags: - users /users/registries: get: description: Get all of the git registries accessible to the logged in user. operationId: getUserRegistries responses: "200": content: application/json: schema: type: array items: type: string enum: - dockstore.org - github.com - bitbucket.org - gitlab.com description: A list of the git registries accessible to the logged in user security: - BEARER: [] tags: - users /users/registries/{gitRegistry}/organizations: get: description: Get all of the organizations for a given git registry accessible to the logged in user. operationId: getUserOrganizations parameters: - description: Git registry in: path name: gitRegistry required: true schema: type: string enum: - dockstore.org - github.com - bitbucket.org - gitlab.com responses: "200": content: application/json: schema: type: array items: type: string uniqueItems: true description: A list of organizations for a given git registry accessible to the logged in user security: - BEARER: [] tags: - users /users/registries/{gitRegistry}/organizations/{organization}: get: description: Get all of the repositories for an organization for a given git registry accessible to the logged in user. operationId: getUserOrganizationRepositories parameters: - description: Git registry in: path name: gitRegistry required: true schema: type: string enum: - dockstore.org - github.com - bitbucket.org - gitlab.com - description: Git organization in: path name: organization required: true schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Repository' description: A list of repositories for an organization for a given git registry accessible to the logged in user security: - BEARER: [] tags: - users /users/starredNotebooks: get: description: Get the authenticated user's starred notebooks. operationId: getStarredNotebooks responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Entry' description: A list of the authenticated user's starred notebooks security: - BEARER: [] tags: - users /users/starredOrganizations: get: description: Get the authenticated user's starred organizations. operationId: getStarredOrganizations responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' description: A list of the authenticated user's starred organizations security: - BEARER: [] tags: - users /users/starredServices: get: description: Get the authenticated user's starred services. operationId: getStarredServices responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Entry' description: A list of the authenticated user's starred services security: - BEARER: [] tags: - users /users/starredTools: get: description: Get the authenticated user's starred tools. operationId: getStarredTools responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Entry' description: A list of the authenticated user's starred tools security: - BEARER: [] tags: - users /users/starredWorkflows: get: description: Get the authenticated user's starred workflows. operationId: getStarredWorkflows responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Entry' description: A list of the authenticated user's starred workflows security: - BEARER: [] tags: - users /users/updateUserMetadata: get: description: Update metadata of all users. operationId: updateUserMetadata responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/User' description: Successfully updated metadata of all users "403": description: Forbidden security: - BEARER: [] tags: - users /users/updateUserWorkflows: post: description: Check workflow ownership operationId: checkWorkflowOwnership responses: "204": description: Successfully updated workflow ownership for all users "403": description: Forbidden security: - BEARER: [] tags: - users /users/user: delete: description: Delete user if possible. operationId: selfDestruct parameters: - description: Optional user id if deleting another user. Only admins can delete another user. in: query name: userId schema: type: integer format: int64 responses: "200": content: application/json: schema: type: boolean description: Boolean indicating if user was deleted successfully "400": description: Bad request "403": description: Forbidden "500": description: Internal server error security: - BEARER: [] tags: - users get: description: Get the logged-in user. operationId: getUser responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: The logged-in user security: - BEARER: [] tags: - users /users/user/changeUsername: post: description: Change username if possible. operationId: changeUsername parameters: - in: query name: username schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: Successfully changed username "400": description: Bad request "403": description: Forbidden security: - BEARER: [] tags: - users /users/user/extended: get: description: Get additional information about the authenticated user. operationId: getExtendedUserData responses: "200": content: application/json: schema: $ref: '#/components/schemas/ExtendedUserData' description: Additional information about the authenticated user security: - BEARER: [] tags: - users /users/user/memberships: get: description: Get the logged-in user's memberships. operationId: getUserMemberships responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/OrganizationUser' description: A set of the logged-in user's memberships security: - BEARER: [] tags: - users /users/user/updateAcceptedDocuments: get: description: Update the user's TOS and privacy policy to the latest versions. operationId: updateAcceptedDocuments responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: User with updated TOS/Privacy Policy security: - BEARER: [] tags: - users /users/user/updateUserMetadata: get: description: Update metadata for logged in user. operationId: updateLoggedInUserMetadata parameters: - in: query name: source required: true schema: type: string enum: - quay.io - github.com - dockstore - bitbucket.org - gitlab.com - zenodo.org - google.com - orcid.org responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: Successfully updated metadata for logged in user "403": description: Forbidden security: - BEARER: [] tags: - users /users/user/{userId}/bannedStatus: put: description: Update banned status of user. Removes all tokens for banned users. operationId: banUser parameters: - in: path name: userId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: boolean required: true responses: "204": description: Successfully banned/unbanned user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/user/{userId}/limits: get: description: Returns the specified user's limits. ADMIN or CURATOR only operationId: getUserLimits parameters: - in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/Limits' description: A user's limits "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users put: description: Update the specified user's limits. ADMIN or CURATOR only operationId: setUserLimits parameters: - in: path name: userId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/Limits' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Limits' description: Successfully updated the user's limits "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/username/{username}: get: description: Get a user by username. operationId: listUser parameters: - in: path name: username required: true schema: type: string - description: "Comma-delimited list of fields to include: userProfiles, ..." in: query name: include schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: A user with the specified username "400": description: Bad request "404": description: User not found tags: - users /users/users/entries: get: description: "Get all of the entries for a user, sorted by most recently updated." operationId: getUserEntries parameters: - description: Maximum number of entries to return in: query name: count schema: type: integer format: int32 minimum: 1 - description: Filter paths with matching text in: query name: filter schema: type: string - description: Type of entry in: query name: type schema: type: string enum: - TOOLS - WORKFLOWS - SERVICES - NOTEBOOKS responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/EntryUpdateTime' description: A list of the entries for a user security: - BEARER: [] tags: - users /users/users/organizations: get: description: "Get all of the Dockstore organizations for a user, sorted by most\ \ recently updated." operationId: getUserDockstoreOrganizations parameters: - description: Maximum number of organizations to return in: query name: count schema: type: integer format: int32 minimum: 1 - description: Filter paths with matching text in: query name: filter schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/OrganizationUpdateTime' description: A list of the Dockstore organizations for a user security: - BEARER: [] tags: - users /users/{userId}/appTools: get: description: List all appTools owned by the authenticated user. operationId: userAppTools parameters: - description: User ID in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: A list of GitHub App tools owned by the user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/cloudInstances: get: description: Get all cloud instances belonging to the user operationId: getUserCloudInstances parameters: - description: ID of user to get cloud instances for in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/CloudInstance' description: OK "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users post: description: Create a new cloud instance belonging to the user operationId: postUserCloudInstance parameters: - description: ID of user to create the cloud instance for in: path name: userId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudInstance' description: Cloud instance to add to the user required: true responses: "204": description: No content "401": description: Unauthorized "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/cloudInstances/{cloudInstanceId}: delete: description: Delete a cloud instance belonging to the user operationId: deleteUserCloudInstance parameters: - description: ID of user to delete the cloud instance for in: path name: userId required: true schema: type: integer format: int64 - description: ID of cloud instance to update/delete in: path name: cloudInstanceId required: true schema: type: integer format: int64 responses: "204": description: No content "401": description: Unauthorized "403": description: Forbidden "404": description: Not found security: - BEARER: [] tags: - users put: description: Update a cloud instance belonging to the user operationId: putUserCloudInstance parameters: - description: ID of user to update the cloud instance for in: path name: userId required: true schema: type: integer format: int64 - description: ID of cloud instance to update/delete in: path name: cloudInstanceId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudInstance' description: Cloud instance to replace for a user required: true responses: "204": description: No content "401": description: Unauthorized "403": description: Forbidden "404": description: Not found security: - BEARER: [] tags: - users /users/{userId}/containers: get: description: List all tools owned by the authenticated user. operationId: userContainers parameters: - in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/DockstoreTool' description: A list of tools owned by the user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/containers/published: get: description: List all published tools from a user. operationId: userPublishedContainers parameters: - in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/DockstoreTool' description: A list of published tools from a user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/containers/{organization}/refresh: get: description: Refresh all tools owned by the authenticated user with specified organization. operationId: refreshToolsByOrganization parameters: - in: path name: userId required: true schema: type: integer format: int64 - in: path name: organization required: true schema: type: string - in: query name: dockerRegistry schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/DockstoreTool' description: A list of tools owned by the user with the specified organization "400": description: Bad request "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/notebooks: get: description: List all notebooks owned by the authenticated user. operationId: userNotebooks parameters: - description: User ID in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: A list of notebooks owned by the user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/privileges: put: description: "Updates the provided userID to admin or curator status, usable\ \ by ADMINs only" operationId: setUserPrivileges parameters: - in: path name: userId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/PrivilegeRequest' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/User' description: Successfully updated user to admin or curator status "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/services: get: description: List all services owned by the authenticated user. operationId: userServices parameters: - in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: A list of services owned by the user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/tokens: get: description: Get information about tokens with user id. operationId: getUserTokens parameters: - in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Token_User' description: A list of tokens belonging to user specified by userId "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users post: description: Create a Dockstore token for a metrics robot user. operationId: createMetricsRobotToken parameters: - in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: string description: The new token. "403": description: Forbidden security: - BEARER: [] tags: - users /users/{userId}/workflows: get: description: List all workflows owned by the authenticated user. operationId: userWorkflows parameters: - description: User ID in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: A list of workflows owned by the user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users patch: description: Adds the logged-in user to any Dockstore workflows that they should have access to. operationId: addUserToDockstoreWorkflows parameters: - description: User to update in: path name: userId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string description: "This is here to appease Swagger. It requires PATCH methods to\ \ have a body, even if it is empty. Please leave it empty." responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: Successfully added user to Dockstore workflows that they should have access to "400": description: Bad request "404": description: User not found security: - BEARER: [] tags: - users /users/{userId}/workflows/published: get: description: List all published workflows from a user. operationId: userPublishedWorkflows parameters: - in: path name: userId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: A list of published workflows from a user "403": description: Forbidden "404": description: User not found security: - BEARER: [] tags: - users /workflows/github: delete: description: Handles the deletion of a branch on GitHub. Will delete all workflow versions that match in all workflows that share the same repository. operationId: handleGitHubBranchDeletion parameters: - description: Repository path (ex. dockstore/dockstore-ui2) in: query name: repository required: true schema: type: string - description: Username of user on GitHub who triggered action in: query name: username required: true schema: type: string - description: Full git reference for a GitHub branch/tag. Ex. refs/heads/master or refs/tags/v1.0 in: query name: gitReference required: true schema: type: string - description: GitHub App installation ID in: query name: installationId schema: type: integer format: int64 - description: A GUID to identify the GitHub webhook delivery in: header name: X-GitHub-Delivery required: true schema: type: string responses: "418": description: This code tells AWS Lambda not to retry. security: - BEARER: [] tags: - workflows /workflows/github/infer/organizations/{organization}/repositories/{repository}: get: description: Infer the entries in the file tree of a GitHub repository reference. operationId: inferEntries parameters: - description: GitHub organization in: path name: organization required: true schema: type: string - description: GitHub repository in: path name: repository required: true schema: type: string - description: "reference, could contain slashes which need to be urlencoded" in: query name: ref schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/InferredDockstoreYml' description: Information about the inferred .dockstore.yml security: - BEARER: [] tags: - workflows /workflows/github/install: post: description: Handle the installation of our GitHub app onto a repository or organization. operationId: handleGitHubInstallation parameters: - description: A GUID to identify the GitHub webhook delivery in: header name: X-GitHub-Delivery required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/InstallationRepositoriesPayload' description: GitHub App repository installation event payload required: true responses: "418": description: This code tells AWS Lambda not to retry. security: - BEARER: [] tags: - workflows /workflows/github/release: post: description: Handle a push event on GitHub. Will create a workflow/service and version when necessary. operationId: handleGitHubRelease parameters: - description: A GUID to identify the GitHub webhook delivery in: header name: X-GitHub-Delivery required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PushPayload' description: GitHub push event payload required: true responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - workflows /workflows/github/taggedrelease: post: description: Handles a release event on GitHub. operationId: handleGitHubTaggedRelease parameters: - description: A GUID to identify the GitHub webhook delivery in: header name: X-GitHub-Delivery required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ReleasePayload' description: GitHub App repository release event payload required: true responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - workflows /workflows/hostedEntry: post: description: Create a hosted workflow. operationId: createHostedWorkflow parameters: - in: query name: registry schema: type: string - in: query name: name schema: type: string - in: query name: descriptorType schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter - in: query name: namespace schema: type: string - in: query name: entryName schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Workflow' description: Successfully created a hosted workflow. security: - BEARER: [] tags: - hosted /workflows/hostedEntry/{entryId}: delete: description: Delete a revision of a hosted workflow. operationId: deleteHostedWorkflowVersion parameters: - in: path name: entryId required: true schema: type: integer format: int64 - in: query name: version schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/Entry' description: Successfully deleted hosted entry version security: - BEARER: [] tags: - hosted patch: description: Non-idempotent operation for creating new revisions of hosted workflows operationId: editHostedWorkflow parameters: - description: Entry to modify in: path name: entryId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: "Set of updated source files, add files by adding new files with\ \ unknown paths, delete files by including them with null content" required: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - hosted post: deprecated: true operationId: addZip parameters: - description: hosted entry ID in: path name: entryId required: true schema: type: integer format: int64 requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary responses: "200": content: application/json: schema: $ref: '#/components/schemas/Workflow' description: successful operation security: - BEARER: [] summary: Creates a new revision of a hosted workflow from a zip tags: - hosted /workflows/manualRegister: post: description: Manually register a workflow. operationId: manualRegister parameters: - in: query name: workflowRegistry schema: type: string - in: query name: workflowPath schema: type: string - in: query name: defaultWorkflowPath schema: type: string - in: query name: workflowName schema: type: string - in: query name: descriptorType schema: type: string - in: query name: defaultTestParameterFilePath schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/organization/{organization}/published: get: description: List all published workflows of an organization. operationId: getPublishedWorkflowsByOrganization parameters: - in: path name: organization required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: default response tags: - workflows /workflows/path/entry/{repository}: get: description: Requires full path (including entry name if applicable). operationId: getEntryByPath parameters: - in: path name: repository required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Entry' description: default response security: - BEARER: [] summary: Get an entry by path. tags: - workflows /workflows/path/entry/{repository}/published: get: description: Requires full path (including entry name if applicable). operationId: getPublishedEntryByPath parameters: - in: path name: repository required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Entry' description: default response summary: Get a published entry by path. tags: - workflows /workflows/path/workflow/{repository}: get: description: Requires full path (including workflow name if applicable). operationId: getWorkflowByPath parameters: - description: Repository path in: path name: repository required: true schema: type: string - description: "Comma-delimited list of fields to include: versions, orcidputcodes,\ \ validations, aliases, images, authors, metrics" in: query name: include schema: type: string - description: Which Workflow subclass to retrieve. in: query name: subclass required: true schema: $ref: '#/components/schemas/WorkflowSubClass' responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] summary: Get a workflow by path. tags: - workflows /workflows/path/workflow/{repository}/actions: get: description: Gets all actions a user can perform on a workflow. operationId: getWorkflowActions parameters: - in: path name: repository required: true schema: type: string - description: Which Workflow subclass to retrieve actions for. in: query name: subclass required: true schema: $ref: '#/components/schemas/WorkflowSubClass' responses: default: content: application/json: schema: type: array items: type: string enum: - write - read - delete - share description: default response security: - BEARER: [] tags: - workflows /workflows/path/workflow/{repository}/permissions: delete: description: Remove the specified user role for a workflow. operationId: removeWorkflowRole parameters: - in: path name: repository required: true schema: type: string - in: query name: email schema: type: string - in: query name: role schema: type: string enum: - OWNER - WRITER - READER - description: Which Workflow subclass to remove a role from. in: query name: subclass required: true schema: $ref: '#/components/schemas/WorkflowSubClass' responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Permission' description: default response security: - BEARER: [] tags: - workflows get: description: Get all permissions for a workflow. operationId: getWorkflowPermissions parameters: - in: path name: repository required: true schema: type: string - description: Which Workflow subclass to retrieve permissions for. in: query name: subclass required: true schema: $ref: '#/components/schemas/WorkflowSubClass' responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Permission' description: default response security: - BEARER: [] tags: - workflows patch: description: Set the specified permission for a user on a workflow. operationId: addWorkflowPermission parameters: - in: path name: repository required: true schema: type: string - description: Which Workflow subclass to add a permission to. in: query name: subclass required: true schema: $ref: '#/components/schemas/WorkflowSubClass' requestBody: content: application/json: schema: $ref: '#/components/schemas/Permission' responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Permission' description: default response security: - BEARER: [] tags: - workflows /workflows/path/workflow/{repository}/published: get: description: Does not require workflow name. operationId: getPublishedWorkflowByPath parameters: - description: Repository path in: path name: repository required: true schema: type: string - description: "Comma-delimited list of fields to include: versions, orcidputcodes,\ \ validations, aliases, images, authors, metrics" in: query name: include schema: type: string - description: Which Workflow subclass to retrieve. in: query name: subclass required: true schema: $ref: '#/components/schemas/WorkflowSubClass' - description: Version name in: query name: versionName schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response summary: Get a published workflow by path tags: - workflows /workflows/path/{repository}: get: description: Do not include workflow name. operationId: getAllWorkflowByPath parameters: - description: repository path in: path name: repository required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] summary: Get a list of workflows by path. tags: - workflows /workflows/path/{repository}/published: get: description: Do not include workflow name. operationId: getAllPublishedWorkflowByPath parameters: - description: repository path in: path name: repository required: true schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] summary: Get a list of published workflows by path. tags: - workflows /workflows/published: get: description: List all published workflows. operationId: allPublishedWorkflows parameters: - in: query name: offset schema: type: integer format: int32 default: 0 minimum: 0 - in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 minimum: 1 - in: query name: filter schema: type: string default: "" - in: query name: sortCol schema: type: string default: stars - in: query name: sortOrder schema: type: string default: desc - in: query name: services schema: type: boolean default: false - in: query name: subclass schema: $ref: '#/components/schemas/WorkflowSubClass' responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: default response tags: - workflows /workflows/published/{workflowId}: get: description: Get a published workflow. operationId: getPublishedWorkflow parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - description: "Comma-delimited list of fields to include: versions, orcidputcodes,\ \ validations, aliases, images, authors, metrics" in: query name: include schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response tags: - workflows /workflows/published/{workflowId}/workflowVersions: get: description: Return paginated versions in an public entry operationId: getPublicWorkflowVersions parameters: - description: id of the workflow in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 minimum: 1 - in: query name: offset schema: type: integer format: int32 default: 0 minimum: 0 - in: query name: sortCol schema: type: string - in: query name: sortOrder schema: type: string default: desc - description: "Comma-delimited list of fields to include: validations, aliases,\ \ images, authors, metrics" in: query name: include schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowVersion' description: Get workflow versions in an entry. Default is 100 versions "400": description: Bad Request tags: - workflows /workflows/registries/{gitRegistry}/organizations/{organization}/repositories/{repositoryName}: delete: description: Delete a stubbed workflow for a registry and repository path. operationId: deleteWorkflow parameters: - description: Git registry in: path name: gitRegistry required: true schema: type: string enum: - github.com - bitbucket.org - gitlab.com - description: Git repository organization in: path name: organization required: true schema: type: string - description: Git repository name in: path name: repositoryName required: true schema: type: string responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - workflows post: description: Adds a workflow for a registry and repository path with defaults set. operationId: addWorkflow parameters: - description: Git registry in: path name: gitRegistry required: true schema: type: string enum: - dockstore.org - github.com - bitbucket.org - gitlab.com - description: Git repository organization in: path name: organization required: true schema: type: string - description: Git repository name in: path name: repositoryName required: true schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/BioWorkflow' description: default response security: - BEARER: [] tags: - workflows /workflows/shared: get: description: Retrieve all workflows shared with user. operationId: sharedWorkflows responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SharedWorkflows' description: default response security: - BEARER: [] tags: - workflows /workflows/updateDois: post: description: "Searches Zenodo for DOIs referencing GitHub repos, and updates\ \ Dockstore entries with them" operationId: updateDois parameters: - description: "Optional GitHub full repository name, e.g., myorg/myrepo, to\ \ only update entries for that repository" in: query name: filter schema: type: string - description: Only check GitHub repos with releases over this number of days. Don't set to check all repos in: query name: daysSinceLastRelease schema: type: integer format: int32 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/versions: get: description: List the versions for a published workflow. operationId: tags_1 parameters: - in: query name: workflowId schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowVersion' description: default response security: - BEARER: [] tags: - workflows /workflows/versionsMissingAutomaticDoi: get: description: Calculates a list of workflow versions that are missing an automatic DOI operationId: getVersionsMissingAutomaticDoi parameters: - in: query name: limit schema: type: integer format: int32 default: 100 maximum: 1000 minimum: 1 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowAndVersion' description: default response security: - BEARER: [] tags: - workflows /workflows/versionsNeedingRetroactiveDoi: get: description: Calculates a list of workflow versions that need a retroactive DOI operationId: getVersionsNeedingRetroactiveDoi parameters: - in: query name: limit schema: type: integer format: int32 default: 100 maximum: 1000 minimum: 1 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowAndVersion' description: default response security: - BEARER: [] tags: - workflows /workflows/{entryId}/registerCheckerWorkflow/{descriptorType}: post: description: Register a checker workflow and associates it with the given tool/workflow. operationId: registerCheckerWorkflow parameters: - in: query name: checkerWorkflowPath schema: type: string - in: query name: testParameterPath schema: type: string - in: path name: entryId required: true schema: type: integer format: int64 - in: path name: descriptorType required: true schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter responses: default: content: application/json: schema: $ref: '#/components/schemas/Entry' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}: get: description: Retrieve a workflow operationId: getWorkflow parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - description: "Comma-delimited list of fields to include: versions, orcidputcodes,\ \ validations, aliases, images, authors, metrics" in: query name: include schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows put: description: "Updates descriptor type, default workflow path, default test parameter\ \ file path, default version, forum URL, manual topic, topic selection, and\ \ DOI selection" operationId: updateWorkflow parameters: - in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/Workflow' responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] summary: Update some of the workflow with the given workflow. tags: - workflows /workflows/{workflowId}/DOIEditLink: get: description: Get an existing access link with edit permissions for the workflow's Dockstore DOIs. operationId: getDOIEditLink parameters: - description: Workflow with Dockstore DOI to get an access link for. in: path name: workflowId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/AccessLink' description: Access link successfully retrieved "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - BEARER: [] tags: - workflows /workflows/{workflowId}/autogeneratedois: put: description: Whether Dockstore should auto-generate DOIs for GitHub tags operationId: autoGenerateDois parameters: - in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/AutoDoiRequest' description: The request to update DOI generation required: true responses: default: content: application/json: schema: type: boolean description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/dag/{workflowVersionId}: get: description: Get the DAG for a given workflow version. operationId: getWorkflowDag parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: path name: workflowVersionId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: string description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/defaultVersion: put: description: Update the default version of a workflow. operationId: updateDefaultVersion_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/deleteDOIEditLink: delete: description: Delete the access link with edit permissions for the workflow's Dockstore DOIs. The DOI must have been created by Dockstore's Zenodo account. operationId: deleteDOIEditLink parameters: - description: Workflow to modify. in: path name: workflowId required: true schema: type: integer format: int64 responses: "204": description: No Content "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - BEARER: [] tags: - workflows /workflows/{workflowId}/descriptor/{relative-path}: get: description: Get the corresponding descriptor file from source control. operationId: secondaryDescriptorPath_1 parameters: - description: Workflow id in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string - in: path name: relative-path required: true schema: type: string - in: query name: language required: true schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter responses: default: content: application/json: schema: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/descriptorType: post: description: "Use with caution. This deletes all the workflowVersions, only\ \ use if there's nothing worth keeping in the workflow." operationId: updateDescriptorType parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: descriptorType schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] summary: "Changes the descriptor type of an unpublished, invalid workflow." tags: - workflows /workflows/{workflowId}/labels: put: description: Update the labels linked to a workflow. operationId: updateLabels_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: labels schema: type: string requestBody: content: '*/*': schema: type: string responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/maxExecutionCountForAllVersions: get: description: Determine the maximum execution count for all workflow versions. operationId: getMaxExecutionCountForAllVersions parameters: - description: ID of the workflow in: path name: workflowId required: true schema: type: integer format: int64 - description: Type of time series to include in: query name: interval required: true schema: type: string enum: - SECOND - MINUTE - HOUR - DAY - WEEK - MONTH - YEAR - description: Number of most recent values to include in: query name: valueCount required: true schema: type: integer format: int32 - description: "Current client time, expressed in UTC Java epoch seconds" in: query name: now required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: integer format: int64 description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/maxWeeklyExecutionCountForAnyVersion: post: deprecated: true description: Determine the maximum weekly execution count for all workflow versions over the specified time range. operationId: getMaxWeeklyExecutionCountForAnyVersion parameters: - description: id of the workflow in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: integer format: int64 description: "include counts on or after this time, expressed in UTC Java\ \ epoch seconds" required: true responses: default: content: application/json: schema: type: integer format: int64 description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/primaryDescriptor: get: description: Get the primary descriptor file. operationId: primaryDescriptor_1 parameters: - description: Workflow id in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string - in: query name: language required: true schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter responses: default: content: application/json: schema: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/publish: post: description: Publish or unpublish a workflow. operationId: publish_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/PublishRequest' responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/refresh: get: description: Refresh one particular workflow. operationId: refresh_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: hardRefresh schema: type: boolean default: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/refresh/{version}: get: description: Refresh one particular workflow version. operationId: refreshVersion parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: path name: version required: true schema: type: string - in: query name: hardRefresh schema: type: boolean default: true responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/requestAutomaticDOI/{workflowVersionId}: put: description: Request an automatic DOI for this version of a workflow. operationId: requestAutomaticDOIForWorkflowVersion parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: path name: workflowVersionId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string description: "This is here to appease Swagger. It requires PUT methods to\ \ have a body, even if it is empty. Please leave it empty." responses: default: content: application/json: schema: $ref: '#/components/schemas/WorkflowVersion' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/requestDOI/{workflowVersionId}: put: description: Request a DOI for this version of a workflow. operationId: requestDOIForWorkflowVersion parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: path name: workflowVersionId required: true schema: type: integer format: int64 requestBody: content: '*/*': schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowVersion' uniqueItems: true description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/requestDOIEditLink: post: description: Request an access link with edit permissions for the workflow's Dockstore DOIs. The DOI must have been created by Dockstore's Zenodo account. operationId: requestDOIEditLink parameters: - description: Workflow with Dockstore DOI to request an access link for. in: path name: workflowId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: $ref: '#/components/schemas/AccessLink' description: Access link successfully created "400": description: Bad Request "401": description: Unauthorized "403": description: Forbidden security: - BEARER: [] tags: - workflows /workflows/{workflowId}/resetVersionPaths: put: description: Reset the workflow paths. operationId: updateWorkflowPath parameters: - in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/Workflow' responses: default: content: application/json: schema: $ref: '#/components/schemas/Workflow' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/secondaryDescriptors: get: description: Get the corresponding descriptor documents from source control. operationId: secondaryDescriptors_1 parameters: - description: Workflow id in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: tag schema: type: string - in: query name: language required: true schema: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/star: put: description: Star a workflow. operationId: starEntry_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/StarRequest' responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/starredUsers: get: description: Returns list of users who starred the given workflow. operationId: getStarredUsers_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/User' uniqueItems: true description: default response tags: - workflows /workflows/{workflowId}/testParameterFiles: delete: description: Delete test parameter files for a given version. operationId: deleteTestParameterFiles_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: testParameterPaths schema: type: array items: type: string - in: query name: version schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: default response security: - BEARER: [] tags: - workflows get: description: Get the corresponding test parameter files. operationId: getTestParameterFiles_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: version schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' description: default response security: - BEARER: [] tags: - workflows put: description: Add test parameter files for a given version. operationId: addTestParameterFiles_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: testParameterPaths schema: type: array items: type: string - in: query name: version schema: type: string requestBody: content: '*/*': schema: type: string responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/tools/{workflowVersionId}: get: description: Get the Tools for a given workflow version. operationId: getTableToolContent parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: path name: workflowVersionId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: string description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/users: get: description: Get users of a workflow. operationId: getUsers_1 parameters: - in: path name: workflowId required: true schema: type: integer format: int64 responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/User' description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/workflowVersions: get: description: Return paginated versions in an entry. Max pagination is 100 versions. operationId: getWorkflowVersions parameters: - description: id of the workflow in: path name: workflowId required: true schema: type: integer format: int64 - in: query name: limit schema: type: integer format: int32 default: 100 maximum: 100 minimum: 1 - in: query name: offset schema: type: integer format: int32 default: 0 minimum: 0 - description: "column used to sort versions. if omitted, the webservice determines\ \ the sort order, currently default version first" in: query name: sortCol schema: type: string - in: query name: sortOrder schema: type: string default: desc - description: "Comma-delimited list of fields to include: validations, aliases,\ \ images, authors, metrics" in: query name: include schema: type: string responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowVersion' description: Get workflow versions in an entry. Default is 100 versions "400": description: Bad Request security: - BEARER: [] tags: - workflows put: description: Update the workflow versions linked to a workflow. operationId: updateWorkflowVersion parameters: - in: path name: workflowId required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowVersion' responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkflowVersion' uniqueItems: true description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/workflowVersions/{workflowVersionId}: get: description: Retrieve a workflow version by ID operationId: getWorkflowVersionById parameters: - description: id of the workflow in: path name: workflowId required: true schema: type: integer format: int64 - description: id of the workflow version in: path name: workflowVersionId required: true schema: type: integer format: int64 - description: "Comma-delimited list of fields to include: validations, aliases,\ \ images, authors, metrics" in: query name: include schema: type: string responses: "200": content: application/json: schema: $ref: '#/components/schemas/WorkflowVersion' description: Get a workflow version by ID "400": description: Bad Request security: - BEARER: [] tags: - workflows /workflows/{workflowId}/workflowVersions/{workflowVersionId}/description: get: description: Retrieve a workflow version's description operationId: getWorkflowVersionDescription parameters: - description: id of the workflow in: path name: workflowId required: true schema: type: integer format: int64 - description: id of the workflow version in: path name: workflowVersionId required: true schema: type: integer format: int64 responses: "200": content: text/plain: schema: type: string description: Retrieve a workflow version's description "400": description: Bad Request security: - BEARER: [] tags: - workflows /workflows/{workflowId}/workflowVersions/{workflowVersionId}/orcidAuthors: get: description: Retrieve ORCID author information for a workflow version operationId: getWorkflowVersionOrcidAuthors parameters: - description: id of the workflow in: path name: workflowId required: true schema: type: integer format: int64 - description: id of the workflow version in: path name: workflowVersionId required: true schema: type: integer format: int64 responses: "200": content: application/json: schema: type: array items: $ref: '#/components/schemas/OrcidAuthorInformation' description: Retrieve ORCID author information for a workflow version "400": description: Bad Request security: - BEARER: [] tags: - workflows /workflows/{workflowId}/workflowVersions/{workflowVersionId}/parsedInformation: post: description: Language parser calls this endpoint to update parsed information for this version operationId: postParsedInformation parameters: - description: Workflow to retrieve the version from. in: path name: workflowId required: true schema: type: integer format: int64 - description: Workflow version to retrieve the version from. in: path name: workflowVersionId required: true schema: type: integer format: int64 requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LanguageParsingResponse' description: Response from language parsing lambda required: true responses: default: content: application/json: {} description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/workflowVersions/{workflowVersionId}/sourcefiles: get: description: Retrieve sourcefiles for an entry's version operationId: getWorkflowVersionsSourcefiles parameters: - description: Workflow to retrieve the version from. in: path name: workflowId required: true schema: type: integer format: int64 - description: Workflow version to retrieve the version from. in: path name: workflowVersionId required: true schema: type: integer format: int64 - description: List of file types to filter sourcefiles by in: query name: fileTypes schema: type: array items: type: string enum: - DOCKSTORE_SMK - SMK_TEST_PARAMS - DOCKSTORE_CWL - CWL_TEST_JSON - DOCKSTORE_WDL - WDL_TEST_JSON - DOCKSTORE_WORKFLOW_OTHER - DOCKERFILE - NEXTFLOW - NEXTFLOW_CONFIG - NEXTFLOW_TEST_PARAMS - DOCKSTORE_YML - DOCKSTORE_SERVICE_YML - DOCKSTORE_SERVICE_TEST_JSON - DOCKSTORE_SERVICE_OTHER - DOCKSTORE_GXFORMAT2 - GXFORMAT2_TEST_FILE - DOCKSTORE_SWL - SWL_TEST_JSON - DOCKSTORE_JUPYTER - DOCKSTORE_NOTEBOOK_REES - DOCKSTORE_NOTEBOOK_DEVCONTAINER - DOCKSTORE_NOTEBOOK_TEST_FILE - DOCKSTORE_NOTEBOOK_OTHER responses: default: content: application/json: schema: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true description: default response security: - BEARER: [] tags: - workflows /workflows/{workflowId}/zip/{workflowVersionId}: get: description: Download a ZIP file of a workflow and all associated files. operationId: getWorkflowZip parameters: - in: path name: workflowId required: true schema: type: integer format: int64 - in: path name: workflowVersionId required: true schema: type: integer format: int64 responses: default: content: application/zip: {} description: default response security: - BEARER: [] tags: - workflows components: schemas: AccessLink: type: object properties: created_at: type: string expires_at: type: string id: type: string permission: type: string enum: - view - preview - edit token: type: string Alias: type: object properties: content: type: string AppTool: type: object allOf: - $ref: '#/components/schemas/Workflow' description: This describes one app tool in dockstore as a special degenerate case of a workflow Author: type: object properties: affiliation: type: string email: type: string name: type: string role: type: string AutoDoiRequest: type: object description: Request to control auto DOI generation properties: autoGenerateDois: type: boolean description: Whether to automatically generate DOIs required: - autoGenerateDois BioWorkflow: type: object allOf: - $ref: '#/components/schemas/Workflow' - type: object properties: parent_id: type: integer format: int64 description: This describes one workflow in the dockstore CLIInfo: type: object properties: cliLatestDockstoreScriptDownloadUrl: type: string cliLatestUnstableDockstoreScriptDownloadUrl: type: string cliLatestUnstableVersion: type: string cliLatestVersion: type: string Category: type: object description: Category of entries properties: aliases: type: object additionalProperties: $ref: '#/components/schemas/Alias' dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 description: type: string description: Description of the collection displayName: type: string maxLength: 50 minLength: 3 pattern: "[\\w ,_\\-&()']*" entries: type: array items: $ref: '#/components/schemas/CollectionEntry' id: type: integer format: int64 description: Implementation specific ID for the collection in this web service name: type: string description: Name of the collection example: alignment maxLength: 39 minLength: 3 pattern: "[a-zA-Z](-?[a-zA-Z\\d]){0,38}" notebooksLength: type: integer format: int64 description: Number of notebooks inside this collection organizationID: type: integer format: int64 organizationName: type: string servicesLength: type: integer format: int64 description: Number of services inside this collection toolsLength: type: integer format: int64 description: Number of tools inside this collection topic: type: string description: Short description of the collection example: A collection of alignment algorithms maxLength: 255 minLength: 0 workflowsLength: type: integer format: int64 description: Number of workflows inside this collection required: - name - topic CategorySummary: type: object properties: description: type: string displayName: type: string id: type: integer format: int64 name: type: string topic: type: string Checksum: type: object description: "A production (immutable) tool version is required to have a hashcode.\ \ Not required otherwise, but might be useful to detect changes. " example: - checksum: ea2a5db69bd20a42976838790bc29294df3af02b type: sha1 properties: checksum: type: string description: 'The hex-string encoded checksum for the data. ' type: type: string description: "The digest method used to create the checksum. The value (e.g.\ \ `sha-256`) SHOULD be listed as `Hash Name String` in the https://github.com/ga4gh-discovery/ga4gh-checksum/blob/master/hash-alg.csv[GA4GH\ \ Checksum Hash Algorithm Registry]. Other values MAY be used, as long\ \ as implementors are aware of the issues discussed in https://tools.ietf.org/html/rfc6920#section-9.4[RFC6920].\ \ GA4GH may provide more explicit guidance for use of non-IANA-registered\ \ algorithms in the future." required: - checksum - type CloudInstance: type: object properties: displayName: type: string id: type: integer format: int64 partner: type: string enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL supportedLanguages: type: array items: $ref: '#/components/schemas/Language' uniqueItems: true supportsFileImports: type: boolean supportsHttpImports: type: boolean url: type: string Collection: type: object description: "Collection in an organization, collects entries" properties: aliases: type: object additionalProperties: $ref: '#/components/schemas/Alias' dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 description: type: string description: Description of the collection displayName: type: string maxLength: 50 minLength: 3 pattern: "[\\w ,_\\-&()']*" entries: type: array items: $ref: '#/components/schemas/CollectionEntry' id: type: integer format: int64 description: Implementation specific ID for the collection in this web service name: type: string description: Name of the collection example: alignment maxLength: 39 minLength: 3 pattern: "[a-zA-Z](-?[a-zA-Z\\d]){0,38}" notebooksLength: type: integer format: int64 description: Number of notebooks inside this collection organizationID: type: integer format: int64 organizationName: type: string servicesLength: type: integer format: int64 description: Number of services inside this collection toolsLength: type: integer format: int64 description: Number of tools inside this collection topic: type: string description: Short description of the collection example: A collection of alignment algorithms maxLength: 255 minLength: 0 workflowsLength: type: integer format: int64 description: Number of workflows inside this collection required: - name - topic CollectionEntry: type: object properties: categories: type: array items: $ref: '#/components/schemas/CategorySummary' dbUpdateDate: type: integer format: int64 descriptorTypes: type: array items: type: string entryPath: type: string entryType: type: string id: type: integer format: int64 isApprovedAITopic: type: boolean labels: type: array items: type: string topic: type: string topicSelection: type: string enum: - AUTOMATIC - MANUAL - AI verified: type: boolean versionName: type: string CollectionOrganization: type: object properties: collectionDisplayName: type: string collectionId: type: integer format: int64 collectionName: type: string organizationAvatarUrl: type: string organizationDisplayName: type: string organizationId: type: integer format: int64 organizationName: type: string Config: type: object properties: bdCatalystSevenBridgesImportUrl: type: string bdCatalystTerraImportUrl: type: string bitBucketAuthUrl: type: string bitBucketClientId: type: string checkUrlLambdaVersion: type: string colabImportUrl: type: string cwlParsingLambdaVersion: type: string cwlVisualizerUri: type: string deployVersion: type: string discourseUrl: type: string dnaNexusImportUrl: type: string dnaStackImportUrl: type: string documentationUrl: type: string elwaziImportUrl: type: string featuredContentUrl: type: string featuredNewsUrl: type: string galaxyParsingPluginVersion: type: string gitBuildVersion: type: string gitCommitId: type: string gitHubAppInstallationUrl: type: string gitHubAuthUrl: type: string gitHubCodespacesImportUrl: type: string gitHubRedirectPath: type: string gitHubScope: type: string githubClientId: type: string gitlabAuthUrl: type: string gitlabClientId: type: string gitlabRedirectPath: type: string gitlabScope: type: string googleClientId: type: string googleScope: type: string mybinderImportUrl: type: string nextflowParsingLambdaVersion: type: string orcidAuthUrl: type: string orcidClientId: type: string orcidRedirectPath: type: string orcidScope: type: string quayIoAuthUrl: type: string quayIoClientId: type: string quayIoRedirectPath: type: string quayIoScope: type: string supportVersion: type: string tagManagerId: type: string terraImportUrl: type: string wdlParsingLambdaVersion: type: string zenodoAuthUrl: type: string zenodoClientId: type: string zenodoRedirectPath: type: string zenodoScope: type: string Cost: type: object description: Cost represents a monetary amount in USD properties: currency: type: string default: USD description: The currency of the cost value readOnly: true value: type: number format: double description: The numerical value of the cost example: 5.99 required: - value CostMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: average: type: number format: double description: The average value from the data points maximum: type: number format: double description: The maximum value from the data points median: type: number format: double description: The 50th percentile value from the data points minimum: type: number format: double description: The minimum value from the data points numberOfDataPointsForAverage: type: integer format: int32 description: The number of data points used to calculate the average percentile05th: type: number format: double description: The 05th percentile value from the data points percentile95th: type: number format: double description: The 95th percentile value from the data points unit: type: string default: USD description: The unit of the data points readOnly: true description: This describes aggregated cost metrics for workflow executions in USD. required: - average - maximum - median - minimum - numberOfDataPointsForAverage - percentile05th - percentile95th CpuMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: average: type: number format: double description: The average value from the data points maximum: type: number format: double description: The maximum value from the data points median: type: number format: double description: The 50th percentile value from the data points minimum: type: number format: double description: The minimum value from the data points numberOfDataPointsForAverage: type: integer format: int32 description: The number of data points used to calculate the average percentile05th: type: number format: double description: The 05th percentile value from the data points percentile95th: type: number format: double description: The 95th percentile value from the data points unit: type: string description: The unit of the data points readOnly: true description: This describes aggregated CPU metrics for workflow executions. required: - average - maximum - median - minimum - numberOfDataPointsForAverage - percentile05th - percentile95th DescriptionMetrics: type: object properties: calculatedEntropy: type: integer format: int64 calculatedWordCount: type: integer format: int64 descriptionLength: type: integer format: int64 DescriptorLanguageBean: type: object properties: friendlyName: type: string value: type: string DockstoreTool: type: object description: "This describes one entry in the dockstore. Logically, this currently\ \ means one tuple of registry (either quay or docker hub), organization, image\ \ name, and toolname which can be associated with CWL and Dockerfile documents" properties: aliases: type: object additionalProperties: $ref: '#/components/schemas/Alias' approvedAITopic: type: boolean description: Indicates if the topicAI has been approved by the user archived: type: boolean authors: type: array description: "Non-ORCID authors for the entry, retrieved from the default\ \ version" items: $ref: '#/components/schemas/Author' readOnly: true uniqueItems: true checker_id: type: integer format: int64 conceptDoi: type: string deprecated: true description: The Digital Object Identifier (DOI) representing all of the versions of your workflow conceptDois: type: object additionalProperties: $ref: '#/components/schemas/Doi' description: The Digital Object Identifier (DOI) representing all of the versions of your workflow custom_docker_registry_path: type: string customerDockerRegistryPath: type: string writeOnly: true dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 defaultCWLTestParameterFile: type: string defaultVersion: type: string defaultWDLTestParameterFile: type: string default_cwl_path: type: string default_dockerfile_path: type: string default_wdl_path: type: string deletable: type: boolean description: type: string descriptorType: type: array items: type: string doiSelection: type: string description: The Digital Object Identifier (DOI) to display publicly enum: - USER - DOCKSTORE - GITHUB entryType: $ref: '#/components/schemas/EntryType' entryTypeMetadata: $ref: '#/components/schemas/EntryTypeMetadata' forumUrl: type: string maxLength: 256 minLength: 0 gitUrl: type: string has_checker: type: boolean id: type: integer format: int64 input_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true is_published: type: boolean labels: type: array items: $ref: '#/components/schemas/Label' uniqueItems: true lastBuild: type: string format: date-time lastUpdated: type: integer format: int64 last_modified: type: integer format: int32 last_modified_date: type: integer format: int64 licenseInformation: $ref: '#/components/schemas/LicenseInformation' metadataFromEntry: $ref: '#/components/schemas/DockstoreTool' metadataFromVersion: $ref: '#/components/schemas/Version' metricsByPlatform: type: object additionalProperties: $ref: '#/components/schemas/Metrics' mode: type: string enum: - AUTO_DETECT_QUAY_TAGS_AUTOMATED_BUILDS - AUTO_DETECT_QUAY_TAGS_WITH_MIXED - MANUAL_IMAGE_PATH - HOSTED name: type: string namespace: type: string orcidAuthors: type: array description: "ORCID authors for the entry, retrieved from the default version" items: $ref: '#/components/schemas/OrcidAuthor' readOnly: true uniqueItems: true output_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true path: type: string private_access: type: boolean registry: type: string enum: - QUAY_IO - DOCKER_HUB - GITLAB - AMAZON_ECR - SEVEN_BRIDGES - GITHUB_CONTAINER_REGISTRY registry_string: type: string starredUsers: type: array items: $ref: '#/components/schemas/User' uniqueItems: true tags: type: array items: $ref: '#/components/schemas/Tag' uniqueItems: true tool_maintainer_email: type: string tool_path: type: string toolname: type: string maxLength: 256 minLength: 0 topic: type: string topicAI: type: string description: Short description of the entry generated by AI maxLength: 250 topicAutomatic: type: string description: Short description of the entry gotten automatically maxLength: 250 topicId: type: integer format: int64 topicManual: type: string description: Short description of the entry manually updated maxLength: 250 topicSelection: type: string description: Which topic to display to the public users enum: - AUTOMATIC - MANUAL - AI trsId: type: string userIdToOrcidPutCode: type: object additionalProperties: $ref: '#/components/schemas/OrcidPutCode' description: The presence of the put code for a userid indicates the entry was exported to ORCID for the corresponding Dockstore user. users: type: array items: $ref: '#/components/schemas/User' uniqueItems: true workflowVersions: type: array items: $ref: '#/components/schemas/Tag' uniqueItems: true Doi: type: object description: A Digital Object Identifier (DOI) properties: id: type: integer format: int64 description: Implementation specific ID for the DOI in this web service initiator: type: string description: The initiator that initiated the creation of the DOI enum: - USER - DOCKSTORE - GITHUB example: USER name: type: string description: The DOI name example: 10.5281/zenodo.705645 type: type: string description: The type of DOI enum: - CONCEPT - VERSION example: CONCEPT required: - initiator - name - type Entry: type: object description: This describes one high-level entity in the dockstore properties: aliases: type: object additionalProperties: $ref: '#/components/schemas/Alias' approvedAITopic: type: boolean description: Indicates if the topicAI has been approved by the user archived: type: boolean authors: type: array description: "Non-ORCID authors for the entry, retrieved from the default\ \ version" items: $ref: '#/components/schemas/Author' readOnly: true uniqueItems: true checker_id: type: integer format: int64 conceptDoi: type: string deprecated: true description: The Digital Object Identifier (DOI) representing all of the versions of your workflow conceptDois: type: object additionalProperties: $ref: '#/components/schemas/Doi' description: The Digital Object Identifier (DOI) representing all of the versions of your workflow dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 defaultVersion: type: string deletable: type: boolean description: type: string doiSelection: type: string description: The Digital Object Identifier (DOI) to display publicly enum: - USER - DOCKSTORE - GITHUB entryType: $ref: '#/components/schemas/EntryType' entryTypeMetadata: $ref: '#/components/schemas/EntryTypeMetadata' gitUrl: type: string has_checker: type: boolean id: type: integer format: int64 input_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true is_published: type: boolean labels: type: array items: $ref: '#/components/schemas/Label' uniqueItems: true lastUpdated: type: integer format: int64 last_modified: type: integer format: int32 last_modified_date: type: integer format: int64 licenseInformation: $ref: '#/components/schemas/LicenseInformation' metadataFromEntry: $ref: '#/components/schemas/Entry' metadataFromVersion: $ref: '#/components/schemas/Version' metricsByPlatform: type: object additionalProperties: $ref: '#/components/schemas/Metrics' orcidAuthors: type: array description: "ORCID authors for the entry, retrieved from the default version" items: $ref: '#/components/schemas/OrcidAuthor' readOnly: true uniqueItems: true output_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true starredUsers: type: array items: $ref: '#/components/schemas/User' uniqueItems: true topic: type: string topicAI: type: string description: Short description of the entry generated by AI maxLength: 250 topicAutomatic: type: string description: Short description of the entry gotten automatically maxLength: 250 topicId: type: integer format: int64 topicManual: type: string description: Short description of the entry manually updated maxLength: 250 topicSelection: type: string description: Which topic to display to the public users enum: - AUTOMATIC - MANUAL - AI trsId: type: string userIdToOrcidPutCode: type: object additionalProperties: $ref: '#/components/schemas/OrcidPutCode' description: The presence of the put code for a userid indicates the entry was exported to ORCID for the corresponding Dockstore user. users: type: array items: $ref: '#/components/schemas/User' uniqueItems: true workflowVersions: type: array items: $ref: '#/components/schemas/Version' uniqueItems: true EntryLite: type: object properties: entryPath: type: string entryType: $ref: '#/components/schemas/EntryType' entryTypeMetadata: $ref: '#/components/schemas/EntryTypeMetadata' lastUpdated: type: string format: date-time prettyPath: type: string trsId: type: string EntryLiteAndVersionName: type: object properties: entryLite: $ref: '#/components/schemas/EntryLite' versionName: type: string EntryType: type: string description: Entry type enum: - TOOL - WORKFLOW - SERVICE - APPTOOL - NOTEBOOK EntryTypeMetadata: type: object description: Information about an entry type properties: searchEntryType: type: string description: Search 'entryType' parameter value for this entry type searchSupported: type: boolean description: Search support for this entry type sitePath: type: string description: Relative path from the root of the site to the 'pages' where entries of this type are displayed term: type: string description: Singular term used to refer to an instance of this entry type termPlural: type: string description: Plural term used to refer to instances of this entry type trsPrefix: type: string description: TRS ID prefix for this entry type trsSupported: type: boolean description: TRS support for this entry type type: $ref: '#/components/schemas/EntryType' EntryUpdateTime: type: object properties: entryType: $ref: '#/components/schemas/EntryType' lastUpdateDate: type: integer format: int64 path: type: string prettyPath: type: string Error: type: object properties: code: type: integer format: int32 message: type: string required: - code ErrorV20beta: type: object properties: code: type: integer format: int32 message: type: string required: - code Event: type: object properties: apptool: $ref: '#/components/schemas/AppTool' collection: $ref: '#/components/schemas/Collection' dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 id: type: integer format: int64 initiatorUser: $ref: '#/components/schemas/User' notebook: $ref: '#/components/schemas/Notebook' organization: $ref: '#/components/schemas/Organization' service: $ref: '#/components/schemas/Service' tool: $ref: '#/components/schemas/DockstoreTool' type: type: string enum: - CREATE_ORG - DELETE_ORG - MODIFY_ORG - APPROVE_ORG - REJECT_ORG - REREQUEST_ORG - ADD_USER_TO_ORG - REMOVE_USER_FROM_ORG - MODIFY_USER_ROLE_ORG - APPROVE_ORG_INVITE - REJECT_ORG_INVITE - CREATE_COLLECTION - MODIFY_COLLECTION - DELETE_COLLECTION - REMOVE_FROM_COLLECTION - ADD_TO_COLLECTION - ADD_VERSION_TO_ENTRY - PUBLISH_ENTRY - UNPUBLISH_ENTRY - ARCHIVE_ENTRY - UNARCHIVE_ENTRY user: $ref: '#/components/schemas/User' version: $ref: '#/components/schemas/Version' workflow: $ref: '#/components/schemas/Workflow' Execution: type: object description: Metrics of a workflow execution on a platform properties: additionalProperties: type: object additionalProperties: type: object description: "Additional properties that aren't defined. Provide a context,\ \ like one from schema.org, if you want to use a specific vocabulary" example: '@context': schema: https://schema.org schema:actionStatus: CompletedActionStatus description: "Additional properties that aren't defined. Provide a context,\ \ like one from schema.org, if you want to use a specific vocabulary" example: '@context': schema: https://schema.org schema:actionStatus: CompletedActionStatus dateExecuted: type: string description: The date and time that the execution occurred in ISO 8601 UTC date format example: 2023-03-31T15:06:49.888745366Z executionId: type: string description: User-provided ID of the execution. Must be unique and not used for previous executions. This ID is used to identify the execution when updating the execution required: - dateExecuted - executionId ExecutionResponse: type: object description: Response for a single execution metric as a result of an API properties: error: type: string description: The error message if one exists executionId: type: string description: The ID of the execution that the response is for status: type: integer format: int32 description: The response status code of the action for the execution required: - executionId - status ExecutionStatusMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: count: type: object additionalProperties: $ref: '#/components/schemas/MetricsByStatus' description: A map containing the metrics for each execution status numberOfAbortedExecutions: type: integer format: int32 description: Number of aborted executions. An execution is aborted if its execution is stopped after it has started example: 0 readOnly: true numberOfFailedExecutions: type: integer format: int32 description: Number of failed executions. An execution may have failed because it was semantically or runtime invalid example: 2 readOnly: true numberOfSuccessfulExecutions: type: integer format: int32 description: Number of successful executions example: 5 readOnly: true description: Aggregated metrics about workflow execution statuses required: - count ExecutionTimeMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: average: type: number format: double description: The average value from the data points maximum: type: number format: double description: The maximum value from the data points median: type: number format: double description: The 50th percentile value from the data points minimum: type: number format: double description: The minimum value from the data points numberOfDataPointsForAverage: type: integer format: int32 description: The number of data points used to calculate the average percentile05th: type: number format: double description: The 05th percentile value from the data points percentile95th: type: number format: double description: The 95th percentile value from the data points unit: type: string default: s description: The unit of the data points readOnly: true description: This describes aggregated execution time metrics in seconds for workflow executions. required: - average - maximum - median - minimum - numberOfDataPointsForAverage - percentile05th - percentile95th ExecutionsRequestBody: type: object description: Request body model for executionMetricsPost properties: runExecutions: type: array description: List of workflow run executions to submit items: $ref: '#/components/schemas/RunExecution' taskExecutions: type: array description: List of task run executions to submit. Each TaskExecution represents the tasks executed during a workflow execution. items: $ref: '#/components/schemas/TaskExecutions' validationExecutions: type: array description: List of workflow validation executions to submit items: $ref: '#/components/schemas/ValidationExecution' required: - runExecutions - taskExecutions - validationExecutions ExecutionsResponseBody: type: object description: Response body model for execution metric APIs properties: executionResponses: type: array description: A list of responses for the executions submitted items: $ref: '#/components/schemas/ExecutionResponse' ExtendedUserData: type: object properties: canChangeUsername: type: boolean FileFormat: type: object properties: value: type: string FileWrapper: type: object description: 'A file provides content for one of - A tool descriptor is a metadata document that describes one or more tools. - A tool document that describes how to test with one or more sample test JSON. - A containerfile is a document that describes how to build a particular container image. Examples include Dockerfiles for creating Docker images and Singularity recipes for Singularity images ' properties: checksum: type: array description: "A production (immutable) tool version is required to have\ \ a hashcode. Not required otherwise, but might be useful to detect changes. " example: - checksum: ea2a5db69bd20a42976838790bc29294df3af02b type: sha1 items: $ref: '#/components/schemas/Checksum' content: type: string description: The content of the file itself. One of url or content is required. dockstore_absolute_path: type: string description: Absolute path of the file. A descriptor's path can be used with zip from toolsIdVersionsVersionIdTypeFilesGet when format=zip is specified dockstore_self_url: type: string description: Self URL to this file in the toolsIdVersionsVersionIdTypeDescriptorRelativePathGet endpoint image_type: $ref: '#/components/schemas/OneOfFileWrapperImageType' url: type: string description: "Optional url to the underlying content, should include version\ \ information, and can include a git hash. Note that this URL should\ \ resolve to the raw unwrapped content that would otherwise be available\ \ in content. One of url or content is required." example: "{\"descriptorfile\":{\"url\":\"https://raw.githubusercontent.com/ICGC-TCGA-PanCancer/pcawg_delly_workflow/ea2a5db69bd20a42976838790bc29294df3af02b/delly_docker/Delly.cwl\"\ },\"containerfile\":{\"url\":\"https://raw.githubusercontent.com/ICGC-TCGA-PanCancer/pcawg_delly_workflow/c83478829802b4d36374870843821abe1b625a71/delly_docker/Dockerfile\"\ }}" FileWrapperV20beta: type: object properties: content: type: string url: type: string GitCommit: type: object description: "Information about a commit on a GitHub push event. See https://docs.github.com/en/webhooks/webhook-events-and-payloads#push,\ \ under commits and head_commit" properties: author: $ref: '#/components/schemas/GitHubUser' committer: $ref: '#/components/schemas/GitHubUser' GitHubAppNotification: type: object description: Notifications for a GitHub App repository properties: action: type: string description: The recommended action for the repository enum: - INFER_DOCKSTORE_YML dbCreateDate: type: integer format: int64 description: Timestamp at which the notification was created dbUpdateDate: type: integer format: int64 description: Timestamp at which the notification was last updated hidden: type: boolean description: Is the notification hidden? id: type: integer format: int64 description: ID for the notification organization: type: string description: The git organization name repository: type: string description: The git repository name sourceControl: type: string description: The source control provider enum: - dockstore.org - github.com - bitbucket.org - gitlab.com user: $ref: '#/components/schemas/User' required: - action - hidden - organization - repository - sourceControl GitHubUser: type: object properties: email: type: string name: type: string username: type: string HealthCheckResult: type: object properties: healthCheckName: type: string healthy: type: boolean HistogramMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: edges: type: array description: "List of edge values. Bin number i includes all data values\ \ within the interval [edges[i], edges[i + 1])" items: type: number format: double description: Edge value frequencies: type: array description: "List of frequencies, one per bin." items: type: number format: double description: Frequency id: type: integer format: int64 description: Implementation specific ID for metrics in this webservice numberOfSkippedExecutions: type: integer format: int32 default: 0 description: The number of executions that were skipped during aggregation because they were invalid description: Describes a metric that consists of a histogram required: - edges - frequencies Image: type: object properties: architecture: type: string checksums: type: array items: $ref: '#/components/schemas/Checksum' dbUpdateDate: type: string format: date-time imageID: type: string imageRegistry: type: string enum: - QUAY_IO - DOCKER_HUB - GITLAB - AMAZON_ECR - SEVEN_BRIDGES - GITHUB_CONTAINER_REGISTRY imageUpdateDate: type: string os: type: string repository: type: string size: type: integer format: int64 specifier: type: string enum: - PARAMETER - NO_TAG - LATEST - TAG - DIGEST tag: type: string ImageData: type: object description: Describes one container image. properties: checksum: type: array description: "A production (immutable) tool version is required to have\ \ a hashcode. Not required otherwise, but might be useful to detect changes.\ \ This exposes the hashcode for specific image versions to verify that\ \ the container version pulled is actually the version that was indexed\ \ by the registry." example: - checksum: 77af4d6b9913e693e8d0b4b294fa62ade6054e6b2f1ffb617ac955dd63fb0182 type: sha256 items: $ref: '#/components/schemas/Checksum' image_name: type: string description: Used in conjunction with a registry_url if provided to locate images. example: "[\"quay.io/seqware/seqware_full/1.1\",\"ubuntu:latest\"]" image_type: type: string enum: - Docker - Singularity - Conda registry_host: type: string description: A docker registry or a URL to a Singularity registry. Used along with image_name to locate a specific image. example: "[\"registry.hub.docker.com\"]" size: type: integer format: int64 description: Size of the container in bytes. updated: type: string description: Last time the container was updated. InferredDockstoreYml: type: object description: Response for an inferred .dockstore.yml properties: dockstoreYml: type: string description: The inferred .dockstore.yml gitReference: type: string description: The GitHub branch reference used for the inference required: - dockstoreYml - gitReference Installation: type: object description: The GitHub App installation properties: id: type: integer format: int64 description: The installation ID required: - id InstallationRepositoriesPayload: type: object allOf: - $ref: '#/components/schemas/Payload' - type: object properties: action: type: string description: The action which the event describes example: added repositories_added: type: array description: "An array of repository objects, which were added to the\ \ installation" items: $ref: '#/components/schemas/WebhookRepository' repositories_removed: type: array description: "An array of repository objects, which were removed from\ \ the installation" items: $ref: '#/components/schemas/WebhookRepository' description: A model for a GitHub webhook installation event required: - action - installation - repositories_added - repositories_removed - sender Label: type: object properties: id: type: integer format: int64 value: type: string LambdaEvent: type: object properties: deliveryId: type: string description: "The GitHub delivery ID, used to group events that belong to\ \ the same GitHub webhook invocation." entryName: type: string description: The name of the entry associated with the event. An empty string indicates an entry with no name specified. eventDate: type: integer format: int64 githubUsername: type: string id: type: integer format: int64 ignored: type: boolean description: Whether or not the event was ignored. message: type: string organization: type: string reference: type: string repository: type: string success: type: boolean type: type: string enum: - PUSH - DELETE - INSTALL - UNINSTALL - PUBLISH - RELEASE Language: type: object properties: language: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter version: type: string LanguageParsingRequest: type: object description: Request sent to the external language parsing service properties: branch: type: string description: The Git branch/tag descriptorLanguage: type: string description: The language of the workflow enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter descriptorRelativePathInGit: type: string description: The relative path to the primary descriptor (relative to the base in Git) entryId: type: integer format: int64 description: Id of the Dockstore entry sourceFiles: type: array description: List of SourceFiles that will be required for parsing hosted entries from Dockstore items: $ref: '#/components/schemas/SourceFile' uri: type: string description: The Git URI versionId: type: integer format: int64 description: Id of the Dockstore entry's workflowVersion required: - branch - descriptorRelativePathInGit - entryId - uri - versionId LanguageParsingResponse: type: object description: Response from the external lambda parsing service properties: author: type: string description: Author found from parsing the version (may possibly be different from what will be stored in Dockstore) clonedRepositoryAbsolutePath: type: string description: type: string description: Description found from parsing the version (may possibly be different from what will be stored in Dockstore) email: type: string description: Email found from parsing the version (may possibly be different from what will be stored in Dockstore) languageParsingRequest: $ref: '#/components/schemas/LanguageParsingRequest' orcidID: type: string description: ORCID ID found from parsing the version (may possibly be different from what will be stored in Dockstore) parsedInformation: $ref: '#/components/schemas/ParsedInformation' secondaryFilePaths: type: array items: type: string sourceFiles: type: array description: List of SourceFiles returned after parsing a non-hosted entry items: $ref: '#/components/schemas/SourceFile' versionTypeValidation: $ref: '#/components/schemas/VersionTypeValidation' LicenseInformation: type: object properties: licenseName: type: string Limits: type: object properties: hostedEntryCountLimit: type: integer format: int32 hostedEntryVersionLimit: type: integer format: int32 MemoryMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: average: type: number format: double description: The average value from the data points maximum: type: number format: double description: The maximum value from the data points median: type: number format: double description: The 50th percentile value from the data points minimum: type: number format: double description: The minimum value from the data points numberOfDataPointsForAverage: type: integer format: int32 description: The number of data points used to calculate the average percentile05th: type: number format: double description: The 05th percentile value from the data points percentile95th: type: number format: double description: The 95th percentile value from the data points unit: type: string default: GB description: The unit of the data points readOnly: true description: This describes aggregated memory metrics for workflow executions in GB. required: - average - maximum - median - minimum - numberOfDataPointsForAverage - percentile05th - percentile95th MetadataV20beta: type: object properties: api_version: type: string country: type: string friendly_name: type: string version: type: string required: - api_version - version Metric: type: object description: Describes an aggregated metric properties: id: type: integer format: int64 description: Implementation specific ID for metrics in this webservice numberOfSkippedExecutions: type: integer format: int32 default: 0 description: The number of executions that were skipped during aggregation because they were invalid Metrics: type: object description: Aggregated metrics associated with entry versions properties: executionStatusCount: $ref: '#/components/schemas/ExecutionStatusMetric' id: type: integer format: int64 description: Implementation specific ID for the metrics in this webservice validationStatus: $ref: '#/components/schemas/ValidationStatusMetric' required: - executionStatusCount MetricsByStatus: type: object description: Aggregated metrics grouped by execution status properties: cost: $ref: '#/components/schemas/CostMetric' cpu: $ref: '#/components/schemas/CpuMetric' dailyExecutionCounts: $ref: '#/components/schemas/TimeSeriesMetric' executionStatusCount: type: integer format: int32 description: The number of executions for the status executionTime: $ref: '#/components/schemas/ExecutionTimeMetric' executionTimeHistogram: $ref: '#/components/schemas/HistogramMetric' id: type: integer format: int64 description: Implementation specific ID for the metrics in this webservice memory: $ref: '#/components/schemas/MemoryMetric' monthlyExecutionCounts: $ref: '#/components/schemas/TimeSeriesMetric' weeklyExecutionCounts: $ref: '#/components/schemas/TimeSeriesMetric' required: - executionStatusCount Notebook: type: object allOf: - $ref: '#/components/schemas/Workflow' description: This describes one notebook in the dockstore as a special degenerate case of a workflow OneOfFileWrapperImageType: type: object description: Optionally return additional information on the type of file this is OrcidAuthor: type: object properties: id: type: integer format: int64 orcid: type: string OrcidAuthorInformation: type: object properties: affiliation: type: string email: type: string name: type: string orcid: type: string role: type: string OrcidPutCode: type: object description: An ORCID put code uniquely identifies a work on ORCID properties: orcidPutCode: type: string Organization: type: object properties: aliases: type: object additionalProperties: $ref: '#/components/schemas/Alias' avatarUrl: type: string pattern: "([^\\s]+)(\\.jpg|\\.jpeg|\\.png|\\.gif)" categorizer: type: boolean collectionsLength: type: integer format: int64 dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 description: type: string displayName: type: string maxLength: 50 minLength: 3 pattern: "[\\w ,_\\-&()']*" email: type: string id: type: integer format: int64 link: type: string location: type: string name: type: string maxLength: 39 minLength: 3 pattern: "[a-zA-Z][a-zA-Z\\d]*" starredUsers: type: array items: $ref: '#/components/schemas/User' uniqueItems: true status: type: string enum: - PENDING - REJECTED - APPROVED - HIDDEN topic: type: string maxLength: 255 minLength: 0 users: type: array items: $ref: '#/components/schemas/OrganizationUser' uniqueItems: true OrganizationUpdateTime: type: object properties: displayName: type: string lastUpdateDate: type: integer format: int64 name: type: string OrganizationUser: type: object properties: dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 id: $ref: '#/components/schemas/OrganizationUserId' organization: $ref: '#/components/schemas/Organization' role: type: string enum: - ADMIN - MAINTAINER - MEMBER status: type: string description: The status of the organization invitation enum: - PENDING - REJECTED - ACCEPTED user: $ref: '#/components/schemas/User' required: - status OrganizationUserId: type: object properties: organizationId: type: integer format: int64 userId: type: integer format: int64 ParsedInformation: type: object properties: descriptorLanguage: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter hasHTTPImports: type: boolean hasLocalImports: type: boolean Payload: type: object description: Describes the common fields of all GitHub webhook payloads properties: installation: $ref: '#/components/schemas/Installation' repository: $ref: '#/components/schemas/WebhookRepository' sender: $ref: '#/components/schemas/Sender' required: - installation - sender Permission: type: object properties: email: type: string role: type: string enum: - OWNER - WRITER - READER PrivilegeRequest: type: object properties: admin: type: boolean curator: type: boolean metricsRobotPartner: type: string enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL platformPartner: type: string enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL Profile: type: object properties: avatarURL: type: string bio: type: string company: type: string link: type: string location: type: string name: type: string username: type: string PublicNotification: type: object properties: dbCreateDate: type: integer format: int64 description: Timestamp at which the notification was created dbUpdateDate: type: integer format: int64 description: Timestamp at which the notification was last updated expiration: type: integer format: int64 id: type: integer format: int64 description: ID for the notification message: type: string maxLength: 1024 minLength: 0 priority: type: string enum: - LOW - MEDIUM - CRITICAL type: type: string description: Type of notification enum: - SITEWIDE - NEWSBODY example: SITEWIDE PublishRequest: type: object properties: publish: type: boolean PushPayload: type: object allOf: - $ref: '#/components/schemas/Payload' - type: object properties: after: type: string description: The SHA of the most recent commit on ref after the push example: 6d96270004515a0486bb7f76196a72b40c55a47f commits: type: array description: An array of commit objects describing the pushed commits items: $ref: '#/components/schemas/GitCommit' head_commit: $ref: '#/components/schemas/GitCommit' ref: type: string description: The full git ref that was pushed example: refs/heads/master OR refs/tags/v1.0 description: A model for a GitHub webhook push event required: - installation - ref - repository - sender RegistryBean: type: object properties: customDockerPath: type: string dockerPath: type: string enum: type: string friendlyName: type: string privateOnly: type: string url: type: string ReleasePayload: type: object properties: action: type: string description: The action which the event describes draft: type: boolean description: Whether this is a draft release installation: $ref: '#/components/schemas/Installation' release: $ref: '#/components/schemas/WebhookRelease' repository: $ref: '#/components/schemas/WebhookRepository' sender: $ref: '#/components/schemas/Sender' required: - action - draft - installation - release - sender Repository: type: object properties: canDelete: type: boolean gitRegistry: type: string enum: - dockstore.org - github.com - bitbucket.org - gitlab.com organization: type: string path: type: string present: type: boolean repositoryName: type: string RunExecution: type: object allOf: - $ref: '#/components/schemas/Execution' - type: object properties: cost: $ref: '#/components/schemas/Cost' cpuRequirements: type: integer format: int32 description: Number of CPUs required for the execution example: 2 executionStatus: type: string description: The status of the execution enum: - ALL - SUCCESSFUL - FAILED - FAILED_SEMANTIC_INVALID - FAILED_RUNTIME_INVALID - ABORTED example: SUCCESSFUL executionTime: type: string description: The total time it took for the execution to complete in ISO 8601 duration format example: PT30S executionTimeSeconds: type: integer format: int64 description: "In seconds, automatically calculated from executionTime\ \ and dateExecuted" example: 30 readOnly: true memoryRequirementsGB: type: number format: double description: Memory requirements for the execution in GB example: 2 region: type: string description: The region the workflow was executed in example: us-central1 description: Metrics of an execution on a platform required: - dateExecuted - executionId - executionStatus Sender: type: object description: The user that triggered the event properties: login: type: string description: GitHub username of the sender of the GitHub webhook event required: - login Service: type: object allOf: - $ref: '#/components/schemas/Workflow' description: This describes one service in the dockstore as a special degenerate case of a workflow ServiceType: type: object description: Type of a GA4GH service properties: artifact: type: string description: Name of the API or GA4GH specification implemented. Official GA4GH types should be assigned as part of standards approval process. Custom artifacts are supported. example: beacon group: type: string description: "Namespace in reverse domain name format. Use `org.ga4gh` for\ \ implementations compliant with official GA4GH specifications. For services\ \ with custom APIs not standardized by GA4GH, or implementations diverging\ \ from official GA4GH specifications, use a different namespace (e.g.\ \ your organization's reverse domain name)." example: org.ga4gh version: type: string description: Version of the API or specification. GA4GH specifications use semantic versioning. example: 1.0.0 required: - artifact - group - version SharedWorkflows: type: object properties: role: type: string enum: - OWNER - WRITER - READER workflows: type: array items: $ref: '#/components/schemas/Workflow' SourceControlBean: type: object properties: friendlyName: type: string value: type: string SourceFile: type: object properties: absolutePath: type: string description: Absolute path of sourcefile in git repo checksums: type: array items: $ref: '#/components/schemas/Checksum' content: type: string frozen: type: boolean id: type: integer format: int64 metadata: $ref: '#/components/schemas/SourceFileMetadata' path: type: string description: Path to sourcefile relative to its parent state: type: string description: Enumerates the file state enum: - COMPLETE - NOT_STORED - STUB type: type: string description: Enumerates the type of file enum: - DOCKSTORE_SMK - SMK_TEST_PARAMS - DOCKSTORE_CWL - CWL_TEST_JSON - DOCKSTORE_WDL - WDL_TEST_JSON - DOCKSTORE_WORKFLOW_OTHER - DOCKERFILE - NEXTFLOW - NEXTFLOW_CONFIG - NEXTFLOW_TEST_PARAMS - DOCKSTORE_YML - DOCKSTORE_SERVICE_YML - DOCKSTORE_SERVICE_TEST_JSON - DOCKSTORE_SERVICE_OTHER - DOCKSTORE_GXFORMAT2 - GXFORMAT2_TEST_FILE - DOCKSTORE_SWL - SWL_TEST_JSON - DOCKSTORE_JUPYTER - DOCKSTORE_NOTEBOOK_REES - DOCKSTORE_NOTEBOOK_DEVCONTAINER - DOCKSTORE_NOTEBOOK_TEST_FILE - DOCKSTORE_NOTEBOOK_OTHER verifiedBySource: type: object additionalProperties: $ref: '#/components/schemas/VerificationInformation' required: - absolutePath - path - state - type SourceFileMetadata: type: object properties: id: type: integer format: int64 parent: $ref: '#/components/schemas/SourceFile' typeVersion: type: string description: The language version for the given descriptor file type StarRequest: type: object properties: star: type: boolean SyncStatus: type: object description: Information about automatic updates to the entry properties: gitHubAppInstalled: type: boolean description: "False if the GitHub App is conclusively not installed, true\ \ otherwise." TRSService: type: object description: GA4GH service properties: contactUrl: type: string description: "URL of the contact for the provider of this service, e.g.\ \ a link to a contact form (RFC 3986 format), or an email (RFC 2368 format)." example: mailto:support@example.com createdAt: type: string format: date-time description: Timestamp describing when the service was first deployed and available (RFC 3339 format) example: 2019-06-04T12:58:19Z description: type: string description: Description of the service. Should be human readable and provide information about the service. example: This service provides... documentationUrl: type: string description: "URL of the documentation of this service (RFC 3986 format).\ \ This should help someone learn how to use your service, including any\ \ specifics required to access data, e.g. authentication." example: https://docs.myservice.example.com environment: type: string description: "Environment the service is running in. Use this to distinguish\ \ between production, development and testing/staging deployments. Suggested\ \ values are prod, test, dev, staging. However this is advised and not\ \ enforced." example: test id: type: string description: "Unique ID of this service. Reverse domain name notation is\ \ recommended, though not required. The identifier should attempt to be\ \ globally unique so it can be used in downstream aggregator services\ \ e.g. Service Registry." example: org.ga4gh.myservice name: type: string description: Name of this service. Should be human readable. example: My project organization: $ref: '#/components/schemas/TRSServiceOrganization' type: $ref: '#/components/schemas/ServiceType' updatedAt: type: string format: date-time description: Timestamp describing when the service was last updated (RFC 3339 format) example: 2019-06-04T12:58:19Z version: type: string description: "Version of the service being described. Semantic versioning\ \ is recommended, but other identifiers, such as dates or commit hashes,\ \ are also allowed. The version should be changed whenever the service\ \ is updated." example: 1.0.0 required: - id - name - organization - type - version TRSServiceOrganization: type: object description: Organization providing the service properties: name: type: string description: Name of the organization responsible for the service example: My organization url: type: string description: URL of the website of the organization (RFC 3986 format) example: https://example.com required: - name - url Tag: type: object description: This describes one tag associated with a container. properties: aiTopicProcessed: type: boolean author: type: string authors: type: array items: $ref: '#/components/schemas/Author' uniqueItems: true automated: type: boolean commitID: type: string cwl_path: type: string dbUpdateDate: type: integer format: int64 descriptionSource: type: string enum: - README - CUSTOM_README - DESCRIPTOR descriptorTypeVersionsFromSourceFiles: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true writeOnly: true dirtyBit: type: boolean dockerfile_path: type: string doiStatus: type: string enum: - NOT_REQUESTED - REQUESTED - CREATED doiURL: type: string dois: type: object additionalProperties: $ref: '#/components/schemas/Doi' description: The DOIs for the version of the entry email: type: string frozen: type: boolean hidden: type: boolean id: type: integer format: int64 image_id: type: string images: type: array items: $ref: '#/components/schemas/Image' uniqueItems: true input_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true last_built: type: integer format: int64 metricsByPlatform: type: object additionalProperties: $ref: '#/components/schemas/Metrics' name: type: string description: "Implementation specific, can be a quay.io or docker hub tag\ \ name" example: latest orcidAuthors: type: array items: $ref: '#/components/schemas/OrcidAuthor' uniqueItems: true output_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true readMePath: type: string reference: type: string description: git commit/tag/branch example: master referenceType: type: string enum: - COMMIT - TAG - BRANCH - NOT_APPLICABLE - UNSET size: type: integer format: int64 userFiles: type: array items: type: string valid: type: boolean validations: type: array items: $ref: '#/components/schemas/Validation' uniqueItems: true verified: type: boolean verifiedPlatforms: type: array description: Verified platforms for the version items: type: string description: Verified platforms for the version verifiedSource: type: string verifiedSources: type: array items: type: string versionEditor: $ref: '#/components/schemas/User' versionMetadata: $ref: '#/components/schemas/VersionMetadata' wdl_path: type: string workingDirectory: type: string required: - name - reference TaskExecutions: type: object allOf: - $ref: '#/components/schemas/Execution' - type: object properties: taskExecutions: type: array description: Metrics of individual tasks that were executed during the workflow execution. items: $ref: '#/components/schemas/RunExecution' description: Metrics of individual tasks that were executed during the workflow execution. required: - dateExecuted - executionId TimeSeriesMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: begins: type: string format: date-time description: Earliest time represented by this time series ends: type: string format: date-time description: Latest time represented by this time series id: type: integer format: int64 description: Implementation specific ID for metrics in this webservice interval: type: string description: Time between samples enum: - SECOND - MINUTE - HOUR - DAY - WEEK - MONTH - YEAR numberOfSkippedExecutions: type: integer format: int32 default: 0 description: The number of executions that were skipped during aggregation because they were invalid values: type: array description: "List of sample values, oldest values first" items: type: number format: double description: Sample value description: Describes a metric that consists of a series of data values sampled at evenly-spaced points in time required: - begins - ends - interval - values Token_Auth: type: object properties: content: type: string dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 id: type: integer format: int64 refreshToken: type: string token: type: string tokenSource: type: string enum: - quay.io - github.com - dockstore - bitbucket.org - gitlab.com - zenodo.org - google.com - orcid.org userId: type: integer format: int64 username: type: string Token_User: type: object properties: dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 id: type: integer format: int64 tokenSource: type: string enum: - quay.io - github.com - dockstore - bitbucket.org - gitlab.com - zenodo.org - google.com - orcid.org userId: type: integer format: int64 username: type: string Tool: type: object description: "A tool (or described tool) is defined as a tuple of a descriptor\ \ file (which potentially consists of multiple files), a set of container\ \ images, and a set of instructions for creating those images." properties: aliases: type: array description: Support for this parameter is optional for tool registries that support aliases. A list of strings that can be used to identify this tool which could be straight up URLs. This can be used to expose alternative ids (such as GUIDs) for a tool for registries. Can be used to match tools across registries. items: type: string description: Support for this parameter is optional for tool registries that support aliases. A list of strings that can be used to identify this tool which could be straight up URLs. This can be used to expose alternative ids (such as GUIDs) for a tool for registries. Can be used to match tools across registries. checker_url: type: string description: Optional url to the checker tool that will exit successfully if this tool produced the expected result given test data. description: type: string description: The description of the tool. has_checker: type: boolean description: Whether this tool has a checker tool associated with it. id: type: string description: "A unique identifier of the tool, scoped to this registry." example: "123456" meta_version: type: string description: "The version of this tool in the registry. Iterates when fields\ \ like the description, author, etc. are updated." name: type: string description: The name of the tool. organization: type: string description: The organization that published the image. toolclass: $ref: '#/components/schemas/ToolClass' url: type: string description: The URL for this tool in this registry. example: http://agora.broadinstitute.org/tools/123456 versions: type: array description: A list of versions for this tool. items: $ref: '#/components/schemas/ToolVersion' required: - id - organization - toolclass - url - versions ToolClass: type: object description: "Describes a class (type) of tool allowing us to categorize workflows,\ \ tasks, and maybe even other entities (such as services) separately." properties: description: type: string description: A longer explanation of what this class is and what it can accomplish. id: type: string description: The unique identifier for the class. name: type: string description: A short friendly name for the class. ToolClassV20beta: type: object properties: description: type: string id: type: string name: type: string ToolDescriptor: type: object properties: descriptor: type: string type: type: string enum: - CWL - WDL - NFL - GALAXY - SMK - SERVICE - JUPYTER url: type: string required: - type ToolDockerfile: type: object properties: dockerfile: type: string url: type: string ToolFile: type: object properties: checksum: $ref: '#/components/schemas/Checksum' dockstore_absolute_path: type: string description: Absolute path of the file. A descriptor's path can be used with zip from toolsIdVersionsVersionIdTypeFilesGet when format=zip is specified file_type: type: string enum: - TEST_FILE - PRIMARY_DESCRIPTOR - SECONDARY_DESCRIPTOR - CONTAINERFILE - OTHER path: type: string description: "Relative path of the file. A descriptor's path can be used\ \ with the GA4GH .../{type}/descriptor/{relative_path : .+} endpoint." ToolFileV20beta: type: object properties: file_type: type: string enum: - TEST_FILE - PRIMARY_DESCRIPTOR - SECONDARY_DESCRIPTOR - CONTAINERFILE - OTHER path: type: string ToolTesterLog: type: object properties: filename: type: string logType: type: string enum: - FULL - SUMMARY runner: type: string testFilename: type: string toolId: type: string toolVersionName: type: string ToolTestsV1: type: object properties: test: type: string url: type: string ToolV1: type: object properties: author: type: string contains: type: array items: type: string description: type: string id: type: string meta-version: type: string organization: type: string signed: type: boolean toolclass: $ref: '#/components/schemas/ToolClassV20beta' toolname: type: string url: type: string verified: type: boolean verified-source: type: string versions: type: array items: $ref: '#/components/schemas/ToolVersionV1' ToolV20beta: type: object properties: aliases: type: array items: type: string author: type: string checker_url: type: string contains: type: array items: type: string description: type: string has_checker: type: boolean id: type: string meta_version: type: string organization: type: string signed: type: boolean toolclass: $ref: '#/components/schemas/ToolClassV20beta' toolname: type: string url: type: string verified: type: boolean verified_source: type: string versions: type: array items: $ref: '#/components/schemas/ToolVersionV20beta' required: - author - id - organization - toolclass - url - versions ToolVersion: type: object description: A tool version describes a particular iteration of a tool as described by a reference to a specific image and/or documents. properties: author: type: array description: Contact information for the author of this version of the tool in the registry. (More complex authorship information is handled by the descriptor). items: type: string description: Contact information for the author of this version of the tool in the registry. (More complex authorship information is handled by the descriptor). containerfile: type: boolean description: "Reports if this tool has a containerfile available. (For Docker-based\ \ tools, this would indicate the presence of a Dockerfile)" descriptor_type: type: array description: The type (or types) of descriptors available. items: type: string description: The type (or types) of descriptors available. enum: - CWL - WDL - NFL - GALAXY - SMK - SERVICE - JUPYTER descriptor_type_version: type: object additionalProperties: type: array description: "A map providing information about the language versions\ \ used in this tool. The keys should be the same values used in the\ \ `descriptor_type` field, and the value should be an array of all the\ \ language versions used for the given `descriptor_type`. Depending\ \ on the `descriptor_type` (e.g. CWL) multiple version values may be\ \ used in a single tool." example: CWL: - v1.0.2 NFL: - DSL2 WDL: - "1.0" - "1.0" items: type: string description: "A map providing information about the language versions\ \ used in this tool. The keys should be the same values used in the\ \ `descriptor_type` field, and the value should be an array of all\ \ the language versions used for the given `descriptor_type`. Depending\ \ on the `descriptor_type` (e.g. CWL) multiple version values may\ \ be used in a single tool." example: "{\"WDL\":[\"1.0\",\"1.0\"],\"CWL\":[\"v1.0.2\"],\"NFL\":[\"\ DSL2\"]}" description: "A map providing information about the language versions used\ \ in this tool. The keys should be the same values used in the `descriptor_type`\ \ field, and the value should be an array of all the language versions\ \ used for the given `descriptor_type`. Depending on the `descriptor_type`\ \ (e.g. CWL) multiple version values may be used in a single tool." example: CWL: - v1.0.2 NFL: - DSL2 WDL: - "1.0" - "1.0" id: type: string description: An identifier of the version of this tool for this particular tool registry. example: v1 images: type: array description: "All known docker images (and versions/hashes) used by this\ \ tool. If the tool has to evaluate any of the docker images strings at\ \ runtime, those ones cannot be reported here." items: $ref: '#/components/schemas/ImageData' included_apps: type: array description: An array of IDs for the applications that are stored inside this tool. example: - https://bio.tools/tool/mytum.de/SNAP2/1 - https://bio.tools/bioexcel_seqqc items: type: string description: An array of IDs for the applications that are stored inside this tool. example: "[\"https://bio.tools/tool/mytum.de/SNAP2/1\",\"https://bio.tools/bioexcel_seqqc\"\ ]" is_production: type: boolean description: "This version of a tool is guaranteed to not change over time\ \ (for example, a tool built from a tag in git as opposed to a branch).\ \ A production quality tool is required to have a checksum" meta_version: type: string description: "The version of this tool version in the registry. Iterates\ \ when fields like the description, author, etc. are updated." name: type: string description: The name of the version. signed: type: boolean description: Reports whether this version of the tool has been signed. url: type: string description: The URL for this tool version in this registry. example: http://agora.broadinstitute.org/tools/123456/versions/1 verified: type: boolean description: Reports whether this tool has been verified by a specific organization or individual. verified_source: type: array description: "Source of metadata that can support a verified tool, such\ \ as an email or URL." items: type: string description: "Source of metadata that can support a verified tool, such\ \ as an email or URL." required: - id - url ToolVersionV1: type: object properties: descriptor-type: type: array items: type: string enum: - CWL - WDL dockerfile: type: boolean id: type: string image: type: string meta-version: type: string name: type: string url: type: string verified: type: boolean verified-source: type: string ToolVersionV20beta: type: object properties: containerfile: type: boolean descriptor_type: type: array items: type: string enum: - SMK - CWL - WDL - NFL - SERVICE - GXFORMAT2 id: type: string image: type: string image_name: type: string meta_version: type: string name: type: string registry_url: type: string url: type: string verified: type: boolean verified_source: type: string required: - id - url UpdateAITopicRequest: type: object description: The AI topic update request properties: aiTopic: type: string description: The AI topic required: - aiTopic User: type: object properties: avatarUrl: type: string curator: type: boolean description: Indicates whether this user is a curator. The value is always false unless requested for oneself or by an admin id: type: integer format: int64 isAdmin: type: boolean description: Indicates whether the user is an admin. The value is always false unless requested for oneself or by an admin metricsRobot: type: boolean metricsRobotPartner: type: string description: Indicates whether this user is a robot that submits metrics enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL name: type: string orcid: type: string platformPartner: type: string description: Indicates whether this account corresponds to a platform partner enum: - GALAXY - TERRA - DNA_STACK - DNA_NEXUS - CGC - NHLBI_BIODATA_CATALYST - ANVIL - CAVATICA - NEXTFLOW_TOWER - ELWAZI - AGC - TOIL - OTHER - ALL privacyPolicyVersion: type: string enum: - NONE - PRIVACY_POLICY_VERSION_2_5 privacyPolicyVersionAcceptanceDate: type: integer format: int64 setupComplete: type: boolean tosacceptanceDate: type: integer format: int64 tosversion: type: string enum: - NONE - TOS_VERSION_1 - TOS_VERSION_2 tosversionAcceptanceDate: type: integer format: int64 writeOnly: true userProfiles: type: object additionalProperties: $ref: '#/components/schemas/Profile' username: type: string usernameChangeRequired: type: boolean description: Indicates whether the user is required to change their username before being allowed to do various operations on Dockstore. UserInfo: type: object properties: dockstoreUsername: type: string thirdPartyEmail: type: string thirdPartyUsername: type: string tokenType: type: string UserNotification: type: object description: Notifications for a user properties: action: type: string description: The recommended action for the repository enum: - INFER_DOCKSTORE_YML dbCreateDate: type: integer format: int64 description: Timestamp at which the notification was created dbUpdateDate: type: integer format: int64 description: Timestamp at which the notification was last updated hidden: type: boolean description: Is the notification hidden? id: type: integer format: int64 description: ID for the notification user: $ref: '#/components/schemas/User' required: - action - hidden Validation: type: object properties: id: type: integer format: int64 message: type: string type: type: string enum: - DOCKSTORE_SMK - SMK_TEST_PARAMS - DOCKSTORE_CWL - CWL_TEST_JSON - DOCKSTORE_WDL - WDL_TEST_JSON - DOCKSTORE_WORKFLOW_OTHER - DOCKERFILE - NEXTFLOW - NEXTFLOW_CONFIG - NEXTFLOW_TEST_PARAMS - DOCKSTORE_YML - DOCKSTORE_SERVICE_YML - DOCKSTORE_SERVICE_TEST_JSON - DOCKSTORE_SERVICE_OTHER - DOCKSTORE_GXFORMAT2 - GXFORMAT2_TEST_FILE - DOCKSTORE_SWL - SWL_TEST_JSON - DOCKSTORE_JUPYTER - DOCKSTORE_NOTEBOOK_REES - DOCKSTORE_NOTEBOOK_DEVCONTAINER - DOCKSTORE_NOTEBOOK_TEST_FILE - DOCKSTORE_NOTEBOOK_OTHER valid: type: boolean ValidationExecution: type: object allOf: - $ref: '#/components/schemas/Execution' - type: object properties: errorMessage: type: string description: The error message for a failed validation by the validator tool isValid: type: boolean description: Boolean indicating if the workflow was validated successfully example: true validatorTool: type: string description: The validator tool used to validate the workflow enum: - MINIWDL - WOMTOOL - CWLTOOL - NF_VALIDATION - OTHER example: miniwdl validatorToolVersion: type: string description: The version of the validator tool description: Metrics of a workflow validated on a platform required: - dateExecuted - executionId - isValid - validatorTool - validatorToolVersion ValidationStatusMetric: type: object allOf: - $ref: '#/components/schemas/Metric' - type: object properties: validatorTools: type: object additionalProperties: $ref: '#/components/schemas/ValidatorInfo' description: A map containing key-value pairs indicating whether the validator tool successfully validated the workflow description: Aggregated metrics about workflow validation statuses required: - validatorTools ValidatorInfo: type: object description: Aggregated validation information for a particular validator tool like miniwdl properties: id: type: integer format: int64 mostRecentVersionName: type: string description: The version of the validator tool that was most recently executed numberOfRuns: type: integer format: int32 description: The number of times the validator was executed on the workflow example: 1 passingRate: type: number format: double description: A percentage representing how often the validator successfully validated the workflow example: 100.0 validatorVersions: type: array items: $ref: '#/components/schemas/ValidatorVersionInfo' uniqueItems: true required: - mostRecentVersionName - numberOfRuns - passingRate - validatorVersions ValidatorVersionInfo: type: object description: "Validation information for a version of a specific validator tool,\ \ like miniwdl v1.9.1" properties: dateExecuted: type: string description: The date and time that the validator tool was executed in ISO 8601 UTC date format example: 2023-03-31T15:06:49.888745366Z errorMessage: type: string description: The error message for a failed validation by the validator tool id: type: integer format: int64 isValid: type: boolean description: Boolean indicating if the workflow was validated successfully example: true name: type: string description: The version name of the validator tool numberOfRuns: type: integer format: int32 description: The number of times the validator was executed on the workflow example: 1 passingRate: type: number format: double description: A percentage representing how often the validator successfully validates the workflow example: 100.0 required: - dateExecuted - isValid - name - numberOfRuns - passingRate VerificationInformation: type: object properties: metadata: type: string platformVersion: type: string verified: type: boolean Version: type: object description: This describes a version of an entry in Dockstore properties: aiTopicProcessed: type: boolean author: type: string authors: type: array items: $ref: '#/components/schemas/Author' uniqueItems: true commitID: type: string dbUpdateDate: type: integer format: int64 descriptionSource: type: string enum: - README - CUSTOM_README - DESCRIPTOR descriptorTypeVersionsFromSourceFiles: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true writeOnly: true dirtyBit: type: boolean doiStatus: type: string enum: - NOT_REQUESTED - REQUESTED - CREATED doiURL: type: string dois: type: object additionalProperties: $ref: '#/components/schemas/Doi' description: The DOIs for the version of the entry email: type: string frozen: type: boolean hidden: type: boolean id: type: integer format: int64 images: type: array items: $ref: '#/components/schemas/Image' uniqueItems: true input_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true metricsByPlatform: type: object additionalProperties: $ref: '#/components/schemas/Metrics' name: type: string description: "Implementation specific, can be a quay.io or docker hub tag\ \ name" example: latest orcidAuthors: type: array items: $ref: '#/components/schemas/OrcidAuthor' uniqueItems: true output_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true readMePath: type: string reference: type: string description: git commit/tag/branch example: master referenceType: type: string enum: - COMMIT - TAG - BRANCH - NOT_APPLICABLE - UNSET userFiles: type: array items: type: string valid: type: boolean validations: type: array items: $ref: '#/components/schemas/Validation' uniqueItems: true verified: type: boolean verifiedPlatforms: type: array description: Verified platforms for the version items: type: string description: Verified platforms for the version verifiedSource: type: string verifiedSources: type: array items: type: string versionEditor: $ref: '#/components/schemas/User' versionMetadata: $ref: '#/components/schemas/VersionMetadata' workingDirectory: type: string required: - name - reference VersionMetadata: type: object properties: aiTopicProcessed: type: boolean description: True if Dockstore has processed this version for an AI topic descriptorTypeVersions: type: array items: type: string dois: type: object additionalProperties: $ref: '#/components/schemas/Doi' description: The DOIs for the version of the entry engineVersions: type: array items: type: string id: type: integer format: int64 latestMetricsAggregationDate: type: integer format: int64 description: The timestamp of the last metrics aggregation latestMetricsSubmissionDate: type: integer format: int64 description: The timestamp of the last metrics submission parsedInformationSet: type: array items: $ref: '#/components/schemas/ParsedInformation' publicAccessibleTestParameterFile: type: boolean description: Whether the version has everything needed to run without restricted access permissions userIdToOrcidPutCode: type: object additionalProperties: $ref: '#/components/schemas/OrcidPutCode' description: The presence of the put code for a userid indicates the version was exported to ORCID for the corresponding Dockstore user. VersionTypeValidation: type: object properties: message: type: object additionalProperties: type: string valid: type: boolean VersionVerifiedPlatform: type: object properties: metadata: type: string path: type: string platformVersion: type: string source: type: string verified: type: boolean versionId: type: integer format: int64 WebhookRelease: type: object description: Details about the release properties: published_at: type: string format: date-time tag_name: type: string description: Name of the tag associated with the release example: mytag required: - tag_name WebhookRepository: type: object description: The repository where the GitHub webhook event occurred properties: full_name: type: string description: Full name of the GitHub repository example: dockstore/dockstore-ui2 required: - full_name Workflow: type: object description: This describes one workflow in the dockstore discriminator: propertyName: type properties: aliases: type: object additionalProperties: $ref: '#/components/schemas/Alias' approvedAITopic: type: boolean description: Indicates if the topicAI has been approved by the user archived: type: boolean authors: type: array description: "Non-ORCID authors for the entry, retrieved from the default\ \ version" items: $ref: '#/components/schemas/Author' readOnly: true uniqueItems: true autoGenerateDois: type: boolean description: Whether to automatically generate DOIs for GitHub tags checker_id: type: integer format: int64 conceptDoi: type: string deprecated: true description: The Digital Object Identifier (DOI) representing all of the versions of your workflow conceptDois: type: object additionalProperties: $ref: '#/components/schemas/Doi' description: The Digital Object Identifier (DOI) representing all of the versions of your workflow dbCreateDate: type: integer format: int64 dbUpdateDate: type: integer format: int64 defaultTestParameterFilePath: type: string defaultVersion: type: string deletable: type: boolean description: type: string descriptorType: type: string enum: - SMK - CWL - WDL - gxformat2 - SWL - NFL - service - jupyter descriptorTypeSubclass: type: string enum: - docker-compose - helm - swarm - kubernetes - Python - R - Javascript - Scala - Julia - other - n/a doiSelection: type: string description: The Digital Object Identifier (DOI) to display publicly enum: - USER - DOCKSTORE - GITHUB entryType: $ref: '#/components/schemas/EntryType' entryTypeMetadata: $ref: '#/components/schemas/EntryTypeMetadata' forumUrl: type: string maxLength: 256 minLength: 0 full_workflow_path: type: string gitUrl: type: string has_checker: type: boolean id: type: integer format: int64 input_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true isChecker: type: boolean is_published: type: boolean labels: type: array items: $ref: '#/components/schemas/Label' uniqueItems: true lastUpdated: type: integer format: int64 last_modified: type: integer format: int32 last_modified_date: type: integer format: int64 latestReleaseDate: type: integer format: int64 description: "The timestamp of the most recent version control release,\ \ such as a GitHub release" licenseInformation: $ref: '#/components/schemas/LicenseInformation' metadataFromEntry: $ref: '#/components/schemas/Workflow' metadataFromVersion: $ref: '#/components/schemas/Version' metricsByPlatform: type: object additionalProperties: $ref: '#/components/schemas/Metrics' mode: type: string enum: - FULL - STUB - HOSTED - DOCKSTORE_YML orcidAuthors: type: array description: "ORCID authors for the entry, retrieved from the default version" items: $ref: '#/components/schemas/OrcidAuthor' readOnly: true uniqueItems: true organization: type: string output_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true path: type: string repository: type: string sourceControl: type: string enum: - dockstore.org - github.com - bitbucket.org - gitlab.com source_control_provider: type: string starredUsers: type: array items: $ref: '#/components/schemas/User' uniqueItems: true topic: type: string topicAI: type: string description: Short description of the entry generated by AI maxLength: 250 topicAutomatic: type: string description: Short description of the entry gotten automatically maxLength: 250 topicId: type: integer format: int64 topicManual: type: string description: Short description of the entry manually updated maxLength: 250 topicSelection: type: string description: Which topic to display to the public users enum: - AUTOMATIC - MANUAL - AI trsId: type: string type: type: string userIdToOrcidPutCode: type: object additionalProperties: $ref: '#/components/schemas/OrcidPutCode' description: The presence of the put code for a userid indicates the entry was exported to ORCID for the corresponding Dockstore user. users: type: array items: $ref: '#/components/schemas/User' uniqueItems: true workflowName: type: string maxLength: 256 minLength: 0 workflowVersions: type: array items: $ref: '#/components/schemas/WorkflowVersion' uniqueItems: true workflow_path: type: string required: - type WorkflowAndVersion: type: object properties: version: $ref: '#/components/schemas/Version' workflow: $ref: '#/components/schemas/Workflow' WorkflowSubClass: type: string enum: - BIOWORKFLOW - SERVICE - APPTOOL - NOTEBOOK WorkflowVersion: type: object description: This describes one workflow version associated with a workflow. properties: aiTopicProcessed: type: boolean aliases: type: object additionalProperties: $ref: '#/components/schemas/Alias' author: type: string authors: type: array items: $ref: '#/components/schemas/Author' uniqueItems: true commitID: type: string dbUpdateDate: type: integer format: int64 descriptionSource: type: string enum: - README - CUSTOM_README - DESCRIPTOR descriptorTypeVersionsFromSourceFiles: type: array items: $ref: '#/components/schemas/SourceFile' uniqueItems: true writeOnly: true dirtyBit: type: boolean doiStatus: type: string enum: - NOT_REQUESTED - REQUESTED - CREATED doiURL: type: string dois: type: object additionalProperties: $ref: '#/components/schemas/Doi' description: The DOIs for the version of the entry email: type: string frozen: type: boolean hidden: type: boolean id: type: integer format: int64 images: type: array items: $ref: '#/components/schemas/Image' uniqueItems: true input_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true kernelImagePath: type: string description: User-specified notebook kernel image reference last_modified: type: integer format: int64 legacyVersion: type: boolean metricsByPlatform: type: object additionalProperties: $ref: '#/components/schemas/Metrics' name: type: string description: "Implementation specific, can be a quay.io or docker hub tag\ \ name" example: latest orcidAuthors: type: array items: $ref: '#/components/schemas/OrcidAuthor' uniqueItems: true output_file_formats: type: array items: $ref: '#/components/schemas/FileFormat' uniqueItems: true readMePath: type: string reference: type: string description: git commit/tag/branch example: master referenceType: type: string enum: - COMMIT - TAG - BRANCH - NOT_APPLICABLE - UNSET synced: type: boolean userFiles: type: array items: type: string valid: type: boolean validations: type: array items: $ref: '#/components/schemas/Validation' uniqueItems: true verified: type: boolean verifiedPlatforms: type: array description: Verified platforms for the version items: type: string description: Verified platforms for the version verifiedSource: type: string verifiedSources: type: array items: type: string versionEditor: $ref: '#/components/schemas/User' versionMetadata: $ref: '#/components/schemas/VersionMetadata' workflow_path: type: string workingDirectory: type: string required: - name - reference WorkflowVersionPathInfo: type: object properties: entryType: $ref: '#/components/schemas/EntryType' entryTypeMetadata: $ref: '#/components/schemas/EntryTypeMetadata' fullWorkflowPath: type: string description: Dockstore path to workflow tagName: type: string description: Name of workflow version tag securitySchemes: BEARER: scheme: bearer type: http