curl --request POST \
--url https://api.mobileboost.io/tests/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"organisationId": "org123",
"buildId": "JbUOAOHLx99O2MYJc0LC",
"testIds": [
"xMIt964RUpAB95b6YI2F",
"teXiuNg4TLL9ioHIct5H"
]
}
'{
"message": "Autotest run created",
"runId": "b1111111df174791a93e560390ea7e65",
"status": "running"
}Execute tests
Start a run of your tests on MobileBoost devices. Each test runs the automation code MobileBoost wrote and verified for it (see POST /tests/generate).
The call returns as soon as the run is created. Take runId from the response and pass it to GET /runs/{runId} to follow the run until its status is completed or cancelled.
Choose the tests with testIds, tags, or both. Every selected test must be runnable on the run’s platform, which GET /tests shows as platforms.<platform>.runnable. A test whose automation is still being written is refused with 400.
Name the app with one of:
buildId: thebuildIdthatPOST /uploadBuildreturned.build.meta.name: the newest build uploaded under that name. Addplatformif you upload your iOS and Android apps under the same name.bundleIdandplatform: an app that is already installed on your reserved device, with no build uploaded. This has to be enabled for your organisation.
Choose the device with usePhysicalDevice. MobileBoost picks the device itself, so deviceConfigs, deviceProviderSettings, launchParams, testInputs, tagsQuery, iterations, metaData, stealthMode, dependencyTestIds and the ephemeralTest* fields are not supported. A request that sends any of them is refused with 400 rather than run on a device you did not ask for.
Authenticate with your API key: Authorization: Bearer mb_live_.... organisationId must be the organisation the key belongs to.
curl --request POST \
--url https://api.mobileboost.io/tests/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"organisationId": "org123",
"buildId": "JbUOAOHLx99O2MYJc0LC",
"testIds": [
"xMIt964RUpAB95b6YI2F",
"teXiuNg4TLL9ioHIct5H"
]
}
'{
"message": "Autotest run created",
"runId": "b1111111df174791a93e560390ea7e65",
"status": "running"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Your MobileBoost organisation ID. It must be the organisation your API key belongs to.
The build to test: the buildId that POST /uploadBuild returned. Send one of buildId, build or bundleId.
Test the newest build uploaded under a name instead of naming a buildId: {"meta": {"name": "my-app"}}. When you send both, build is used.
Show child attributes
Show child attributes
Test the app with this bundle identifier that is already installed on your reserved device, instead of an uploaded build. Requires platform, always runs on a physical device, and has to be enabled for your organisation (403 otherwise). Cannot be combined with buildId.
The platform to run on. Taken from the build when you send buildId. Required with bundleId. With build, it picks the newest build of that name for this platform.
ios, android IDs of the tests to run, as GET /tests returns them. Send testIds, tags, or both.
Run every test that has at least one of these tags. Combined with testIds, the run contains both sets.
true runs on a real handset reserved for your organisation, false on an emulator or simulator. Omit it to use your organisation's default: a real handset when you have one reserved for this platform, otherwise an emulator or simulator. An iOS .ipa build and a bundleId run always use a real handset.
Name of a connected MobileBoost Local tunnel: the --tunnel-name you started mb-local with. The app on the device then reaches your internal hosts, such as a staging API, through it. Omit it when your app's backend is publicly reachable. An unknown or disconnected tunnel fails the run.
A free-form label stored on the run to say what started it, for example ci or nightly. Defaults to api.
Response
The run was created. Its tests are queued on devices in the background.

