API calls related to Control Layouts:
Retrieve
GET /api/v1/vaults/<vault_id>/control_layouts/<id>
Get a single control layout, specified by the control layout ID.
GET /api/v1/vaults/<vault_id>/control_layouts
Get a list of available control layouts.
Note, the use of Query Parameters that are included in the URL is no longer officially supported. While the legacy Query parameters will continue to work, users are highly encouraged to switch to the use of JSON parameters for all Plates related API calls.
JSON Parameters (all optional):
plates |
Comma delimited list of plate ids | |
protocols |
Comma delimited list of protocol ids | |
runs |
Comma delimited list of run ids | |
only_ids |
Boolean
|
It can be added to any GET control_layouts call. Async should still be used when many IDs are expected.
Note: any |
async |
Boolean If true, do an asynchronous export (see Async Export) Use for large data sets. This is recommended any time you want to download more than page_size results. Note: any page_size parameter used in an API GET call that also uses the async=true parameter will be ignored. The GET call will return all valid data for the given GET call. |
|
offset |
The index of the first object actually returned. Defaults to 0. | |
page_size |
The maximum number of objects to return in this call. Default is 50, maximum is 1000. If the response exceeds the page_size , we strongly recommend using the async option instead of downloading multiple chunks. Note: any page_size parameter used in an API GET call that also uses the async=true parameter will be ignored. The GET call will return all valid data for the given GET call. |
|
projects |
Comma-separated list of project ids Defaults to all available projects Limits scope of query |
|
data_sets |
Comma-separated list of public dataset ids Defaults to no data sets Limits scope of query |
|
created_before |
Date (YYYY-MM-DDThh:mm:ss±hh:mm) | |
created_after |
Date (YYYY-MM-DDThh:mm:ss±hh:mm) | |
modified_before |
Date (YYYY-MM-DDThh:mm:ss±hh:mm) | |
modified_after |
Date (YYYY-MM-DDThh:mm:ss±hh:mm) |
Examples
GET https://app.collaborativedrug.com/api/v1/vaults/489978881/control_layouts
Passing JSON containing this parameter:{"plates":[287316,287348]}
Returns:
{
"count": 2,
"offset": 0,
"page_size": 50,
"objects": [
{
"id": 20308,
"class": "plate specific control layout",
"created_at": "2017-07-17T20:02:46.000Z",
"modified_at": "2017-07-17T20:02:46.000Z",
"control_wells": [
{
"col": 0,
"row": 0,
"control_state": "+"
},
{
"col": 1,
"row": 0,
"control_state": "+"
},
{
"col": 2,
"row": 0,
"control_state": "+"
},
{
"col": 3,
"row": 0,
"control_state": "+"
},
{
"col": 4,
"row": 0,
"control_state": "+"
},
{
"col": 5,
"row": 0,
"control_state": "+"
},
{
"col": 6,
"row": 0,
"control_state": "+"
},
{
"col": 7,
"row": 0,
"control_state": "+"
},
{
"col": 8,
"row": 0,
"control_state": "+"
},
{
"col": 9,
"row": 0,
"control_state": "+"
},
{
"col": 10,
"row": 0,
"control_state": "-"
},
{
"col": 11,
"row": 0,
"control_state": "+"
},
{
"col": 0,
"row": 1,
"control_state": "+"
},
{
"col": 1,
"row": 1,
"control_state": "+"
},
{
"col": 2,
"row": 1,
"control_state": "+"
},
{
"col": 3,
"row": 1,
"control_state": "+"
},
{
"col": 4,
"row": 1,
"control_state": "+"
},
{
"col": 5,
"row": 1,
"control_state": "+"
},
{
"col": 6,
"row": 1,
"control_state": "+"
},
{
"col": 7,
"row": 1,
"control_state": "+"
},
{
"col": 8,
"row": 1,
"control_state": "+"
},
{
"col": 9,
"row": 1,
"control_state": "+"
},
{
"col": 10,
"row": 1,
"control_state": "-"
},
{
"col": 11,
"row": 1,
"control_state": "+"
},
{
"col": 10,
"row": 2,
"control_state": "-"
},
{
"col": 11,
"row": 2,
"control_state": "+"
},
{
"col": 10,
"row": 3,
"control_state": "-"
},
{
"col": 11,
"row": 3,
"control_state": "+"
},
{
"col": 10,
"row": 4,
"control_state": "-"
},
{
"col": 10,
"row": 5,
"control_state": "-"
},
{
"col": 10,
"row": 6,
"control_state": "-"
},
{
"col": 10,
"row": 7,
"control_state": "-"
}
],
"plate": 287316,
"protocol": 29814
},
{
"id": 20310,
"class": "plate specific control layout",
"created_at": "2017-07-17T21:46:00.000Z",
"modified_at": "2017-07-17T21:46:00.000Z",
"control_wells": [
{
"col": 0,
"row": 0,
"control_state": "#"
},
{
"col": 1,
"row": 0,
"control_state": "#"
},
{
"col": 2,
"row": 0,
"control_state": "#"
},
{
"col": 3,
"row": 0,
"control_state": "#"
},
{
"col": 4,
"row": 0,
"control_state": "#"
},
{
"col": 5,
"row": 0,
"control_state": "#"
},
{
"col": 6,
"row": 0,
"control_state": "#"
},
{
"col": 7,
"row": 0,
"control_state": "#"
},
{
"col": 8,
"row": 0,
"control_state": "#"
},
{
"col": 9,
"row": 0,
"control_state": "#"
},
{
"col": 10,
"row": 0,
"control_state": "-"
},
{
"col": 11,
"row": 0,
"control_state": "+"
},
{
"col": 0,
"row": 1,
"control_state": "#"
},
{
"col": 1,
"row": 1,
"control_state": "#"
},
{
"col": 2,
"row": 1,
"control_state": "#"
},
{
"col": 3,
"row": 1,
"control_state": "#"
},
{
"col": 4,
"row": 1,
"control_state": "#"
},
{
"col": 5,
"row": 1,
"control_state": "#"
},
{
"col": 6,
"row": 1,
"control_state": "#"
},
{
"col": 7,
"row": 1,
"control_state": "#"
},
{
"col": 8,
"row": 1,
"control_state": "#"
},
{
"col": 9,
"row": 1,
"control_state": "#"
},
{
"col": 10,
"row": 1,
"control_state": "-"
},
{
"col": 11,
"row": 1,
"control_state": "+"
},
{
"col": 10,
"row": 2,
"control_state": "-"
},
{
"col": 11,
"row": 2,
"control_state": "+"
},
{
"col": 10,
"row": 3,
"control_state": "-"
},
{
"col": 11,
"row": 3,
"control_state": "+"
},
{
"col": 10,
"row": 4,
"control_state": "-"
},
{
"col": 10,
"row": 5,
"control_state": "-"
},
{
"col": 10,
"row": 6,
"control_state": "-"
},
{
"col": 10,
"row": 7,
"control_state": "-"
}
],
"plate": 287348,
"protocol": 29814
}
]
}
GET https://app.collaborativedrug.com/api/v1/vaults/489978881/control_layouts
Passing JSON containing this parameter:
{"protocols":[29814,12255]}
Returns:
{
"count": 4,
"offset": 0,
"page_size": 50,
"objects": [
{
"id": 2909,
"class": "default control layout",
"created_at": "2012-08-14T15:02:40.000Z",
"modified_at": "2012-08-14T15:02:40.000Z",
"size": 96,
"control_wells": [
{
"col": 0,
"row": 0,
"control_state": "+"
},
{
"col": 11,
"row": 0,
"control_state": "-"
},
{
"col": 0,
"row": 1,
"control_state": "+"
},
{
"col": 11,
"row": 1,
"control_state": "-"
},
{
"col": 0,
"row": 2,
"control_state": "+"
},
{
"col": 11,
"row": 2,
"control_state": "-"
},
{
"col": 0,
"row": 3,
"control_state": "+"
},
{
"col": 11,
"row": 3,
"control_state": "-"
},
{
"col": 0,
"row": 4,
"control_state": "+"
},
{
"col": 11,
"row": 4,
"control_state": "-"
},
{
"col": 0,
"row": 5,
"control_state": "+"
},
{
"col": 11,
"row": 5,
"control_state": "-"
},
{
"col": 0,
"row": 6,
"control_state": "+"
},
{
"col": 11,
"row": 6,
"control_state": "-"
},
{
"col": 0,
"row": 7,
"control_state": "+"
},
{
"col": 11,
"row": 7,
"control_state": "-"
}
],
"protocol": 12255
},
{
"id": 20307,
"class": "default control layout",
"created_at": "2017-07-17T19:54:24.000Z",
"modified_at": "2017-07-17T19:54:24.000Z",
"size": 96,
"control_wells": [
{
"col": 10,
"row": 0,
"control_state": "-"
},
{
"col": 11,
"row": 0,
"control_state": "+"
},
{
"col": 10,
"row": 1,
"control_state": "-"
},
{
"col": 11,
"row": 1,
"control_state": "+"
},
{
"col": 10,
"row": 2,
"control_state": "-"
},
{
"col": 11,
"row": 2,
"control_state": "+"
},
{
"col": 10,
"row": 3,
"control_state": "-"
},
{
"col": 11,
"row": 3,
"control_state": "+"
},
{
"col": 10,
"row": 4,
"control_state": "-"
},
{
"col": 10,
"row": 5,
"control_state": "-"
},
{
"col": 10,
"row": 6,
"control_state": "-"
},
{
"col": 10,
"row": 7,
"control_state": "-"
}
],
"protocol": 29814
},
{
"id": 20308,
"class": "plate specific control layout",
"created_at": "2017-07-17T20:02:46.000Z",
"modified_at": "2017-07-17T20:02:46.000Z",
"control_wells": [
{
"col": 0,
"row": 0,
"control_state": "+"
},
{
"col": 1,
"row": 0,
"control_state": "+"
},
{
"col": 2,
"row": 0,
"control_state": "+"
},
{
"col": 3,
"row": 0,
"control_state": "+"
},
{
"col": 4,
"row": 0,
"control_state": "+"
},
{
"col": 5,
"row": 0,
"control_state": "+"
},
{
"col": 6,
"row": 0,
"control_state": "+"
},
{
"col": 7,
"row": 0,
"control_state": "+"
},
{
"col": 8,
"row": 0,
"control_state": "+"
},
{
"col": 9,
"row": 0,
"control_state": "+"
},
{
"col": 10,
"row": 0,
"control_state": "-"
},
{
"col": 11,
"row": 0,
"control_state": "+"
},
{
"col": 0,
"row": 1,
"control_state": "+"
},
{
"col": 1,
"row": 1,
"control_state": "+"
},
{
"col": 2,
"row": 1,
"control_state": "+"
},
{
"col": 3,
"row": 1,
"control_state": "+"
},
{
"col": 4,
"row": 1,
"control_state": "+"
},
{
"col": 5,
"row": 1,
"control_state": "+"
},
{
"col": 6,
"row": 1,
"control_state": "+"
},
{
"col": 7,
"row": 1,
"control_state": "+"
},
{
"col": 8,
"row": 1,
"control_state": "+"
},
{
"col": 9,
"row": 1,
"control_state": "+"
},
{
"col": 10,
"row": 1,
"control_state": "-"
},
{
"col": 11,
"row": 1,
"control_state": "+"
},
{
"col": 10,
"row": 2,
"control_state": "-"
},
{
"col": 11,
"row": 2,
"control_state": "+"
},
{
"col": 10,
"row": 3,
"control_state": "-"
},
{
"col": 11,
"row": 3,
"control_state": "+"
},
{
"col": 10,
"row": 4,
"control_state": "-"
},
{
"col": 10,
"row": 5,
"control_state": "-"
},
{
"col": 10,
"row": 6,
"control_state": "-"
},
{
"col": 10,
"row": 7,
"control_state": "-"
}
],
"plate": 287316,
"protocol": 29814
},
{
"id": 20310,
"class": "plate specific control layout",
"created_at": "2017-07-17T21:46:00.000Z",
"modified_at": "2017-07-17T21:46:00.000Z",
"control_wells": [
{
"col": 0,
"row": 0,
"control_state": "#"
},
{
"col": 1,
"row": 0,
"control_state": "#"
},
{
"col": 2,
"row": 0,
"control_state": "#"
},
{
"col": 3,
"row": 0,
"control_state": "#"
},
{
"col": 4,
"row": 0,
"control_state": "#"
},
{
"col": 5,
"row": 0,
"control_state": "#"
},
{
"col": 6,
"row": 0,
"control_state": "#"
},
{
"col": 7,
"row": 0,
"control_state": "#"
},
{
"col": 8,
"row": 0,
"control_state": "#"
},
{
"col": 9,
"row": 0,
"control_state": "#"
},
{
"col": 10,
"row": 0,
"control_state": "-"
},
{
"col": 11,
"row": 0,
"control_state": "+"
},
{
"col": 0,
"row": 1,
"control_state": "#"
},
{
"col": 1,
"row": 1,
"control_state": "#"
},
{
"col": 2,
"row": 1,
"control_state": "#"
},
{
"col": 3,
"row": 1,
"control_state": "#"
},
{
"col": 4,
"row": 1,
"control_state": "#"
},
{
"col": 5,
"row": 1,
"control_state": "#"
},
{
"col": 6,
"row": 1,
"control_state": "#"
},
{
"col": 7,
"row": 1,
"control_state": "#"
},
{
"col": 8,
"row": 1,
"control_state": "#"
},
{
"col": 9,
"row": 1,
"control_state": "#"
},
{
"col": 10,
"row": 1,
"control_state": "-"
},
{
"col": 11,
"row": 1,
"control_state": "+"
},
{
"col": 10,
"row": 2,
"control_state": "-"
},
{
"col": 11,
"row": 2,
"control_state": "+"
},
{
"col": 10,
"row": 3,
"control_state": "-"
},
{
"col": 11,
"row": 3,
"control_state": "+"
},
{
"col": 10,
"row": 4,
"control_state": "-"
},
{
"col": 10,
"row": 5,
"control_state": "-"
},
{
"col": 10,
"row": 6,
"control_state": "-"
},
{
"col": 10,
"row": 7,
"control_state": "-"
}
],
"plate": 287348,
"protocol": 29814
}
]
}
Create
POST /api/v1/vaults/<vault_id>/control_layouts
Creates a control layout.
JSON Parameters (all optional):
size |
Specify the size of the new control layout (size can't be set for a plate-specific control layout). |
plate |
Create a plate-specific control layout. |
protocol |
Specify the protocol(s) associated with the new control layout. Specify either a protocol or a run, but not both. |
run |
Specify the run(s) associated with the new control layout. Note: Specify either a protocol or a run, but not both. |
control_wells |
Contains an array of objects with keys: pos and control_state where pos is the position, "A01" (which is equivalent to row: 0, col: 0) and control_state is one of +, -, # Instead of pos: "A01", wells can be identified using the row and column numbers.
... is equivalent to passing this JSON: |
Control layout creation example:
POST /api/v1/vaults/489978881/control_layouts
Passing these parameters via JSON:
Will create a default control layout for 384 well Plates in the Protocol ID 14356.
Update
To update an existing control layout, please DELETE the existing control layout and recreate it as needed.
Delete
DELETE /api/v1/vaults/<vault_id>/control_layouts/<id>
Deletes a specific control layout.
Examples
curl -H "X-CDD-Token: $TOKEN" -X DELETE https://app.collaborativedrug.com/api/v1/vaults/<vault_id>/control_layouts/<control_layout_id>
Returns:
{
"message": "Object has been destroyed"
}