List an instrument's runs
Requires scope `runs:read`.
Requires scope runs:read.
Authorization
bearerAuth Personal access tokens begin with dhub_… and are restricted by their assigned scopes.
In: header
Path Parameters
Query Parameters
Value in
- "lambda"
- "watcher"
Sort field: acquired_at (default; when the run started, falling back to created_at), created_at, or updated_at (the last change to the run or any of its files).
Value in
- "asc"
- "desc"
date-timedate-time1 <= value1 <= value <= 100true lists only runs with at least one lab notebook link; false lists only runs with none.
Value in
- "true"
- "false"
Metadata key filter.
Metadata value filter.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/instruments/plate-reader/runs"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "instrument_id": "string", "instrument_display_name": "string", "instrument_type": "generic", "run_id": "string", "source": "lambda", "metadata": { "property1": null, "property2": null }, "created_at": "2019-08-24T14:15:22Z", "acquired_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deleted_at": "2019-08-24T14:15:22Z", "file_count": 0, "files_completed": 0, "files_failed": 0, "files_pending_upload": 0, "files_uploaded": 0, "files_queued": 0, "files_processing": 0, "files_stalled": 0, "total_size_bytes": 0, "error_messages": [ "string" ], "attributions": [ { "userId": "string", "displayName": "string", "initials": "string", "avatarUrl": "string" } ], "comment_count": 0, "notebook_links": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "url": "string", "url_key": "string", "label": "string", "display_name": "string", "created_at": "2019-08-24T14:15:22Z", "created_by": { "id": "string", "displayName": "string", "initials": "string", "avatarUrl": "string" }, "created_by_token": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" }, "updated_at": "2019-08-24T14:15:22Z", "updated_by": { "id": "string", "displayName": "string", "initials": "string", "avatarUrl": "string" }, "updated_by_token": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" } } ] } ], "pagination": { "page": 0, "per_page": 0, "total": 0, "total_pages": 0 }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}List runs across instruments GET
Requires scope `runs:read`.
Create an instrument run POST
Requires scope `runs:create`. PAT only; browser sessions are rejected. Returns 200 with the existing run when it already exists. Returns 409 (`details.reason: run_deleted`) when the run exists and was deleted and the body has `source: "watcher"`, an `acquired_at`, or a non-empty `detected_files`. The request then attaches no files and changes nothing. A body with only `run_id` and `source: "lambda"` still gets 200.