Skip to content

Get info about a DrsObject.

GET
/objects/{object_id}

Returns object metadata, and a list of access methods that can be used to fetch object bytes.

Authorizations

Parameters

Path Parameters

object_id
required
string format: path

DrsObject identifier

Query Parameters

expand
boolean

If false and the object_id refers to a bundle, then the ContentsObject array contains only those objects directly contained in the bundle. That is, if the bundle contains other bundles, those other bundles are not recursively included in the result. If true and the object_id refers to a bundle, then the entire set of objects in the bundle is expanded. That is, if the bundle contains aother bundles, then those other bundles are recursively expanded and included in the result. Recursion continues through the entire sub-tree of the bundle. If the object_id refers to a blob, then the query parameter is ignored.

Responses

200

The DrsObject was found successfully

One of:

A DrsObject that describes a bundled genomic data entity. It usually will consist of a genomic data file, e.g. a variant or read file, and its associated index file. Its contents should also include any associated Samples (as SampleContentObjects), ordered in order of appearance in the associated variant/read files.

object
id
required

The descriptor for this genomic data entity

string
name

The filename for this entity, not including its file extensions. This string is made up of uppercase and lowercase letters, decimal digits, hypen, period, and underscore [A-Za-z0-9.-_]. See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable filenames].

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 comprise this genomic DRS entity. Should contain a GenomicDataContentsObject, an optional GenomicIndexContentsObject, and SampleContentsObjects corresponding to the samples analyzed in the genomic data object.

Array
>= 1 items
Any of:
object
name
required

The full filename of the genomic data file, including extensions.

string
id
required
string
Allowed values: variant read
drs_uri

The DRS uri(s) to the GenomicDataDrsObject

Array<string>
description
required

Type of sequencing data

string
Allowed values: wgs wts
cohort
required

The cohort this object was ingested as part of

string
reference_genome
required

The reference genome used to compile this genomic object

string
Allowed values: hg37 hg38
indexed

1 if the object has been indexed for search, 0 if not

integer
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>