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.

API via Knime - the basics

You would like to access your Vault via the API in Knime by means other than the original CDD-plugin.

Here we give you a short introduction on how to use the API in Knime via the GET Request node. This node is part of the "KNIME LABS > REST Web Services" package.

Open via right click the Configure option (or use F6) with the GET Request node. In the first tab Connection Settings In the URL column write

https://app.collaborativedrug.com/api/v1/vaults/######/searches

where ###### is the number from your particular vault. You can retrieve this number from your browser when you are logged into your vault. In your address bar it should say something like this:

Knime_Get_request_0_.PNG

The yellow highlighted number is your Vault ID.

Knime_Get_request_1_.PNG

Next you need to set up the authentication. Since the API access is token based, we skip the Authentication tab (it should state "None"), and select the Request Headers tab instead. The CDD Vault API Token is generated by logging into CDD Vault and going to the Settings > User > API Keys menu.

In this section you click on 

"Add header parameter", fill out the form with: 

Header key = X-CDD-Token

Header value = xxxxxxxxxxxxx (this value is the API key from your Vault settings)

Value kind = Constant

You should end up with something like this:

Knime_Get_request_2_.PNG

Click OK when done. Once you run this node, the output will contain a cell with JSON text as well as some other output information. All this information is detailed in the CDD API documentation here. A handy trick is to check that the retrieval status is ok which you could do e.g. by using the Knime Row Splitter

Test the column "Status" for value 200, see below:

Knime_Get_request_3_.PNG

 

Your minimum workflow would look something like this:

Knime_Get_request_4_.PNG

Note 1: JSON nodes are part of the "Structured Data > JSON" package in Knime.

Note 2: The different types of HTTPS Methods available via the API are:

"Get" to retrieve data from CDD Vault

"Put" to update data within CDD Vault

"Post" to create a new entity (Molecule or Batch) within CDD Vault