Skip to content

Instantly share code, notes, and snippets.

@blankdots
Created May 14, 2020 07:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blankdots/437f1f540fe61093af6cef4dfcd2d496 to your computer and use it in GitHub Desktop.
Save blankdots/437f1f540fe61093af6cef4dfcd2d496 to your computer and use it in GitHub Desktop.
openapi: 3.0.0
info:
description: SDA orchestrator API for standalone Sensitive Data Archive
version: "1.0"
title: SDA Orchestrator API
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0
tags:
- name: trigger
description: Triggers for ingestion
- name: stats
description: SDA Statistics
- name: submission
description: Submissions Metadata
paths:
"/trigger/ingest":
post:
tags:
- trigger
summary: ingestFile
operationId: getFileUsingGET
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IngestBody'
responses:
"200":
description: OK
"401":
description: Unauthorized
"403":
description: Forbidden
"404":
description: Not Found
"/trigger/finalize/file":
post:
tags:
- trigger
summary: finalizeSubmission
operationId: postFinalizeFile
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FileFinalizeBody'
responses:
"200":
description: OK
"401":
description: Unauthorized
"403":
description: Forbidden
"404":
description: Not Found
"/trigger/finalize/dataset":
post:
tags:
- trigger
summary: finalizeSubmission
operationId: postFinalizeDataset
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetFinalizeBody'
responses:
"200":
description: OK
"401":
description: Unauthorized
"403":
description: Forbidden
"404":
description: Not Found
"/stats/broker":
get:
tags:
- stats
summary: MQBrokerStatistics
operationId: statsBroker
parameters:
- name: status
in: path
description: status
required: true
schema:
type: string
enum: ["inbox", "completed", "error"]
responses:
"200":
description: OK
"401":
description: Unauthorized
"403":
description: Forbidden
"404":
description: Not Found
"/stats/file":
get:
tags:
- stats
summary: fileStatistics
operationId: statsFile
parameters:
- name: status
in: path
description: status
required: true
schema:
type: string
enum: ["ready", "disabled", "error"]
- name: user
in: path
description: userID
required: true
schema:
type: string
responses:
"200":
description: OK
"401":
description: Unauthorized
"403":
description: Forbidden
"404":
description: Not Found
"/metadata/{datasetID}":
get:
tags:
- submission
summary: datasetSubmissions
operationId: datasetMetadata
parameters:
- name: datasetID
in: path
description: Unique datasetID
schema:
type: string
required: true
responses:
"200":
description: OK
"401":
description: Unauthorized
"403":
description: Forbidden
"404":
description: Not Found
"/metadata/{fileID}":
get:
tags:
- submission
summary: fileSubmissions to dataset mappings
operationId: fileMetadata
parameters:
- name: fileID
in: path
description: Unique fileid
schema:
type: string
required: true
responses:
"200":
description: OK
"401":
description: Unauthorized
"403":
description: Forbidden
"404":
description: Not Found
components:
schemas:
IngestBody:
description: Ingest information, one of md5 or sha256 required
type: object
required:
- file
- inboxPath
properties:
file:
type: string
example: file.c4gh
inboxPath:
type: string
example: /user/file.c4gh
md5:
type: string
example: f365915
sha256:
type: string
example: 1725618350240916dgjh
FileFinalizeBody:
description: Finalize information
type: object
required:
- file
- inboxPath
- fileChecksum
- fileID
properties:
file:
type: string
example: file.c4gh
inboxPath:
type: string
example: /user/file.c4gh
fileChecksum:
type: string
example: 1725618350240916dgjh
fileID:
type: string
example: EGAF385285
DatasetFinalizeBody:
description: Finalize information
type: object
required:
- fileID
- datasetID
properties:
datasetID:
type: string
example: EGAD948
fileID:
type: string
example: EGAF385285
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment