Skip to main content
POST

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
organisationId
string
required

Your MobileBoost organisation ID. It must be the organisation your API key belongs to.

buildId
string

The build to test: the buildId that POST /uploadBuild returned. Send one of buildId, build or bundleId.

build
Build · object

Test the newest build uploaded under a name instead of naming a buildId: {"meta": {"name": "my-app"}}. When you send both, build is used.

bundleId
string

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.

platform
enum<string>

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.

Available options:
ios,
android
testIds
string[]

IDs of the tests to run, as GET /tests returns them. Send testIds, tags, or both.

tags
string[]

Run every test that has at least one of these tags. Combined with testIds, the run contains both sets.

usePhysicalDevice
boolean

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.

tunnelName
string

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.

trigger
string

A free-form label stored on the run to say what started it, for example ci or nightly. Defaults to api.

variables
Run variables · object

Values for this run's tests, as NAME: value pairs, for example the backend a canary test signs in against. Each test reads them as environment variables, and a value here wins over your organisation's environment variable of the same name for this run only. Names use upper case letters, digits and underscores and start with a letter; names the test runner relies on, such as PATH or anything starting with PYTHON, are refused. Values must be strings. Up to 20 per run. Requires your API key even if your organisation does not otherwise require one. Not for passwords or keys: values are kept with the run for 14 days, so keep credentials in your organisation's environment variables. Replaces testInputs.

Example:

Response

The run was created. Its tests are queued on devices in the background.

message
string
required

A human-readable message describing the result of the request.

runId
string
required

The ID of the run. Pass it to GET /runs/{runId} to follow the run and read its results.

status
string
required

Always running: the run was accepted. Read its progress from GET /runs/{runId}.

scheduledTests
integer

Number of tests the run started with.

skippedTests
SkippedTest · object[]

Tests that matched tags but are not runnable on this platform yet, so the run does not include them. Empty when every selected test was scheduled.

warnings
string[]

Human-readable notes about the request, such as how many tests were skipped. Print them in your CI log. Empty when there is nothing to report.

variables
string[]

The names of the variables the run received, sorted. Never their values. Present only when the request sent variables.