Skip to content

Legacy API (/api/custom)

These are older /api/custom/* routes that are still supported. For new integrations prefer the current /api/v2/* endpoints documented on the other pages. The routes below are the ones most useful to end users: downloading reports and traces, inspecting the schedule, and reserving devices.

They use the same bearer token as the /api/v2 endpoints (see Authentication). API keys, which older versions of this page described, were retired.

Reports & Traces

Download a Test Execution report as PDF

/api/custom/executionPdf/{id} 📋 Copied! ▼

Role: Guest and above.

Parameters

Name Description
id * Numeric ID of the Test Execution.
Type: integer (path)

Responses

Code Description
200

The execution report. Media type: application/pdf

404

Resource was not found.

Download a trace file

/api/custom/trace/{id} 📋 Copied! ▼

Role: Standard and above.

Parameters

Name Description
id * Numeric ID of a test case result: the id returned by GET /api/v2/testcases/{id}/result/latest or /results (see Test Cases).
Type: integer (path)

Responses

Code Description
200

The trace file. Media type: application/octet-stream

404

The result does not exist, or it has no trace file.

Schedule

List scheduled Test Suites

/api/custom/scheduledTasks 📋 Copied! ▼

Role: Standard and above.

Parameters

Name Description
page Zero-based page index. Default 0.
Type: integer (query)
size Page size. Default 20.
Type: integer (query)

Responses

Code Description
200

A page of scheduled Test Suites (the stored suite records, including their schedule). For new integrations use GET /api/v2/testsuites/upcoming, which returns the next runs in a stable format.

Media type: application/json

Example Value:

{
"content": [
    {
        "id": 0,
        "name": "string",
        "schedule": {
        }
    }
],
"totalElements": 0,
"totalPages": 0,
"number": 0,
"size": 20
}

Get the next scheduled fire time of a Test Suite

/api/custom/nextFireTime/{id} 📋 Copied! ▼

Role: Standard and above.

Parameters

Name Description
id * Numeric ID of the Test Suite.
Type: integer (path)

Responses

Code Description
200

The next time the suite is scheduled to start, as an ISO-8601 instant. Empty when the suite has no upcoming run.

Media type: application/json

Example Value:

"2026-09-23T10:00:00Z"
404

Resource was not found.

Device Reservation

A manual reservation keeps a device out of scheduled and direct runs for a number of minutes, for example while you use it through Remote Mobile Access.

Check whether a device can be reserved

/api/custom/canReserve/{id} 📋 Copied! ▼

Role: Standard and above.

Parameters

Name Description
id * Numeric ID of the Mobile Device.
Type: integer (path)

Responses

Code Description
200

success is true when the device can be reserved now; manuallyReserved is true when it already holds a manual reservation made through this API.

Media type: application/json

Example Value:

{
"success": true,
"manuallyReserved": false
}
404

Resource was not found.

Reserve a device

/api/custom/reserveDevice/{id} 📋 Copied! ▼

Role: Standard and above.

The body gives the reservation length in minutes.

Parameters

Name Description
id * Numeric ID of the Mobile Device.
Type: integer (path)

Request body *

{
"minutes": 30
}

Responses

Code Description
200

success is false when the device is busy and could not be reserved; the call does not fail in that case.

Media type: application/json

Example Value:

{
"success": true
}
404

Resource was not found.

Release a device reservation

/api/custom/reserveDevice/{id} 📋 Copied! ▼

Role: Standard and above.

Parameters

Name Description
id * Numeric ID of the Mobile Device.
Type: integer (path)

Responses

Code Description
200

The reservation was released.

Media type: application/json

Example Value:

{
"success": true
}
404

The device does not exist, or it has no manual reservation made through this API.

To prepare or reboot a device, use POST /api/v2/mobiledevices/{id}/action with {"command": "PREPARE"} or {"command": "REBOOT"}. The older prepare and reboot routes under /api/custom were removed.