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.
Collaborative Drug Discovery provides a restful API (Application Programming Interface) that can be used for secure programmatic access to your vault data. Using the API, client applications such as Microsoft Office, Pipeline Pilot, Knime and others can be configured to directly access and process chemical and biological data from the CDD Vault.
### Reading
The CDD API provides fine-grained read access to individual objects (eg, molecules, batches, protocols) and collections of objects. Objects are exported using [the JSON representation framework](https://en.wikipedia.org/wiki/JSON).
### Writing
The API supports creation and modification of objects. These are done through POST and PUT calls, respectively.
For both POSTs and PUTs, the body of the HTTPS request is a JSON dictionary in a format similar to that returned from a GET. However, only a subset of fields are allowed. For PUTs, fields in the stored object that are not specified in the JSON should not be affected. For some resources, making a PUT call with an empty projects array (`"projects": []`) will delete the object.
- **Non-registration vaults**
In non-registration vaults, batches and molecules are created separately.
- **Registration vaults**
In registration vaults, you cannot create molecules independently from batches. Therefore, the POST molecule HTTP call is not supported. Instead, to create a new object you must do a POST of a batch with a contained molecule specification (which can be a new or existing molecule).