Skip to content

Add a DrsObject to the db

POST
/objects

Authorizations

Request Body

Any of:

A DrsObject that describes the clinical sample used for genomic analysis.

object
id
required

The identifier for the sample, as defined in sample_registration in the MOHCCN data model.

string
self_uri

A drs:// hostname-based URI, as defined in the DRS documentation, that tells clients how to access this object. The intent of this field is to make DRS objects self-contained, and therefore easier for clients to store and pass around. For example, if you arrive at this DRS JSON by resolving a compact identifier-based DRS URI, the self_uri presents you with a hostname and properly encoded DRS ID for use in subsequent access endpoint calls.

string
drs://drs.example.org/314159
size

The cumulative size, in bytes, of items in the contents field.

integer format: int64
created_time

Timestamp of content creation in RFC3339. (This is the creation time of the underlying content, not of the JSON object.)

string format: date-time
updated_time

Timestamp of content update in RFC3339, identical to created_time in systems that do not support updates. (This is the update time of the underlying content, not of the JSON object.)

string format: date-time
version

A string representing a version. (Some systems may use checksum, a RFC3339 timestamp, or an incrementing version number.)

string
checksums

The checksum of the DrsObject. At least one checksum must be provided. For blobs, the checksum is computed over the bytes in the blob. For bundles, the checksum is computed over a sorted concatenation of the checksums of its top-level contained objects (not recursive, names not included). The list of checksums is sorted alphabetically (hex-code) before concatenation and a further checksum is performed on the concatenated checksum value. For example, if a bundle contains blobs with the following checksums: md5(blob1) = 72794b6d md5(blob2) = 5e089d29 Then the checksum of the bundle is: md5( concat( sort( md5(blob1), md5(blob2) ) ) ) = md5( concat( sort( 72794b6d, 5e089d29 ) ) ) = md5( concat( 5e089d29, 72794b6d ) ) = md5( 5e089d2972794b6d ) = f7a29a04

Array<object>
object
checksum
required

The hex-string encoded checksum for the data

string
type
required

The digest method used to create the checksum. The value (e.g. sha-256) SHOULD be listed as Hash Name String in the https://www.iana.org/assignments/named-information/named-information.xhtml#hash-alg[IANA Named Information 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. Until then, if implementors do choose such an algorithm (e.g. because it’s implemented by their storage provider), they SHOULD use an existing standard type value such as md5, etag, crc32c, trunc512, or sha1.

string
sha-256
contents
required

The specific genomic contents objects that were generated from this sample.

Array<object>
>= 1 items
object
name
required

The identifier of the genomic object

string
id
required

The identifier of the genomic object

string
drs_uri

The DRS uri(s) to the GenomicDrsObject

Array<string>
description
required
string
Allowed values: sample
cohort
required

The cohort this object was ingested as part of

string
aliases

A list of strings that can be used to find other metadata about this DrsObject from external metadata sources. These aliases can be used to represent secondary accession numbers or external GUIDs.

Array<string>

Responses

200

The DrsObject was found successfully

object