<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=384506&amp;fmt=gif">
Skip to content
    December 21, 2023

    CDD Vault Update (December 2023 #3): New Password Algorithm and API Parameter Updates (ELN, Plates, Runs)

    New Password Algorithm

    CDD Vault will now use the Zxcvbn password algorithm when users set their passwords. This algorithm analyzes a proposed password and gives it a rating based on how hard it is for hacking software to guess. CDD Vault will require a zxcvbn score of 4 (out of 4).

    Update ELN Entries via the API

    A new PUT ELN Entries API call can be used to modify the content of existing ELN Entries. Update the title, project, ELN fields and even the body; adding links, text, and files using a new parameter, append_to_body.

    This new parameter is an array of JSON objects, each with a specific type and associated parameters:

    • TEXT: { "type": "text", "text": "required text goes here" }
    • LINK: { "type": "link", "url": "required URL goes here, same scheme rules as frontend", "label": "optional label override goes here" }
    • FILE: { "type": "file", "file": <file id> }

    This API call:

    PUT .../vaults/<vault_id>/eln/entries/<entry_id>

    ... using this JSON:

       {"append_to_body": [

         {"type": "text", "text": "Description of this experiment"},

         {"type": "link", "url": "https://www.collaborativedrug.com", "label": "This is a link to CDD"},

         {"type": "file", "file": 12345}

         ]}

    ... will append the content to the existing ELN Entry.

    The POST ELN Entries API call can now update the status of an ELN Entry. As an example, to reopen a finalized ELN entry.

    For Vaults with Witnessing enabled, these parameters may be used

    • { status_action: submit, witness: required user id }
    • { status_action: approve }
    • { status_action: reject, reason: required string }
    • { status_action: cancel }

    For Vaults without Witnessing, this parameter may be used:

    • { status_action: finalize }

    And these parameters are available for all ELN enabled Vaults:

    • { status_action: reopen, reason: (string, required) }
    • { status_action: discard }

    To submit an Entry for witnessing use this API call:

    POST .../vaults/<vault_id>/eln/entries/<eln_entry_id>/status

    ... using this JSON:

    {

           "status_action":"submit",

           "witness":"10276"

    }

    To reject an ELN Entry use this API call:

    POST .../vaults/<vault_id>/eln/entries/<eln_entry_id>/status

    ... using this JSON:

    {

           "status_action":"reject",

           "reason":"Not enough data"

    }

    To approve/finalize an ELN Entry use this API call:

    POST .../vaults/<vault_id>/eln/entries/<eln_entry_id>/status

    ... using this JSON:

    {

           "status_action":"approve"

    }.

    PUT Runs API Update

    Values for custom Run Fields may be updated using PUT Runs.

    PUT .../vaults/4493/runs/649838

    ... using this JSON:

    {

       "run_fields":

           {"CRO":"Graceland CRO"}

    }

    ... will update the value of the CRO Run field for the specified Run.

    New PUT/POST Calls for the Plates API Endpoint

    The new PUT and POST endpoints are now supported for creating/updating Plate objects.

    POST .../vaults/4493/plates

    PUT .../vaults/4493/plates/12345

    When creating a new Plate, the name and projects parameters must be included.

    This JSON will create a new Plate:

    { "name": "New Plate 20231219",
      "projects":["Internal Data"] }

    The following JSON is returned:

    {
        "id": 1239120,
        "class": "plate",
        "created_at": "2023-12-20T15:46:00.000Z",
        "modified_at": "2023-12-20T15:46:00.000Z",
        "name": "CW Plate 20231219",
        "volume": 0.0,
        "concentration": 0.0
    }

    These parameters can also be used when creating/updating Plates:

    • concentration
    • concentration_unit_label
    • volume
    • volume_unit_label
    • location

    To associate Batches to the various Plate Wells, either when creating the Plate or updating a Plate, use the wells parameter (which must be an array).

    The JSON for using the concentration, volume and location parameters, along with the well parameter, should resemble:

    { "name": "CW Plate 20231219e",
      "projects":["Internal Data"],
      "concentration":"10",
      "concentration_unit_label":"uM",
      "volume":"100",
      "volume_unit_label":"mL",
      "location":"LabB",
      "wells":[
        {"pos":"A01","batch":142517171},
        {"pos":"A02","batch":126705604},
        {"pos":"A03","batch":126705581}
              ]
     }

    Note: The GET Plates API call also has an only_ids parameter for returning only the internal Plate IDs.

    GET .../vaults/4493/plates

    … using JSON like this:

    { "only_ids":"true" }

    … returns the following JSON results:

    {
        "count": 5,
        "offset": 0,
        "page_size": 50,
        "objects": [
            282199,
            282200,
            306728,
            366630,
            537940
        ]
    }

    This blog is authored by members of the CDD Vault community. CDD Vault is a hosted drug discovery informatics platform that securely manages both private and external biological and chemical data. It provides core functionality including chemical registrationdata visualization, inventory, and electronic lab notebook capabilities.

     

    Other posts you might be interested in

    View All Posts
    CDD Vault Updates
    3 min   April 26, 2024
    CDD Vault Update (April 2024): New Interface for Protocol Readout Definitions & Insert Structures using ‘must-be-unique’ User-Defined Fields
    Read More
    CDD Blog
    2 min   April 22, 2024
    Recorded Presentations: CDD 20th Anniversary User Group Meeting
    Read More
    CDD Blog
    9 min   April 19, 2024
    Drug Discovery Industry Roundup with Barry Bunin — April 19, 2024
    Read More