Information submitted through the support site is private but is not hosted within your secure CDD Vault. Please do not include sensitive intellectual property in your support requests.

JSON Object Representation

CDD objects (such as molecules or batches) are represented externally using JSON.

Objects are represented by JSON dictionaries. Top-level (“resource”) objects and some others include fields for class and id that uniquely identify this object. Resource level objects include molecules, batches, protocols, and plates.

Standard fields


These fields appear on all resource-level objects:


the class of this resource, eg “batch”


the integer id of this resource


The creation date of the object, eg “2010-05-01"


The modification date of the object


The fields in the top-level JSON dictionary are as follows:

Total number of objects that match the query criteria
The maximum number of objects returned in this call (the actual number returned may be less). This number can be specified with the page_size parameter.
The index of the first object actually returned. This number can be specified with the offset parameter.
The actual objects returned, in a JSON array.


An object's JSON representation is a dictionary which contains fields and their values. Values can be primitives (numbers, strings), lists (denoted with square brackets), or other objects (dictionaries, denoted with curly braces).

For example, here is a (simplified) representation of a molecule: 

  "class": "molecule",
  "id": 23,
  "name": "Benzene",
  "modified_at": "1999-01-01",
  "created_at": "1999-01-01",
  "smiles": "C1=CC=CC=C1" 

In particular, note the class and id fields. Together, these uniquely identify a CDD object.

For each major resource object (currently molecules, batches, protocols), there are two separate API calls, one to retrieve an individual object and another to retrieve a set of objects.

An individual object call returns the JSON dictionary for that object.

A set call returns a JSON dictionary containing control fields, with the actual objects returned in the value of the objects field. For example:

{"count": 237,
 "offset": 0,
 "page_size": 50,
 "objects": [{"id": 2343, "class": "molecule", "name": "Quinine"...}, 
             {"id": 2356, "class": "molecule", "name", "Morphine"...},


Have more questions? Submit a request


Please sign in to leave a comment.