curl --request POST \
--url https://api.mobileboost.io/tests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commands": [
"<string>"
],
"autoGenerate": true,
"title": "",
"tags": [
"<string>"
],
"preRequests": [
{
"curlCommand": "",
"delayBeforeRequest": 0,
"throughTunnel": true,
"valuesToRemember": []
}
],
"launchParams": [
{
"key": "<string>",
"value": "<string>"
}
],
"testInputs": [
{
"key": "<string>",
"defaultValue": "<string>"
}
],
"teardownRequests": [
{
"curlCommand": "",
"runOn": "always",
"throughTunnel": true
}
],
"folderId": "<string>"
}
'import requests
url = "https://api.mobileboost.io/tests"
payload = {
"commands": ["<string>"],
"autoGenerate": True,
"title": "",
"tags": ["<string>"],
"preRequests": [
{
"curlCommand": "",
"delayBeforeRequest": 0,
"throughTunnel": True,
"valuesToRemember": []
}
],
"launchParams": [
{
"key": "<string>",
"value": "<string>"
}
],
"testInputs": [
{
"key": "<string>",
"defaultValue": "<string>"
}
],
"teardownRequests": [
{
"curlCommand": "",
"runOn": "always",
"throughTunnel": True
}
],
"folderId": "<string>"
}
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({
commands: ['<string>'],
autoGenerate: true,
title: '',
tags: ['<string>'],
preRequests: [
{
curlCommand: '',
delayBeforeRequest: 0,
throughTunnel: true,
valuesToRemember: []
}
],
launchParams: [{key: '<string>', value: '<string>'}],
testInputs: [{key: '<string>', defaultValue: '<string>'}],
teardownRequests: [{curlCommand: '', runOn: 'always', throughTunnel: true}],
folderId: '<string>'
})
};
fetch('https://api.mobileboost.io/tests', 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",
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([
'commands' => [
'<string>'
],
'autoGenerate' => true,
'title' => '',
'tags' => [
'<string>'
],
'preRequests' => [
[
'curlCommand' => '',
'delayBeforeRequest' => 0,
'throughTunnel' => true,
'valuesToRemember' => [
]
]
],
'launchParams' => [
[
'key' => '<string>',
'value' => '<string>'
]
],
'testInputs' => [
[
'key' => '<string>',
'defaultValue' => '<string>'
]
],
'teardownRequests' => [
[
'curlCommand' => '',
'runOn' => 'always',
'throughTunnel' => true
]
],
'folderId' => '<string>'
]),
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"
payload := strings.NewReader("{\n \"commands\": [\n \"<string>\"\n ],\n \"autoGenerate\": true,\n \"title\": \"\",\n \"tags\": [\n \"<string>\"\n ],\n \"preRequests\": [\n {\n \"curlCommand\": \"\",\n \"delayBeforeRequest\": 0,\n \"throughTunnel\": true,\n \"valuesToRemember\": []\n }\n ],\n \"launchParams\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"testInputs\": [\n {\n \"key\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"teardownRequests\": [\n {\n \"curlCommand\": \"\",\n \"runOn\": \"always\",\n \"throughTunnel\": true\n }\n ],\n \"folderId\": \"<string>\"\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")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commands\": [\n \"<string>\"\n ],\n \"autoGenerate\": true,\n \"title\": \"\",\n \"tags\": [\n \"<string>\"\n ],\n \"preRequests\": [\n {\n \"curlCommand\": \"\",\n \"delayBeforeRequest\": 0,\n \"throughTunnel\": true,\n \"valuesToRemember\": []\n }\n ],\n \"launchParams\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"testInputs\": [\n {\n \"key\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"teardownRequests\": [\n {\n \"curlCommand\": \"\",\n \"runOn\": \"always\",\n \"throughTunnel\": true\n }\n ],\n \"folderId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mobileboost.io/tests")
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 \"commands\": [\n \"<string>\"\n ],\n \"autoGenerate\": true,\n \"title\": \"\",\n \"tags\": [\n \"<string>\"\n ],\n \"preRequests\": [\n {\n \"curlCommand\": \"\",\n \"delayBeforeRequest\": 0,\n \"throughTunnel\": true,\n \"valuesToRemember\": []\n }\n ],\n \"launchParams\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"testInputs\": [\n {\n \"key\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"teardownRequests\": [\n {\n \"curlCommand\": \"\",\n \"runOn\": \"always\",\n \"throughTunnel\": true\n }\n ],\n \"folderId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"testId": "xMIt964RUpAB95b6YI2F"
}Create test
Create a new test case with natural-language commands.
curl --request POST \
--url https://api.mobileboost.io/tests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commands": [
"<string>"
],
"autoGenerate": true,
"title": "",
"tags": [
"<string>"
],
"preRequests": [
{
"curlCommand": "",
"delayBeforeRequest": 0,
"throughTunnel": true,
"valuesToRemember": []
}
],
"launchParams": [
{
"key": "<string>",
"value": "<string>"
}
],
"testInputs": [
{
"key": "<string>",
"defaultValue": "<string>"
}
],
"teardownRequests": [
{
"curlCommand": "",
"runOn": "always",
"throughTunnel": true
}
],
"folderId": "<string>"
}
'import requests
url = "https://api.mobileboost.io/tests"
payload = {
"commands": ["<string>"],
"autoGenerate": True,
"title": "",
"tags": ["<string>"],
"preRequests": [
{
"curlCommand": "",
"delayBeforeRequest": 0,
"throughTunnel": True,
"valuesToRemember": []
}
],
"launchParams": [
{
"key": "<string>",
"value": "<string>"
}
],
"testInputs": [
{
"key": "<string>",
"defaultValue": "<string>"
}
],
"teardownRequests": [
{
"curlCommand": "",
"runOn": "always",
"throughTunnel": True
}
],
"folderId": "<string>"
}
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({
commands: ['<string>'],
autoGenerate: true,
title: '',
tags: ['<string>'],
preRequests: [
{
curlCommand: '',
delayBeforeRequest: 0,
throughTunnel: true,
valuesToRemember: []
}
],
launchParams: [{key: '<string>', value: '<string>'}],
testInputs: [{key: '<string>', defaultValue: '<string>'}],
teardownRequests: [{curlCommand: '', runOn: 'always', throughTunnel: true}],
folderId: '<string>'
})
};
fetch('https://api.mobileboost.io/tests', 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",
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([
'commands' => [
'<string>'
],
'autoGenerate' => true,
'title' => '',
'tags' => [
'<string>'
],
'preRequests' => [
[
'curlCommand' => '',
'delayBeforeRequest' => 0,
'throughTunnel' => true,
'valuesToRemember' => [
]
]
],
'launchParams' => [
[
'key' => '<string>',
'value' => '<string>'
]
],
'testInputs' => [
[
'key' => '<string>',
'defaultValue' => '<string>'
]
],
'teardownRequests' => [
[
'curlCommand' => '',
'runOn' => 'always',
'throughTunnel' => true
]
],
'folderId' => '<string>'
]),
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"
payload := strings.NewReader("{\n \"commands\": [\n \"<string>\"\n ],\n \"autoGenerate\": true,\n \"title\": \"\",\n \"tags\": [\n \"<string>\"\n ],\n \"preRequests\": [\n {\n \"curlCommand\": \"\",\n \"delayBeforeRequest\": 0,\n \"throughTunnel\": true,\n \"valuesToRemember\": []\n }\n ],\n \"launchParams\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"testInputs\": [\n {\n \"key\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"teardownRequests\": [\n {\n \"curlCommand\": \"\",\n \"runOn\": \"always\",\n \"throughTunnel\": true\n }\n ],\n \"folderId\": \"<string>\"\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")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commands\": [\n \"<string>\"\n ],\n \"autoGenerate\": true,\n \"title\": \"\",\n \"tags\": [\n \"<string>\"\n ],\n \"preRequests\": [\n {\n \"curlCommand\": \"\",\n \"delayBeforeRequest\": 0,\n \"throughTunnel\": true,\n \"valuesToRemember\": []\n }\n ],\n \"launchParams\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"testInputs\": [\n {\n \"key\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"teardownRequests\": [\n {\n \"curlCommand\": \"\",\n \"runOn\": \"always\",\n \"throughTunnel\": true\n }\n ],\n \"folderId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mobileboost.io/tests")
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 \"commands\": [\n \"<string>\"\n ],\n \"autoGenerate\": true,\n \"title\": \"\",\n \"tags\": [\n \"<string>\"\n ],\n \"preRequests\": [\n {\n \"curlCommand\": \"\",\n \"delayBeforeRequest\": 0,\n \"throughTunnel\": true,\n \"valuesToRemember\": []\n }\n ],\n \"launchParams\": [\n {\n \"key\": \"<string>\",\n \"value\": \"<string>\"\n }\n ],\n \"testInputs\": [\n {\n \"key\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"teardownRequests\": [\n {\n \"curlCommand\": \"\",\n \"runOn\": \"always\",\n \"throughTunnel\": true\n }\n ],\n \"folderId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"testId": "xMIt964RUpAB95b6YI2F"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Natural-language commands that make up the test case.
Whether creating this test should automatically trigger MobileBoost to write and verify its automation code. Defaults to true; pass false to skip automatic generation.
Human-readable title of the test.
Tags used to group or filter tests.
HTTP requests executed before the test runs (e.g. to seed state or fetch tokens).
Show child attributes
Show child attributes
Key/value pairs passed to the test at launch.
Show child attributes
Show child attributes
Named inputs referenced by the test commands, with default values.
Show child attributes
Show child attributes
HTTP requests executed after the test finishes (e.g. to clean up state).
Show child attributes
Show child attributes
File the new test into this folder. Omit it and the test is unfiled. GET /tests/folders has the ids.
Response
Successful response
The unique identifier of the created test

