curl --request POST \
--url https://api.mobileboost.io/tests/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"organisationid": "<string>",
"buildid": "<string>",
"platform": "<string>",
"testids": [
"<string>"
],
"tags": [
"<string>"
],
"tagsquery": "<string>",
"iterations": 123,
"launchparams": {},
"deviceprovidersettings": {},
"testinputs": {},
"deviceconfigs": [],
"metadata": {}
}
'import requests
url = "https://api.mobileboost.io/tests/execute"
payload = {
"organisationid": "<string>",
"buildid": "<string>",
"platform": "<string>",
"testids": ["<string>"],
"tags": ["<string>"],
"tagsquery": "<string>",
"iterations": 123,
"launchparams": {},
"deviceprovidersettings": {},
"testinputs": {},
"deviceconfigs": [],
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
organisationid: '<string>',
buildid: '<string>',
platform: '<string>',
testids: ['<string>'],
tags: ['<string>'],
tagsquery: '<string>',
iterations: 123,
launchparams: {},
deviceprovidersettings: {},
testinputs: {},
deviceconfigs: [],
metadata: {}
})
};
fetch('https://api.mobileboost.io/tests/execute', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mobileboost.io/tests/execute",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'organisationid' => '<string>',
'buildid' => '<string>',
'platform' => '<string>',
'testids' => [
'<string>'
],
'tags' => [
'<string>'
],
'tagsquery' => '<string>',
'iterations' => 123,
'launchparams' => [
],
'deviceprovidersettings' => [
],
'testinputs' => [
],
'deviceconfigs' => [
],
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mobileboost.io/tests/execute"
payload := strings.NewReader("{\n \"organisationid\": \"<string>\",\n \"buildid\": \"<string>\",\n \"platform\": \"<string>\",\n \"testids\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"tagsquery\": \"<string>\",\n \"iterations\": 123,\n \"launchparams\": {},\n \"deviceprovidersettings\": {},\n \"testinputs\": {},\n \"deviceconfigs\": [],\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mobileboost.io/tests/execute")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"organisationid\": \"<string>\",\n \"buildid\": \"<string>\",\n \"platform\": \"<string>\",\n \"testids\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"tagsquery\": \"<string>\",\n \"iterations\": 123,\n \"launchparams\": {},\n \"deviceprovidersettings\": {},\n \"testinputs\": {},\n \"deviceconfigs\": [],\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mobileboost.io/tests/execute")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organisationid\": \"<string>\",\n \"buildid\": \"<string>\",\n \"platform\": \"<string>\",\n \"testids\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"tagsquery\": \"<string>\",\n \"iterations\": 123,\n \"launchparams\": {},\n \"deviceprovidersettings\": {},\n \"testinputs\": {},\n \"deviceconfigs\": [],\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"message": "Test suite runs created",
"test_suite_ids": [
"b1111111df174791a93e560390ea7e65"
],
"status": "running"
}Execute tests
Execute one or more tests on a device. Provide the test as inline commands (JSON or markdown format per the input requirements), or reference existing test IDs. Supports device configuration, launch parameters, and iteration control.
curl --request POST \
--url https://api.mobileboost.io/tests/execute \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"organisationid": "<string>",
"buildid": "<string>",
"platform": "<string>",
"testids": [
"<string>"
],
"tags": [
"<string>"
],
"tagsquery": "<string>",
"iterations": 123,
"launchparams": {},
"deviceprovidersettings": {},
"testinputs": {},
"deviceconfigs": [],
"metadata": {}
}
'import requests
url = "https://api.mobileboost.io/tests/execute"
payload = {
"organisationid": "<string>",
"buildid": "<string>",
"platform": "<string>",
"testids": ["<string>"],
"tags": ["<string>"],
"tagsquery": "<string>",
"iterations": 123,
"launchparams": {},
"deviceprovidersettings": {},
"testinputs": {},
"deviceconfigs": [],
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
organisationid: '<string>',
buildid: '<string>',
platform: '<string>',
testids: ['<string>'],
tags: ['<string>'],
tagsquery: '<string>',
iterations: 123,
launchparams: {},
deviceprovidersettings: {},
testinputs: {},
deviceconfigs: [],
metadata: {}
})
};
fetch('https://api.mobileboost.io/tests/execute', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mobileboost.io/tests/execute",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'organisationid' => '<string>',
'buildid' => '<string>',
'platform' => '<string>',
'testids' => [
'<string>'
],
'tags' => [
'<string>'
],
'tagsquery' => '<string>',
'iterations' => 123,
'launchparams' => [
],
'deviceprovidersettings' => [
],
'testinputs' => [
],
'deviceconfigs' => [
],
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mobileboost.io/tests/execute"
payload := strings.NewReader("{\n \"organisationid\": \"<string>\",\n \"buildid\": \"<string>\",\n \"platform\": \"<string>\",\n \"testids\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"tagsquery\": \"<string>\",\n \"iterations\": 123,\n \"launchparams\": {},\n \"deviceprovidersettings\": {},\n \"testinputs\": {},\n \"deviceconfigs\": [],\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mobileboost.io/tests/execute")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"organisationid\": \"<string>\",\n \"buildid\": \"<string>\",\n \"platform\": \"<string>\",\n \"testids\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"tagsquery\": \"<string>\",\n \"iterations\": 123,\n \"launchparams\": {},\n \"deviceprovidersettings\": {},\n \"testinputs\": {},\n \"deviceconfigs\": [],\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mobileboost.io/tests/execute")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organisationid\": \"<string>\",\n \"buildid\": \"<string>\",\n \"platform\": \"<string>\",\n \"testids\": [\n \"<string>\"\n ],\n \"tags\": [\n \"<string>\"\n ],\n \"tagsquery\": \"<string>\",\n \"iterations\": 123,\n \"launchparams\": {},\n \"deviceprovidersettings\": {},\n \"testinputs\": {},\n \"deviceconfigs\": [],\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"message": "Test suite runs created",
"test_suite_ids": [
"b1111111df174791a93e560390ea7e65"
],
"status": "running"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Your MobileBoost organisation ID.
Alternative build identifier.
Target platform (e.g. ios, android).
IDs of existing test cases to execute.
Execute all tests matching these tags.
A query expression to match tests by tags.
Number of times to repeat the test execution.
Key-value pairs passed to the app at launch.
Show child attributes
Show child attributes
Provider-specific device configuration.
Show child attributes
Show child attributes
Per-test input overrides, keyed by test ID.
Show child attributes
Show child attributes
List of device configurations to run tests on.
Show child attributes
Show child attributes
Arbitrary metadata to attach to the execution.
Response
Successful response
A human-readable message describing the result of the request.
The IDs of the test suite runs that were created. Use these with GET /suite/{suite_id}/status to poll for results.
The initial status of the created test suite runs.

