openapi: 3.2.0 info: title: Dataset-JSON Studies API description: CDISC Dataset-JSON Standard API license: name: MIT url: https://opensource.org/license/mit/ version: '1.0' tags: - name: Studies paths: /studies: get: summary: Get the list of studies operationId: studies_studies_get parameters: - name: api-key in: header required: true schema: type: string title: Api-Key responses: '200': description: The list of studies content: application/json: schema: type: array items: $ref: '#/components/schemas/Studies' title: Response Studies Studies Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies post: summary: Create a new study operationId: add_study_studies_post parameters: - name: api-key in: header required: true schema: type: string title: Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StudyRequest' responses: '201': description: The created study content: application/json: schema: $ref: '#/components/schemas/Study' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}: get: summary: Get a study operationId: study_studies__studyOID__get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '200': description: The requested study content: application/json: schema: $ref: '#/components/schemas/Study' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies put: summary: Update a study operationId: update_study_studies__studyOID__put parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: api-key in: header required: true schema: type: string title: Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StudyRequest' responses: '200': description: The updated study content: application/json: schema: $ref: '#/components/schemas/Study' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies delete: summary: Delete a study operationId: delete_study_studies__studyOID__delete parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '204': description: No content '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/snapshots: post: summary: Create a new study snapshot operationId: add_snapshot_studies__studyOID__snapshots_post parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: label in: query required: false schema: type: string title: Label - name: api-key in: header required: true schema: type: string title: Api-Key responses: '201': description: Study snapshot created content: application/json: schema: $ref: '#/components/schemas/Study' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies get: summary: Get the list of snapshots for a study operationId: snapshots_studies__studyOID__snapshots_get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '200': description: The list of snapshots for a study content: application/json: schema: type: array items: $ref: '#/components/schemas/Snapshot' title: Response Snapshots Studies Studyoid Snapshots Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/snapshots/{snapshotID}: get: summary: Get a snapshot operationId: snapshot_studies__studyOID__snapshots__snapshotID__get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: snapshotID in: path required: true schema: type: string title: Snapshotid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '200': description: The requested snapshot content: application/json: schema: $ref: '#/components/schemas/Study' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies delete: summary: Delete a snapshot operationId: delete_snapshot_studies__studyOID__snapshots__snapshotID__delete parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: snapshotID in: path required: true schema: type: string title: Snapshotid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '204': description: No content '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/snapshots/{snapshotID}/datasets/{datasetOID}: get: summary: Get a snapshot dataset operationId: dataset_studies__studyOID__snapshots__snapshotID__datasets__datasetOID__get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: snapshotID in: path required: true schema: type: string title: Snapshotid - name: datasetOID in: path required: true schema: type: string title: Datasetoid - name: metadataonly in: query required: false schema: anyOf: - type: boolean - type: 'null' default: false title: Metadataonly - name: dataonly in: query required: false schema: anyOf: - type: boolean - type: 'null' default: false title: Dataonly - name: offset in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Offset - name: limit in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Limit - name: api-key in: header required: true schema: type: string title: Api-Key - name: accept-encoding in: header required: false schema: anyOf: - type: string - type: 'null' default: '' title: Accept-Encoding - name: if-modified-since in: header required: false schema: anyOf: - type: string - type: 'null' default: '' title: If-Modified-Since responses: '200': description: The requested snapshot dataset content content: application/json: schema: $ref: '#/components/schemas/DatasetJson' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/datasets: get: summary: Get the list of datasets for a study operationId: datasets_studies__studyOID__datasets_get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: standard in: query required: false schema: anyOf: - type: string - type: 'null' title: Standard - name: api-key in: header required: true schema: type: string title: Api-Key - name: if-modified-since in: header required: false schema: anyOf: - type: string - type: 'null' default: '' title: If-Modified-Since responses: '200': description: List of datasets for a study content: application/json: schema: type: array items: $ref: '#/components/schemas/StudyDataset' title: Response Datasets Studies Studyoid Datasets Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies post: summary: Create a new dataset operationId: post_dataset_studies__studyOID__datasets_post parameters: - name: standard in: query required: false schema: anyOf: - type: string - type: 'null' default: '' title: Standard - name: api-key in: header required: true schema: type: string title: Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DatasetJson' responses: '201': description: Study dataset metadata (not the entire dataset) content: application/json: schema: $ref: '#/components/schemas/StudyDataset' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/datasets/{datasetOID}: get: summary: Get a dataset operationId: dataset_studies__studyOID__datasets__datasetOID__get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: datasetOID in: path required: true schema: type: string title: Datasetoid - name: metadataonly in: query required: false schema: anyOf: - type: boolean - type: 'null' default: false title: Metadataonly - name: dataonly in: query required: false schema: anyOf: - type: boolean - type: 'null' default: false title: Dataonly - name: offset in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Offset - name: limit in: query required: false schema: anyOf: - type: integer - type: 'null' default: 0 title: Limit - name: api-key in: header required: true schema: type: string title: Api-Key - name: accept-encoding in: header required: false schema: anyOf: - type: string - type: 'null' default: '' title: Accept-Encoding - name: if-modified-since in: header required: false schema: anyOf: - type: string - type: 'null' default: '' title: If-Modified-Since responses: '200': description: The requested dataset content content: application/json: schema: $ref: '#/components/schemas/DatasetJson' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies put: summary: Update a dataset operationId: update_dataset_studies__studyOID__datasets__datasetOID__put parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: datasetOID in: path required: true schema: type: string title: Datasetoid - name: standard in: query required: false schema: anyOf: - type: string - type: 'null' default: '' title: Standard - name: api-key in: header required: true schema: type: string title: Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DatasetJson' responses: '200': description: Updated dataset metadata (not the entire dataset) content: application/json: schema: $ref: '#/components/schemas/StudyDataset' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies patch: summary: Append records to a dataset operationId: append_dataset_studies__studyOID__datasets__datasetOID__patch parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: datasetOID in: path required: true schema: type: string title: Datasetoid - name: api-key in: header required: true schema: type: string title: Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RowData' responses: '200': description: Updated dataset metadata (not the entire dataset) content: application/json: schema: $ref: '#/components/schemas/StudyDataset' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies delete: summary: Delete a dataset operationId: delete_dataset_studies__studyOID__datasets__datasetOID__delete parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: datasetOID in: path required: true schema: type: string title: Datasetoid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '204': description: No content '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/datasets/{datasetOID}/$export: get: summary: Export a dataset to NDJSON (async) operationId: export_dataset_studies__studyOID__datasets__datasetOID___export_get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: datasetOID in: path required: true schema: type: string title: Datasetoid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '202': description: A link to retrieve the exported NDJSON dataset content: application/json: schema: $ref: '#/components/schemas/Link' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/datasets/{datasetOID}/ndjson: get: summary: Download NDJSON dataset as a stream operationId: download_dataset_stream_studies__studyOID__datasets__datasetOID__ndjson_get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: datasetOID in: path required: true schema: type: string title: Datasetoid - name: api-key in: header required: true schema: type: string title: Api-Key - name: accept-encoding in: header required: false schema: anyOf: - type: string - type: 'null' default: '' title: Accept-Encoding responses: '200': description: NDJSON stream content: application/x-ndjson: schema: anyOf: - $ref: '#/components/schemas/DatasetJsonMetadata' - $ref: '#/components/schemas/OneRowData' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/defines: post: summary: Create a new Define-XML file operationId: add_define_studies__studyOID__defines_post parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: api-key in: header required: true schema: type: string title: Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DefinePayload' responses: '201': description: Link to the Define-XML content: application/json: schema: $ref: '#/components/schemas/MetaDataRef' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies get: summary: Get the list of Define-XML files for a study operationId: defines_studies__studyOID__defines_get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: api-key in: header required: true schema: type: string title: Api-Key responses: '200': description: List of Define-XMLs for a study content: application/json: schema: type: array items: $ref: '#/components/schemas/MetaDataRef' title: Response Defines Studies Studyoid Defines Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies /studies/{studyOID}/defines/{label}: get: summary: Get a Define-XML operationId: define_studies__studyOID__defines__label__get parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: label in: path required: true schema: type: string title: Label - name: api-key in: header required: true schema: type: string title: Api-Key responses: '200': description: The requested Define-XML content: application/json: schema: $ref: '#/components/schemas/DefinePayload' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies put: summary: Update a Define-XML operationId: update_define_studies__studyOID__defines__label__put parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: label in: path required: true schema: type: string title: Label - name: api-key in: header required: true schema: type: string title: Api-Key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DefinePayload' responses: '200': description: Link to Define-XML content: application/json: schema: $ref: '#/components/schemas/MetaDataRef' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies delete: summary: Delete a Define-XML operationId: delete_define_studies__studyOID__defines__label__delete parameters: - name: studyOID in: path required: true schema: type: string title: Studyoid - name: label in: path required: true schema: type: string title: Label - name: api-key in: header required: true schema: type: string title: Api-Key responses: '204': description: No content '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Studies components: schemas: Snapshot: properties: label: anyOf: - type: string - type: 'null' title: Label snapshotID: type: string title: Snapshotid snapshotCreationDateTime: type: string format: date-time title: Snapshotcreationdatetime href: type: string title: Href type: object required: - label - snapshotID - snapshotCreationDateTime - href title: Snapshot description: 'Metadata reference for a study Define-XML file ' ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError SourceSystem: properties: name: type: string title: Name version: type: string title: Version type: object required: - name - version title: SourceSystem DefinePayload: properties: label: type: string title: Label defineXML: type: string title: Definexml type: object required: - label - defineXML title: DefinePayload description: 'Define-XML payload for a study ' Column: properties: itemOID: type: string title: Itemoid name: type: string title: Name label: type: string title: Label dataType: type: string enum: - string - integer - decimal - float - double - boolean - datetime - date - time - URI title: Datatype targetDataType: anyOf: - type: string enum: - integer - decimal - type: 'null' title: Targetdatatype length: anyOf: - type: integer - type: 'null' title: Length displayFormat: anyOf: - type: string - type: 'null' title: Displayformat keySequence: anyOf: - type: integer - type: 'null' title: Keysequence type: object required: - itemOID - name - label - dataType title: Column description: 'Dataset column, or variable, metadata - one Item per column in the dataset ' Studies: properties: studyOID: type: string title: Studyoid name: type: string title: Name label: type: string title: Label standards: anyOf: - items: type: string enum: - sdtmig - sendig - adamig - other type: array - type: 'null' title: Standards href: type: string title: Href metaDataRef: anyOf: - items: $ref: '#/components/schemas/MetaDataRef' type: array - type: 'null' title: Metadataref studyCreationDateTime: anyOf: - type: string format: date-time - type: 'null' title: Studycreationdatetime default: '2025-11-17T20:09:33.995555Z' type: object required: - studyOID - name - label - href title: Study description: 'Study metadata for each study with associated Dataset-JSON datasets ' RowData: properties: rows: type: array items: type: array items: {} title: Rows type: object title: RowData description: 'Dataset-JSON records to append to an existing dataset ' DatasetJson: properties: datasetJSONCreationDateTime: anyOf: - type: string format: date-time - type: 'null' title: Datasetjsoncreationdatetime default: '2025-11-17T20:09:33.999933Z' datasetJSONVersion: type: string enum: - '1.1' - 1.1.0 - 1.1.1 - 1.1.2 - 1.1.3 - 1.1.4 - 1.1.5 title: Datasetjsonversion fileOID: anyOf: - type: string - type: 'null' title: Fileoid dbLastModifiedDateTime: anyOf: - type: string format: date-time - type: 'null' title: Dblastmodifieddatetime originator: anyOf: - type: string - type: 'null' title: Originator sourceSystem: anyOf: - $ref: '#/components/schemas/SourceSystem' - type: 'null' studyOID: type: string title: Studyoid metaDataVersionOID: anyOf: - type: string - type: 'null' title: Metadataversionoid metaDataRef: anyOf: - type: string - type: 'null' title: Metadataref itemGroupOID: type: string title: Itemgroupoid records: anyOf: - type: integer - type: 'null' title: Records default: 0 name: type: string title: Name label: type: string title: Label columns: items: $ref: '#/components/schemas/Column' type: array title: Columns rows: type: array items: type: array items: {} title: Rows type: object required: - datasetJSONVersion - studyOID - itemGroupOID - name - label - columns title: DatasetJson description: 'Dataset-JSON dataset model, including metadata and data ' Study: properties: studyOID: type: string title: Studyoid name: type: string title: Name label: type: string title: Label standards: anyOf: - items: type: string enum: - sdtmig - sendig - adamig - other type: array - type: 'null' title: Standards href: type: string title: Href metaDataRef: anyOf: - items: $ref: '#/components/schemas/MetaDataRef' type: array - type: 'null' title: Metadataref snapshots: anyOf: - items: $ref: '#/components/schemas/Snapshot' type: array - type: 'null' title: Snapshots studyCreationDateTime: anyOf: - type: string format: date-time - type: 'null' title: Studycreationdatetime default: '2025-11-17T20:09:33.995555Z' datasets: anyOf: - items: $ref: '#/components/schemas/StudyDataset' type: array - type: 'null' title: Datasets type: object required: - studyOID - name - label - href title: Study description: 'Study metadata for each study with associated Dataset-JSON datasets ' MetaDataRef: properties: label: type: string title: Label href: type: string title: Href type: object required: - label - href title: MetaDataRef description: 'Metadata reference for a study Define-XML file ' HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Link: properties: name: type: string title: Name href: type: string title: Href type: object required: - name - href title: Link description: 'API links to related content ' DatasetJsonMetadata: properties: datasetJSONCreationDateTime: anyOf: - type: string format: date-time - type: 'null' title: Datasetjsoncreationdatetime default: '2025-11-17T20:09:33.999933Z' datasetJSONVersion: type: string enum: - '1.1' - 1.1.0 - 1.1.1 - 1.1.2 - 1.1.3 - 1.1.4 - 1.1.5 title: Datasetjsonversion fileOID: anyOf: - type: string - type: 'null' title: Fileoid dbLastModifiedDateTime: anyOf: - type: string format: date-time - type: 'null' title: Dblastmodifieddatetime originator: anyOf: - type: string - type: 'null' title: Originator sourceSystem: anyOf: - $ref: '#/components/schemas/SourceSystem' - type: 'null' studyOID: type: string title: Studyoid metaDataVersionOID: anyOf: - type: string - type: 'null' title: Metadataversionoid metaDataRef: anyOf: - type: string - type: 'null' title: Metadataref itemGroupOID: type: string title: Itemgroupoid records: anyOf: - type: integer - type: 'null' title: Records default: 0 name: type: string title: Name label: type: string title: Label columns: items: $ref: '#/components/schemas/Column' type: array title: Columns type: object required: - datasetJSONVersion - studyOID - itemGroupOID - name - label - columns title: DatasetJson Metadata description: Dataset-JSON metadata model StudyRequest: properties: studyOID: type: string title: Studyoid name: type: string title: Name label: type: string title: Label standards: anyOf: - items: type: string enum: - sdtmig - sendig - adamig - other type: array - type: 'null' title: Standards type: object required: - studyOID - name - label - href title: StudyRequest description: 'Study metadata submitted when posting a new study ' StudyDataset: properties: itemGroupOID: type: string title: Itemgroupoid name: type: string title: Name label: type: string title: Label standard: anyOf: - type: string enum: - sdtmig - sendig - adamig - other - '' - type: 'null' title: Standard records: type: integer title: Records href: type: string title: Href datasetJSONCreationDateTime: anyOf: - type: string format: date-time - type: 'null' title: Datasetjsoncreationdatetime default: '2025-11-17T20:09:33.993457Z' type: object required: - itemGroupOID - name - label - records - href title: StudyDataset description: 'Dataset metadata maintained for each dataset associated with a study ' OneRowData: type: array items: {} title: NDJSON RowData description: 'Dataset-NDJSON records to append to an existing dataset '