REST API
The devicecloud.dev REST API gives you programmatic access to the same data available in the console — test results, upload history, and flow analytics. All requests are authenticated with your API key.
Authentication
Include your API key in every request:
x-app-api-key: <your-api-key>You can find your API key in the console under Settings → API Key.
Uploads
List uploads
Returns a paginated list of test uploads for your organisation.
GET /uploads/listQuery parameters
name
string
No
Filter by upload name. Supports * as a wildcard.
from
string
No
Return uploads created on or after this date (ISO 8601).
to
string
No
Return uploads created on or before this date (ISO 8601).
limit
number
No
Maximum number of results. Default: 20.
offset
number
No
Number of results to skip. Default: 0.
Example
Response
Get upload status
Returns the current status and individual test results for a specific upload. Useful for polling a run in progress.
Query parameters
uploadId
string
No*
The upload UUID.
name
string
No*
The upload name. Returns the most recent match if multiple exist.
*One of uploadId or name is required.
Example
Response
Results
Get results for an upload
Returns all test results for a given upload, including status and failure reasons.
Example
Response
Status values: PENDING, QUEUED, RUNNING, PASSED, FAILED, CANCELLED
Download JUnit report
Returns a combined JUnit XML report for all tests in an upload. Compatible with most CI systems.
Example
Download HTML report
Returns a zipped HTML report with screenshots and logs for all tests in an upload.
Example
Download artifacts
Returns a zip file containing test artifacts. You can choose to download all results or only failing ones.
Body
results
FAILED, ALL
Which test artifacts to include.
Example
Flows
The flows endpoints return aggregated analytics across all test runs for each flow file — the same data shown on the Flows page in the console.
Pass rates are calculated as passed / (passed + failed), excluding cancelled and in-progress runs.
Get flow summaries
Returns pass rates, run counts, average durations, and a daily status breakdown for every flow in your organisation.
Query parameters
platform
string
No
Filter by platform: android or ios.
appId
string
No
Filter by app ID (e.g. com.example.app).
days
number
No
Lookback window in days. Default: 14. Ignored if startDate is set.
startDate
string
No
Start of date range (ISO 8601). Overrides days.
endDate
string
No
End of date range (ISO 8601). Defaults to now if startDate is set.
tags
string
No
Comma-separated tag filter. Returns flows that have any of the given tags (e.g. smoke,critical).
Example
Response
daily_data values: passed (all runs passed), failed (all runs failed), mixed (both), null (no runs that day)
Get runs for a flow
Returns individual run history for a specific flow file.
Query parameters
fileName
string
Yes
The flow file path (e.g. src/flows/login.yaml).
platform
string
No
Filter by platform: android or ios.
appId
string
No
Filter by app ID.
limit
number
No
Maximum number of runs to return. Default: 100.
startDate
string
No
Start of date range (ISO 8601).
endDate
string
No
End of date range (ISO 8601).
Example
Response
Last updated