Eggplant Public API
Version 1.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 | 
Reference Table
| Name | Type | Description | 
|---|---|---|
| AuthRequestBody | Schema | |
| AuthResponseBody | Schema | |
| 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. | 
| Status | Schema | The possible statuses for a particular test 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 key used to determine the order of the returned test result items.
// 
sort_by: SortBy
// 
// The order direction applied to the test result items during sorting.
// 
sort_direction: SortDirection
// 
// Filter the test results by a particular test result status.
// 
status: Status
// 
// 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]
    // 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)
  }[]
}
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]
  // 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)
}
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]
  }[]
}
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>
// *Default value* : null
// 
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
  }[]
}
References
AuthRequestBody
{
  client_id: string
  client_secret: string
}
AuthResponseBody
{
  access_token: string
  expires_in: 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"
  ],
  "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."
}
Status
{
  "type": "string",
  "enum": [
    "RUNNING",
    "PASSED",
    "FAILED",
    "ERROR",
    "CANCELLED"
  ],
  "title": "Status",
  "description": "The possible statuses for a particular test 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]
  // 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)
}
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]
  }[]
}
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]
}
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]
    // 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)
  }[]
}
ValidationError
{
  loc: Partial(string) & Partial(integer)[]
  msg: string
  type: string
}