Data Hub
Runs

Create an instrument run

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.

POST
/instruments/{instrumentId}/runs

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.

Authorization

bearerAuth
AuthorizationBearer <token>

Personal access tokens begin with dhub_… and are restricted by their assigned scopes.

In: header

Path Parameters

instrumentId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/instruments/plate-reader/runs" \  -H "Content-Type: application/json" \  -d '{    "run_id": "string",    "source": "lambda"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "instrument_id": "string",  "run_id": "string",  "source": "lambda",  "metadata": {    "property1": null,    "property2": null  }}
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "instrument_id": "string",  "run_id": "string",  "source": "lambda",  "metadata": {    "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    }  }}
{  "error": {    "code": "string",    "message": "string",    "details": {      "property1": null,      "property2": null    }  }}