Data Hub
Runs

Request a presigned upload URL

Requires scope `runs:upload`.

POST
/instruments/{instrumentId}/runs/{runId}/request-upload-url

Requires scope runs:upload.

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

instrumentId*string
runId*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

curl -X POST "https://example.com/instruments/plate-reader/runs/run-2026-001/request-upload-url" \  -H "Content-Type: application/json" \  -d '{    "filename": "string"  }'
{  "already_uploaded": true,  "file_id": 0,  "s3_bucket": "string",  "s3_key": "string"}
{  "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    }  }}