Eggplant Public API
Version 2.0
Path Table
Method | Path | Description |
---|---|---|
POST | /auth | Obtain an access token from a client ID and secret |
GET | /test_results | List test results |
GET | /test_results/{test_result_id} | Get the result of a single test |
GET | /test_results/{test_result_id}/logs | Get the logs for a single test |
GET | /test_results/{test_result_id}/screenshots | List the available screenshots for a test |
GET | /screenshots/{screenshot_id} | Download a screenshot for a test result |
GET | /test_config_results | List test config results |
GET | /test_config_results/{test_config_result_id} | Get a test config result |
GET | /test_config_results/{test_config_result_id}/junit | Get the results of a test config run in junit format |
POST | /suts | Create a new SUT |
GET | /suts | List suts |
PUT | /suts/{sut_id} | Update existing SUT |
DELETE | /suts/{sut_id} | Delete existing SUT |
GET | /suts/{sut_id} | Get details of a SUT based on the SUT id |
Reference Table
Name | Type | Description |
---|---|---|
AuthRequestBody | Schema | |
AuthResponseBody | Schema | |
Criteria | Schema | |
Connection Types | Schema | The connection information for a SUT. |
HTTPValidationError | Schema | |
Problem | Schema | |
RunType | Schema | The possible run types for a particular test result. |
Screenshot | Schema | Info of an available screenshot for a particular test result. |
ScreenshotsPaginatedList | Schema | A paginated list of a single test result's screenshots available. |
Severity | Schema | The severity levels of a single test result log entry. |
SortBy | Schema | The possible sorting options available for sorting a list of test results. |
SortDirection | Schema | The possible direction applied during sorting. |
Stage | Schema | |
Status | Schema | The possible statuses for a particular test result. |
Sut | Schema | The information that is needed to create a new SUT |
SutsPaginatedList | Schema | A paginated list of the Suts. |
TestConfigResult | Schema | |
TestConfigResultSortBy | Schema | |
TestConfigResultsPaginatedList | Schema | |
TestConfigSource | Schema | |
TestConfigStatus | Schema | The possible statuses for a particular test config result. |
TestResult | Schema | The test result containing all the information for a single exploratory, replay or test case execution. |
TestResultLogEntriesPaginatedList | Schema | A paginated list of a single test result's log entries. |
TestResultLogEntry | Schema | A single log entry from a particular test result. |
TestResultsPaginatedList | Schema | A paginated list of the test results. |
ValidationError | Schema |
Path Details
[POST] /auth
Summary:
Obtain an access token from a client ID and secret
RequestBody
application/json
{
client_id: string
client_secret: string
}
Responses
200 OK
application/json
{
access_token: string
expires_in: integer
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /test_results
Summary:
List test results
Description:
Gets a paginated list of test results matching the filters applied.
Parameters (Query)
//
// The number of test results at the beginning which matches the filters applied but will be excluded from the returned list.
//
offset: integer
// The maximum number of test results that will be returned.<br>*Note*: The limit's maximum value can be changed by setting the LIMIT_MAX_VALUE in your system environment variables. Allowable range for LIMIT_MAX_VALUE is 1000-2147483647 inclusive.
limit: integer //default: 1000
// The possible sorting options available for sorting a list of test results.
sort_by: enum[id, model_or_suite_name, start_time, test_case_name, test_config_name, execution_environment_name, sut_name]
// The possible direction applied during sorting.
sort_direction: enum[asc, desc]
//
// Filter the test results by a particular feature file.<br>
// *Default value* : null
//
feature_file: string
//
// Filter the Gherkin test results by a particular scenario name.<br>
// *Default value* : null
//
scenario: string
// The possible run types for a particular test result.
run_type: enum[SCRIPTED_TEST_CASE, MODEL_TEST_CASE, EXPLORATORY, REPLAY, GHERKIN]
// The possible statuses for a particular test result.
status: enum[RUNNING, PASSED, FAILED, ERROR, CANCELLED]
//
// Filter the test results to obtain those which started after the given time.<br>
// *Default value* : null
//
start_time: string
//
// Filter the test results to obtain those which ended before the given time.<br>
// *Default value* : null
//
end_time: string
//
// Filter the test results to obtain the test results which uses the model matching the given model_id.<br>
// *Default value* : null
//
model_id: string
//
// Filter the test results to obtain the scripted test results which uses the suite matching the given suite_id.<br>
// *Default value* : null
//
suite_id: string
//
// Obtain all the test results for the given test_case_id.<br>
// *Default value* : null
//
test_case_id: string
//
// Obtain all the test results which uses this execution_environment_id for execution.<br>
// *Default value* : null
//
execution_environment_id: integer
//
// Obtain all the test results which uses the sut matching this sut_id for execution.<br>
// *Default value* : null
//
sut_id: string
//
// Obtain all the test results which are part of a test config run matching the given task_instance_id.<br>
// *Default value* : null
//
test_config_result_id: string
//
// Obtain all the test results of the given test_config_id.<br>
// *Default value* : null
//
test_config_id: string
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 OK
application/json
// A paginated list of the test results.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// The test result containing all the information for a single exploratory, replay or test case execution.
items: {
// The test result id.
id: integer
// The possible statuses for a particular test result.
status: enum[RUNNING, PASSED, FAILED, ERROR, CANCELLED]
// The possible run types for a particular test result.
run_type: enum[SCRIPTED_TEST_CASE, MODEL_TEST_CASE, EXPLORATORY, REPLAY, GHERKIN]
// Whether this test result was part of a test config configured rerun attempt.
is_rerun: boolean
// The time the test run started.
start_time: string
// The time the test run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the model used for the test execution. If this was a scripted test case result, this will be null.
model_name: Partial(string) & Partial(null)
// The id of the model used for the test execution. If this was a scripted test case result, this will be null.
model_id: Partial(string) & Partial(null)
// The name of the suite used for the test execution.
suite_name: Partial(string) & Partial(null)
// The id of the suite used for the test execution.
suite_id: Partial(string) & Partial(null)
// The name of the test case that is being executed. For an exploratory or replay test result, this will be null.
test_case_name: Partial(string) & Partial(null)
// The id of the test case that was executed. For an exploratory or replay test result, this will be null.
test_case_id: Partial(string) & Partial(null)
// The name of the design or run agent used for the test execution
execution_environment_name: Partial(string) & Partial(null)
// The id of the design or run agent used for the test execution.
execution_environment_id: Partial(integer) & Partial(null)
// The name of the SUT used for the test execution.
sut_name: Partial(string) & Partial(null)
// The id of the SUT used for the test execution.
sut_id: Partial(string) & Partial(null)
// The id of the test config result that this test result is part of. For a live run, this will be null.
test_config_result_id: Partial(string) & Partial(null)
// The test config step of which this test result represents. This is zero-indexed and for a live run result, this will be null.
test_config_step: Partial(integer) & Partial(null)
// The feature file this scenario test result was part of (if this is a gherkin test result).
feature_file: Partial(string) & Partial(null)
}[]
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /test_results/{test_result_id}
Summary:
Get the result of a single test
Description:
Gets the test result of the given test_result_id.
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 Test result retrieved successfully
application/json
// The test result containing all the information for a single exploratory, replay or test case execution.
{
// The test result id.
id: integer
// The possible statuses for a particular test result.
status: enum[RUNNING, PASSED, FAILED, ERROR, CANCELLED]
// The possible run types for a particular test result.
run_type: enum[SCRIPTED_TEST_CASE, MODEL_TEST_CASE, EXPLORATORY, REPLAY, GHERKIN]
// Whether this test result was part of a test config configured rerun attempt.
is_rerun: boolean
// The time the test run started.
start_time: string
// The time the test run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the model used for the test execution. If this was a scripted test case result, this will be null.
model_name: Partial(string) & Partial(null)
// The id of the model used for the test execution. If this was a scripted test case result, this will be null.
model_id: Partial(string) & Partial(null)
// The name of the suite used for the test execution.
suite_name: Partial(string) & Partial(null)
// The id of the suite used for the test execution.
suite_id: Partial(string) & Partial(null)
// The name of the test case that is being executed. For an exploratory or replay test result, this will be null.
test_case_name: Partial(string) & Partial(null)
// The id of the test case that was executed. For an exploratory or replay test result, this will be null.
test_case_id: Partial(string) & Partial(null)
// The name of the design or run agent used for the test execution
execution_environment_name: Partial(string) & Partial(null)
// The id of the design or run agent used for the test execution.
execution_environment_id: Partial(integer) & Partial(null)
// The name of the SUT used for the test execution.
sut_name: Partial(string) & Partial(null)
// The id of the SUT used for the test execution.
sut_id: Partial(string) & Partial(null)
// The id of the test config result that this test result is part of. For a live run, this will be null.
test_config_result_id: Partial(string) & Partial(null)
// The test config step of which this test result represents. This is zero-indexed and for a live run result, this will be null.
test_config_step: Partial(integer) & Partial(null)
// The feature file this scenario test result was part of (if this is a gherkin test result).
feature_file: Partial(string) & Partial(null)
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 Test result not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /test_results/{test_result_id}/logs
Summary:
Get the logs for a single test
Description:
Gets a paginated list of a single test result's logs.
Parameters (Query)
// The number of test result log entries at the beginning that will be excluded from the returned list.
offset: integer
// The maximum number of test result log entries that will be returned.<br>*Note*: The limit's maximum value can be changed by setting the LIMIT_MAX_VALUE in your system environment variables. Allowable range for LIMIT_MAX_VALUE is 1000-2147483647 inclusive.
limit: integer //default: 1000
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 Test result logs retrieved successfully.
application/json
// A paginated list of a single test result's log entries.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// A single log entry from a particular test result.
items: {
// The id of the test result of which this log entry is part of.
test_result_id: integer
// The timestamp when this log entry was created.
timestamp: string
// The message conveyed in this test result log entry.
message: string
// The severity levels of a single test result log entry.
severity: enum[CRITICAL, ERROR, WARNING, INFO, DEBUG]
stage: enum[INITIALISING, ENGINE, SNIPPET]
// The type of the message
message_type: string
// The name of the image
image_name: string
// The ID of the image
image_id: Partial(string) & Partial(null)
}[]
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 Test result not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /test_results/{test_result_id}/screenshots
Summary:
List the available screenshots for a test
Description:
Gets a paginated list of screenshots available for the test specified by the given test_result_id.
Parameters (Query)
// The number of screenshots available at the beginning that will be excluded from the returned list.
offset: integer
// The maximum number of screenshots available that will be returned.<br>*Note*: The limit's maximum value can be changed by setting the LIMIT_MAX_VALUE in your system environment variables. Allowable range for LIMIT_MAX_VALUE is 1000-2147483647 inclusive.
limit: integer //default: 1000
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 Screenshots available retrieved successfully.
application/json
// A paginated list of a single test result's screenshots available.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// Info of an available screenshot for a particular test result.
items: {
// The artifact id of this screenshot.
id: string
// The timestamp when this screenshot was created.
timestamp: string
// The image format of this screenshot.
content_type: string
}[]
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 Test result not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /screenshots/{screenshot_id}
Summary:
Download a screenshot for a test result
Description:
Downloads the screenshot for the given screenshot_id.
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 The screenshot of interest, in bytes.
image/png image/tiff image/jpeg
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 Test result screenshot not found.
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /test_config_results
Summary:
List test config results
Description:
Gets a paginated list of test config results matching the filters applied.
Parameters (Query)
// The number of test config results at the beginning which matches the filters applied but will be excluded from the returned list.
offset: integer
// The maximum number of test results that will be returned.<br>*Note*: The limit's maximum value can be changed by setting the LIMIT_MAX_VALUE in your system environment variables. Allowable range for LIMIT_MAX_VALUE is 1000-2147483647 inclusive.
limit: integer //default: 1000
sort_by: enum[start_time, test_config_name, source]
// The possible direction applied during sorting.
sort_direction: enum[asc, desc]
// The possible statuses for a particular test config result.
status: enum[PENDING, RUNNING, PASSED, PASSED_AFTER_RERUN, FAILED, ERROR, CANCELLING, CANCELLED]
//
// Filter the test config results to obtain those which started after the given time.<br>
// *Default value* : null
//
start_time: string
//
// Filter the test config results to obtain those which started before the given time.<br>
// *Default value* : null
//
end_time: string
// Filter the test config results to obtain the results that use the test config matching the given test_config_id.<br>*Default value* : null
test_config_id: string
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 OK
application/json
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
items: {
// The test config result ID
id: string
// The possible statuses for a particular test config result.
status: enum[PENDING, RUNNING, PASSED, PASSED_AFTER_RERUN, FAILED, ERROR, CANCELLING, CANCELLED]
// The time the test config run started.
start_time: string
// The time the test config run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the test configuration
test_config_name: Partial(string) & Partial(null)
// The ID of the test configuration
test_config_id: string
// The source from which the test config is being executed.
source: Partial(TestConfigSource) & Partial(null)
// Granular test config filter options that being used for test config
filter_options: Partial({
}) & Partial(null)
}[]
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /test_config_results/{test_config_result_id}
Summary:
Get a test config result
Description:
Gets the test config result for the given test_config_result_id.
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 Test config result retrieved successfully
application/json
{
// The test config result ID
id: string
// The possible statuses for a particular test config result.
status: enum[PENDING, RUNNING, PASSED, PASSED_AFTER_RERUN, FAILED, ERROR, CANCELLING, CANCELLED]
// The time the test config run started.
start_time: string
// The time the test config run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the test configuration
test_config_name: Partial(string) & Partial(null)
// The ID of the test configuration
test_config_id: string
// The source from which the test config is being executed.
source: Partial(TestConfigSource) & Partial(null)
// Granular test config filter options that being used for test config
filter_options: Partial({
}) & Partial(null)
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 Test config result not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /test_config_results/{test_config_result_id}/junit
Summary:
Get the results of a test config run in junit format
Description:
For the given test_config_result_id, generate a report in JUnit XML format
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 Test config results report generated successfully
application/json
{}
application/xml
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 Test config result not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[POST] /suts
Summary:
Create a new SUT
Description:
Create a new SUT based on given info.
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
RequestBody
application/json
connections fields may refer to Connection Types
Responses
200 Successful Response
application/json
// The information that is needed to create a new SUT
{
// The name of the SUT.
name: string
// The description of the SUT.
description: string
// The id of the SUT
id: string
// Whether this SUT is enabled or disabled
enabled: boolean
// List of connections for the SUT
connections: Partial([]) & Partial(null)
// List of criteria for the SUT
criteria: Partial({
// The ID of the criteria
id: string
// The name of the criteria
name: string
// The color of the criteria
color: string
}[]) & Partial(null)
execution_environments: string[]
}
201 OK
application/json
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /suts
Summary:
List suts
Description:
Gets a paginated list of SUTs matching the filters applied.
Parameters (Query)
//
// The number of suts at the beginning which matches the filters applied but will be excluded from the returned list.
//
offset: integer
// The maximum number of suts that will be returned.<br>*Note*: The limit's maximum value can be changed by setting the LIMIT_MAX_VALUE in your system environment variables. Allowable range for LIMIT_MAX_VALUE is 1000-2147483647 inclusive.
limit: integer //default: 1000
// Filter the suts by a sut name.
name: string
// Filter the sut by a particular enabled boolean flag.
enabled: boolean
// Filter the sut by a particular is_locked boolean flag.
is_locked: boolean
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 OK
application/json
// A paginated list of the Suts.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// The information that is needed to create a new SUT
items: {
// The name of the SUT.
name: string
// The description of the SUT.
description: string
// The id of the SUT
id: string
// Whether this SUT is enabled or disabled
enabled: boolean
// List of connections for the SUT
connections: Partial([]) & Partial(null)
// List of criteria for the SUT
criteria: Partial({
// The ID of the criteria
id: string
// The name of the criteria
name: string
// The color of the criteria
color: string
}[]) & Partial(null)
execution_environments: string[]
}[]
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[PUT] /suts/{sut_id}
Summary:
Update existing SUT
Description:
Update existing SUT based on given info.
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
RequestBody
application/json
connections fields may refer to Connection Types
Responses
200 Successful Response
application/json
// The information that is needed to create a new SUT
{
// The name of the SUT.
name: string
// The description of the SUT.
description: string
// The id of the SUT
id: string
// Whether this SUT is enabled or disabled
enabled: boolean
// List of connections for the SUT
connections: Partial([]) & Partial(null)
// List of criteria for the SUT
criteria: Partial({
// The ID of the criteria
id: string
// The name of the criteria
name: string
// The color of the criteria
color: string
}[]) & Partial(null)
execution_environments: string[]
}
201 OK
application/json
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 SUT ID not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[DELETE] /suts/{sut_id}
Summary:
Delete existing SUT
Description:
Delete existing SUT based on given SUT ID.
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 Successful Response
application/json
{}
204 No Content
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 SUT ID not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
[GET] /suts/{sut_id}
Summary:
Get details of a SUT based on the SUT id
Description:
Get the details of a specific SUT
Headers
// The access_token that is returned from the POST /auth endpoint.
authorization: string
Responses
200 SUT result returned successfully
application/json
// The information that is needed to create a new SUT
{
// The name of the SUT.
name: string
// The description of the SUT.
description: string
// The id of the SUT
id: string
// Whether this SUT is enabled or disabled
enabled: boolean
// List of connections for the SUT
connections: Partial([]) & Partial(null)
// List of criteria for the SUT
criteria: Partial({
// The ID of the criteria
id: string
// The name of the criteria
name: string
// The color of the criteria
color: string
}[]) & Partial(null)
execution_environments: string[]
}
400 Bad request
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
401 Unauthorized
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
403 Access denied
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
404 SUT is not found
application/json
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
422 Validation Error
application/json
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
References
AuthRequestBody
{
client_id: string
client_secret: string
}
AuthResponseBody
{
access_token: string
expires_in: integer
}
Criteria
{
// The ID of the criteria
id: string
// The name of the criteria
name: string
// The color of the criteria
color: string
}
Connection Types
More details can be found in the SUT Connections
List of connection types available:
VNC
{
connection_type: "VNC",
host: string,
port: 5900,
username: Partial(string) & Partial(null),
password: Partial(string) & Partial(null),
color_depth: integer,
scale_ratio: integer,
ssh_host: Partial(string) & Partial(null),
ssh_user: Partial(string) & Partial(null),
ssh_password: Partial(string) & Partial(null)
}
RDP
{
connection_type: "RDP",
host: string,
port: 3389,
username: Partial(string) & Partial(null),
password: Partial(string) & Partial(null),
color_depth: integer,
width: 1920,
height: 1080
}
WebDriver
{
connection_type: "webdriver",
host: string,
port: 4444,
capabilities: Partial({}),
browser: enum[none, chrome, firefox, safari, MicrosoftEdge, internet explorer],
}
Citrix
{
connection_type: "citrix",
username: string
password: string,
storefront_url: string,
application: string,
screenshot_interval: Partial(string),
screen_resolution: Partial(string)
}
Saucelabs Browser
{
connection_type: "saucelabsbrowser",
data_center: enum[us-west-1, eu-central-1, apac-southeast-1],
platform_name: string,
username: string,
api_key: string,
tunnel_name: string,
tunnel_owner: string,
url: string,
browser_name: string,
resolution: string,
version: string
}
Saucelabs Device
{
api_key: string,
connection_type: "saucelabsdevice",
data_center: enum[us-west-1, eu-central-1, apac-southeast-1],
platform_name: string,
username: string,
tunnel_name: string,
tunnel_owner: string,
url: string,
device_name: string
}
Android
{
connection_type: "android",
device_id: string
}
iOS
{
connection_type: "ios",
device_udid: string,
certificate_name_or_thumbprint: string,
provisioning_profile_name_or_identifier: string
}
Single System
{
connection_type: "singlesystem",
username: string,
password: string,
width: integer,
height: integer
}
HTTPValidationError
{
detail: {
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}[]
}
Problem
{
status: integer //default: 400
title: Partial(string) & Partial(null)
detail: Partial(string) & Partial(null)
type: Partial(string) & Partial(null)
}
RunType
{
"type": "string",
"enum": [
"SCRIPTED_TEST_CASE",
"MODEL_TEST_CASE",
"EXPLORATORY",
"REPLAY",
"GHERKIN"
],
"title": "RunType",
"description": "The possible run types for a particular test result."
}
Screenshot
// Info of an available screenshot for a particular test result.
{
// The artifact id of this screenshot.
id: string
// The timestamp when this screenshot was created.
timestamp: string
// The image format of this screenshot.
content_type: string
}
ScreenshotsPaginatedList
// A paginated list of a single test result's screenshots available.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// Info of an available screenshot for a particular test result.
items: {
// The artifact id of this screenshot.
id: string
// The timestamp when this screenshot was created.
timestamp: string
// The image format of this screenshot.
content_type: string
}[]
}
Severity
{
"type": "string",
"enum": [
"CRITICAL",
"ERROR",
"WARNING",
"INFO",
"DEBUG"
],
"title": "Severity",
"description": "The severity levels of a single test result log entry."
}
SortBy
{
"type": "string",
"enum": [
"id",
"model_or_suite_name",
"start_time",
"test_case_name",
"test_config_name",
"execution_environment_name",
"sut_name"
],
"title": "SortBy",
"description": "The possible sorting options available for sorting a list of test results."
}
SortDirection
{
"type": "string",
"enum": [
"asc",
"desc"
],
"title": "SortDirection",
"description": "The possible direction applied during sorting."
}
Stage
{
"type": "string",
"enum": [
"INITIALISING",
"ENGINE",
"SNIPPET"
],
"title": "Stage"
}
Status
{
"type": "string",
"enum": [
"RUNNING",
"PASSED",
"FAILED",
"ERROR",
"CANCELLED"
],
"title": "Status",
"description": "The possible statuses for a particular test result."
}
Sut
// The information that is needed to create a new SUT
{
// The name of the SUT.
name: string
// The description of the SUT.
description: string
// The id of the SUT
id: string
// Whether this SUT is enabled or disabled
enabled: boolean
// List of connections for the SUT
connections: Partial([]) & Partial(null)
// List of criteria for the SUT
criteria: Partial({
// The ID of the criteria
id: string
// The name of the criteria
name: string
// The color of the criteria
color: string
}[]) & Partial(null)
execution_environments: string[]
}
SutsPaginatedList
// A paginated list of the Suts.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// The information that is needed to create a new SUT
items: {
// The name of the SUT.
name: string
// The description of the SUT.
description: string
// The id of the SUT
id: string
// Whether this SUT is enabled or disabled
enabled: boolean
// List of connections for the SUT
connections: Partial([]) & Partial(null)
// List of criteria for the SUT
criteria: Partial({
// The ID of the criteria
id: string
// The name of the criteria
name: string
// The color of the criteria
color: string
}[]) & Partial(null)
execution_environments: string[]
}[]
}
TestConfigResult
{
// The test config result ID
id: string
// The possible statuses for a particular test config result.
status: enum[PENDING, RUNNING, PASSED, PASSED_AFTER_RERUN, FAILED, ERROR, CANCELLING, CANCELLED]
// The time the test config run started.
start_time: string
// The time the test config run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the test configuration
test_config_name: Partial(string) & Partial(null)
// The ID of the test configuration
test_config_id: string
// The source from which the test config is being executed.
source: Partial(TestConfigSource) & Partial(null)
// Granular test config filter options that being used for test config
filter_options: Partial({
}) & Partial(null)
}
TestConfigResultSortBy
{
"type": "string",
"enum": [
"start_time",
"test_config_name",
"source"
],
"title": "TestConfigResultSortBy"
}
TestConfigResultsPaginatedList
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
items: {
// The test config result ID
id: string
// The possible statuses for a particular test config result.
status: enum[PENDING, RUNNING, PASSED, PASSED_AFTER_RERUN, FAILED, ERROR, CANCELLING, CANCELLED]
// The time the test config run started.
start_time: string
// The time the test config run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the test configuration
test_config_name: Partial(string) & Partial(null)
// The ID of the test configuration
test_config_id: string
// The source from which the test config is being executed.
source: Partial(TestConfigSource) & Partial(null)
// Granular test config filter options that being used for test config
filter_options: Partial({
}) & Partial(null)
}[]
}
TestConfigSource
{
"type": "string",
"enum": [
"DAI",
"DAI_SCHEDULE",
"CLI"
],
"title": "TestConfigSource"
}
TestConfigStatus
{
"type": "string",
"enum": [
"PENDING",
"RUNNING",
"PASSED",
"PASSED_AFTER_RERUN",
"FAILED",
"ERROR",
"CANCELLING",
"CANCELLED"
],
"title": "TestConfigStatus",
"description": "The possible statuses for a particular test config result."
}
TestResult
// The test result containing all the information for a single exploratory, replay or test case execution.
{
// The test result id.
id: integer
// The possible statuses for a particular test result.
status: enum[RUNNING, PASSED, FAILED, ERROR, CANCELLED]
// The possible run types for a particular test result.
run_type: enum[SCRIPTED_TEST_CASE, MODEL_TEST_CASE, EXPLORATORY, REPLAY, GHERKIN]
// Whether this test result was part of a test config configured rerun attempt.
is_rerun: boolean
// The time the test run started.
start_time: string
// The time the test run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the model used for the test execution. If this was a scripted test case result, this will be null.
model_name: Partial(string) & Partial(null)
// The id of the model used for the test execution. If this was a scripted test case result, this will be null.
model_id: Partial(string) & Partial(null)
// The name of the suite used for the test execution.
suite_name: Partial(string) & Partial(null)
// The id of the suite used for the test execution.
suite_id: Partial(string) & Partial(null)
// The name of the test case that is being executed. For an exploratory or replay test result, this will be null.
test_case_name: Partial(string) & Partial(null)
// The id of the test case that was executed. For an exploratory or replay test result, this will be null.
test_case_id: Partial(string) & Partial(null)
// The name of the design or run agent used for the test execution
execution_environment_name: Partial(string) & Partial(null)
// The id of the design or run agent used for the test execution.
execution_environment_id: Partial(integer) & Partial(null)
// The name of the SUT used for the test execution.
sut_name: Partial(string) & Partial(null)
// The id of the SUT used for the test execution.
sut_id: Partial(string) & Partial(null)
// The id of the test config result that this test result is part of. For a live run, this will be null.
test_config_result_id: Partial(string) & Partial(null)
// The test config step of which this test result represents. This is zero-indexed and for a live run result, this will be null.
test_config_step: Partial(integer) & Partial(null)
// The feature file this scenario test result was part of (if this is a gherkin test result).
feature_file: Partial(string) & Partial(null)
}
TestResultLogEntriesPaginatedList
// A paginated list of a single test result's log entries.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// A single log entry from a particular test result.
items: {
// The id of the test result of which this log entry is part of.
test_result_id: integer
// The timestamp when this log entry was created.
timestamp: string
// The message conveyed in this test result log entry.
message: string
// The severity levels of a single test result log entry.
severity: enum[CRITICAL, ERROR, WARNING, INFO, DEBUG]
stage: enum[INITIALISING, ENGINE, SNIPPET]
// The type of the message
message_type: string
// The name of the image
image_name: string
// The ID of the image
image_id: Partial(string) & Partial(null)
}[]
}
TestResultLogEntry
// A single log entry from a particular test result.
{
// The id of the test result of which this log entry is part of.
test_result_id: integer
// The timestamp when this log entry was created.
timestamp: string
// The message conveyed in this test result log entry.
message: string
// The severity levels of a single test result log entry.
severity: enum[CRITICAL, ERROR, WARNING, INFO, DEBUG]
stage: enum[INITIALISING, ENGINE, SNIPPET]
// The type of the message
message_type: string
// The name of the image
image_name: string
// The ID of the image
image_id: Partial(string) & Partial(null)
}
TestResultsPaginatedList
// A paginated list of the test results.
{
// The total number of items that matches the request before any limit or offset are applied.
total_count: integer
// The date and time when this request was made.
date_as_of: string
// The test result containing all the information for a single exploratory, replay or test case execution.
items: {
// The test result id.
id: integer
// The possible statuses for a particular test result.
status: enum[RUNNING, PASSED, FAILED, ERROR, CANCELLED]
// The possible run types for a particular test result.
run_type: enum[SCRIPTED_TEST_CASE, MODEL_TEST_CASE, EXPLORATORY, REPLAY, GHERKIN]
// Whether this test result was part of a test config configured rerun attempt.
is_rerun: boolean
// The time the test run started.
start_time: string
// The time the test run completed. If it is still running, this will be null.
end_time: Partial(string) & Partial(null)
// The name of the model used for the test execution. If this was a scripted test case result, this will be null.
model_name: Partial(string) & Partial(null)
// The id of the model used for the test execution. If this was a scripted test case result, this will be null.
model_id: Partial(string) & Partial(null)
// The name of the suite used for the test execution.
suite_name: Partial(string) & Partial(null)
// The id of the suite used for the test execution.
suite_id: Partial(string) & Partial(null)
// The name of the test case that is being executed. For an exploratory or replay test result, this will be null.
test_case_name: Partial(string) & Partial(null)
// The id of the test case that was executed. For an exploratory or replay test result, this will be null.
test_case_id: Partial(string) & Partial(null)
// The name of the design or run agent used for the test execution
execution_environment_name: Partial(string) & Partial(null)
// The id of the design or run agent used for the test execution.
execution_environment_id: Partial(integer) & Partial(null)
// The name of the SUT used for the test execution.
sut_name: Partial(string) & Partial(null)
// The id of the SUT used for the test execution.
sut_id: Partial(string) & Partial(null)
// The id of the test config result that this test result is part of. For a live run, this will be null.
test_config_result_id: Partial(string) & Partial(null)
// The test config step of which this test result represents. This is zero-indexed and for a live run result, this will be null.
test_config_step: Partial(integer) & Partial(null)
// The feature file this scenario test result was part of (if this is a gherkin test result).
feature_file: Partial(string) & Partial(null)
}[]
}
ValidationError
{
loc: Partial(string) & Partial(integer)[]
msg: string
type: string
}