openapi: 3.0.1
info:
title: XTC API
contact:
name: API Support
url: https://www.xceptance.com/en/contact
version: "1.0"
tags:
- name: Organization
- name: Project
- name: Load Test
paths:
/public/api/v2/orgs/{org}/projects/{project}/code-archives/{code-archive}:
delete:
tags:
- Project
summary: Delete a Code Archive
description: This deletes a code archive.
Required Scope(s):
CODEARCHIVE_DELETE
operationId: deleteCodeArchive
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: code-archive
in: path
description: Index of code archive to delete.
required: true
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultVoid'
security:
- AccessToken: []
- Default:
- CODEARCHIVE_DELETE
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/exports:
get:
tags:
- Project
summary: List Export Archives
description: Lists the scenario execution export archives of a monitoring project.
The list can be sorted and paged.
Required Scope(s): MONITORING_EXPORTS
operationId: listExportArchiveFiles
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: sort
in: query
description: "The list can be sorted by \"url\" only. Ascending order is default,\
\ for descending order add a \"-\" as prefix."
schema:
type: string
- name: offset
in: query
description: Set the offset to be used for pagination. Default is 0.
schema:
type: integer
format: int32
- name: limit
in: query
description: Set the limit to be used for pagination. Default is 20.
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultExportArchiveFileList'
security:
- AccessToken: []
- Default:
- MONITORING_EXPORTS
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/exports/{year-month}/archive:
get:
tags:
- Project
summary: Download Export Archive
description: Downloads the scenario execution export archive for a given month.
Required Scope(s): MONITORING_EXPORTS
operationId: monitoringExecutionDataDownload
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: year-month
in: path
description: The month for which to download the export archive (e.g. 2024-06)
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: FILE - The request was successful. The response is a binary
file
content:
application/gzip:
schema:
type: string
description: A binary file
format: binary
security:
- AccessToken: []
- Default:
- MONITORING_EXPORTS
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}:
get:
tags:
- Project
summary: Project Information
description: "This lists all important details of a project, depending on the\
\ type of the project.
Required Scope(s): PROJECT_DETAILS"
operationId: projectDetails
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultProject'
security:
- AccessToken: []
- Default:
- PROJECT_DETAILS
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/resource-usage:
get:
tags:
- Project
summary: Resource Usage
description: "Returns the resource usage of a project, such as storage and machine\
\ hours. It will return the last 30 days by default. If needed, you can fetch\
\ the resource usage for another period of time but always for the last days\
\ only, such as the last 45 days. The machine usage is reported in minutes\
\ (rounded up to the next full minute), while the storage usage is reported\
\ as the P95 of the storage usage during the day.
Required Scope(s):\
\ PROJECT_RESOURCE_USAGE"
operationId: resourceUsage
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: days
in: query
description: Number of days to retrieve resource usage for (defaults to 30).
This is always seen from the current day.
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultProjectResourceUsage'
security:
- AccessToken: []
- Default:
- PROJECT_RESOURCE_USAGE
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/test:
get:
tags:
- Project
summary: Test
description: "This is a test endpoint to just check that your setup is correct,\
\ that you can reach the API, and that your credentials are working properly.\
\ You don't need this at all, if you're comfortable with REST APIs, but it\
\ can be very helpful to just play around without doing any damage.
\
\ Required Scope(s): PROJECT_TEST_GET"
operationId: testRead
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTest'
security:
- AccessToken: []
- Default:
- PROJECT_TEST_GET
servers:
- url: https://xtc.xceptance.com
post:
tags:
- Project
summary: Test with Parameter
description: " This is a test endpoint to just check that your setup is correct,\
\ that you can reach the API, and that your credentials are working properly.\
\ You don't need this at all, if you're comfortable with REST APIs, but it\
\ can be very helpful to just play around without doing any damage. You can\
\ send data and the API will return it to you.
Required Scope(s):\
\ PROJECT_TEST_POST"
operationId: testWrite
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TestValueParam'
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTestValue'
security:
- AccessToken: []
- Default:
- PROJECT_TEST_POST
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/code-archives:
post:
tags:
- Project
summary: Upload a Code Archive
description: "This uploads the GIT code archive as a raw binary stream. It must\
\ contain a single directory, which contains the project root of the testsuite,\
\ similar to the structure of a GIT repository
Required Scope(s):\
\ CODEARCHIVE_UPLOAD"
operationId: uploadCodeArchive
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: Content-Digest
in: header
description: "SHA-512 checksum of the code archive in format: sha-512=:[Base64-Hash]:"
schema:
type: string
- name: label
in: query
description: Set the label of the code archive.
schema:
type: string
- name: comment
in: query
description: Set the comment of the code archive.
schema:
type: string
requestBody:
description: The code archive (zip file) as binary stream.
content:
application/zip:
schema:
type: string
format: binary
required: true
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultVoid'
security:
- AccessToken: []
- Default:
- CODEARCHIVE_UPLOAD
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects:
get:
tags:
- Organization
summary: Projects
description: "This lists all projects of an organization, including some high-level\
\ details such as creation date and project type. The list can be sorted,\
\ filtered, and paged.
Required Scope(s): PROJECT_LIST"
operationId: projectList
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: sort
in: query
description: "The list can be sorted by state, type, name, shortName or description.\
\ Ascending order is default, for descending order add a \"-\" as prefix."
schema:
type: string
- name: filter
in: query
description: "The list can be filtered by name, shortName and description."
schema:
type: string
- name: offset
in: query
description: Set the offset to be used for pagination. Default is 0.
schema:
type: integer
format: int32
- name: limit
in: query
description: Set the limit to be used for pagination. Default is 20.
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultProjectList'
security:
- AccessToken: []
- Default:
- PROJECT_LIST
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/resource-usage:
get:
tags:
- Organization
summary: Resource Usage
description: "Returns the resource usage of an organization, such as storage\
\ and machine hours. It will return the last 12 months by default. If needed,\
\ you can specify a year or a year and month to query data more selectively.\
\ The machine usage is reported in minutes (rounded up to the next full minute),\
\ while the storage usage is reported as the P95 of the storage usage during\
\ the day.
Required Scope(s): ORGANIZATION_RESOURCE_USAGE"
operationId: resourceUsage_1
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: year
in: query
description: "The year for which to retrieve resource usage data, e.g., 2024.\
\ The current year will be the default if only the month has been specified."
schema:
type: integer
format: int32
- name: month
in: query
description: The month for which to retrieve resource usage data (1 to 12).
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTenantResourceUsage'
security:
- AccessToken: []
- Default:
- ORGANIZATION_RESOURCE_USAGE
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}:
get:
tags:
- Organization
summary: Organization Information
description: This API returns details about the organization.
Required
Scope(s): ORGANIZATION_DETAILS
operationId: tenantDetails
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultOrganization'
security:
- AccessToken: []
- Default:
- ORGANIZATION_DETAILS
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/test:
get:
tags:
- Organization
summary: Test
description: " This is a test endpoint to just check that your setup is correct,\
\ that you can reach the API, and that your credentials are working properly.\
\ You don't need this at all, if you're comfortable with REST APIs, but it\
\ can be very helpful to just play around without doing any damage.
\
\ Required Scope(s): ORGANIZATION_TEST_GET"
operationId: testRead_1
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTest'
security:
- AccessToken: []
- Default:
- ORGANIZATION_TEST_GET
servers:
- url: https://xtc.xceptance.com
post:
tags:
- Organization
summary: Test with Parameter
description: "This is a test endpoint to just check that your setup is correct,\
\ that you can reach the API, and that your credentials are working properly.\
\ You don't need this at all, if you're comfortable with REST APIs, but it\
\ can be very helpful to just play around without doing any damage. You can\
\ send data and the API will return it to you.
Required Scope(s):\
\ ORGANIZATION_TEST_POST"
operationId: testWrite_1
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TestValueParam'
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTestValue'
security:
- AccessToken: []
- Default:
- ORGANIZATION_TEST_POST
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests/{id}/evaluation:
post:
summary: Update Load Test Evaluation
description: Updates the evaluation of the specified load test.
Required
Scope(s): LOADTEST_DETAILS
operationId: updateLoadTestEvaluation
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoadTestEvaluationData'
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultLoadTestEvaluationResult'
security:
- AccessToken: []
- Default:
- LOADTEST_DETAILS
servers:
- url: https://xtc.xceptance.com
delete:
summary: Delete Load Test Evaluation
description: Deletes the evaluation of the specified load test.
Required
Scope(s): LOADTEST_DETAILS
operationId: deleteLoadTestEvaluation
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultLoadTestEvaluationResult'
security:
- AccessToken: []
- Default:
- LOADTEST_DETAILS
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests/{id}:
get:
tags:
- Load Test
summary: Load Test Information
description: "This returns all load test information, including the links to\
\ download reports and results. All existing reports and results are listed\
\ and their respective download links. This will also the global status of\
\ the test such as but not limited to scheduled, started, new, running.
\
\ Required Scope(s): LOADTEST_DETAILS"
operationId: loadTestDetails
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultLoadTestDetails'
security:
- AccessToken: []
- Default:
- LOADTEST_DETAILS
servers:
- url: https://xtc.xceptance.com
post:
tags:
- Load Test
summary: "Duplicate, Start, Abort a Load Test or Update the Load Test Information"
description: "The action \"copy\" creates a duplicate of a load test for later\
\ modification and execution. The action \"start\" starts a load test that\
\ is in status NEW or SCHEDULED. The action \"abort\" aborts a load test that\
\ is in a running state. The action \"update\" allows to update name, description\
\ and machine settings. At least one field has to be specified.
Required\
\ Scope(s): LOADTEST_COPY_RUN"
operationId: loadTestAction
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoadTestAction'
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultLoadTestActionResult'
security:
- AccessToken: []
- Default:
- LOADTEST_COPY_RUN
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests:
get:
tags:
- Load Test
summary: List of Load Tests
description: "This returns a list of load tests of a project with some basic\
\ information such as startedAt, finishedAt, name, ID, state, summary, and\
\ rating.
Required Scope(s): LOADTEST_LIST"
operationId: loadTestList
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: sort
in: query
description: "The list can be sorted by index, name, startedAt, description,\
\ finishedAt, state, summary or rating. Ascending order is default, for\
\ descending order add a \"-\" as prefix."
schema:
type: string
- name: filter
in: query
description: The list can be filtered by name.
schema:
type: string
- name: offset
in: query
description: Set the offset to be used for pagination. Default is 0.
schema:
type: integer
format: int32
- name: limit
in: query
description: Set the limit to be used for pagination. Default is 20.
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultLoadTestList'
security:
- AccessToken: []
- Default:
- LOADTEST_LIST
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests/{id}/reports/{report}/archive:
get:
tags:
- Load Test
summary: Download Report Archive
description: Starts the download of the archive of the specified load test report.
Required Scope(s): LOADTEST_REPORT_DOWNLOAD
operationId: loadTestReportDownload
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
- name: report
in: path
description: The load test report index
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: FILE - The request was successful. The response is a binary
file
content:
application/gzip:
schema:
type: string
description: A binary file
format: binary
security:
- AccessToken: []
- Default:
- LOADTEST_REPORT_DOWNLOAD
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests/{id}/reports/{report}/scorecard:
get:
tags:
- Load Test
summary: Download Scorecard XML File
description: Downloads the `scorecard.xml` file of the specified load test report.
Required Scope(s): LOADTEST_REPORT_DOWNLOAD
operationId: loadTestReportScorecardXmlDownload
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
- name: report
in: path
description: The load test report index
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: FILE - The request was successful. The response is an XML file
content:
text/xml:
schema:
type: string
description: An XML file
format: binary
security:
- AccessToken: []
- Default:
- LOADTEST_REPORT_DOWNLOAD
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests/{id}/reports/{report}/test-report:
get:
tags:
- Load Test
summary: Download Test Report XML File
description: Downloads the `testreport.xml` file of the specified load test
report.
Required Scope(s): LOADTEST_REPORT_DOWNLOAD
operationId: loadTestReportXmlDownload
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
- name: report
in: path
description: The load test report index
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: FILE - The request was successful. The response is an XML file
content:
text/xml:
schema:
type: string
description: An XML file
format: binary
security:
- AccessToken: []
- Default:
- LOADTEST_REPORT_DOWNLOAD
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests/{id}/results/{result}/archive:
get:
tags:
- Load Test
summary: Download Result Archive
description: Starts the download of the archive of the specified load test result.
Required Scope(s): LOADTEST_RESULT_DOWNLOAD
operationId: loadTestResultDownload
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
- name: result
in: path
description: The load test result index
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: FILE - The request was successful. The response is a binary
file
content:
application/gzip:
schema:
type: string
description: A binary file
format: binary
security:
- AccessToken: []
- Default:
- LOADTEST_RESULT_DOWNLOAD
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/load-tests/{id}/status:
get:
tags:
- Load Test
summary: Detailed Load Test Status
description: "Returns a detailed load test status, including detailed scenario\
\ information. This API is especially useful when monitoring an active test.
\
\ Required Scope(s): LOADTEST_STATUS"
operationId: loadTestStatus
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: id
in: path
description: The load test index
required: true
schema:
type: string
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultLoadTestStatusDetails'
security:
- AccessToken: []
- Default:
- LOADTEST_STATUS
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/private-machines:
get:
tags:
- Private Machine
summary: List Private Machines
description: Lists all the private machines of a project with their details.
Required Scope(s): PRIVATEMACHINE_LIST
operationId: list
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: sort
in: query
description: "The list can be sorted by index, name, startedAt, description,\
\ finishedAt, state, summary or rating. Ascending order is default, for\
\ descending order add a \"-\" as prefix."
schema:
type: string
- name: filter
in: query
description: The list can be filtered by name.
schema:
type: string
- name: offset
in: query
description: Set the offset to be used for pagination. Default is 0.
schema:
type: integer
format: int32
- name: limit
in: query
description: Set the limit to be used for pagination. Default is 20.
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultPrivateMachineList'
security:
- AccessToken: []
- Default:
- PRIVATEMACHINE_LIST
servers:
- url: https://xtc.xceptance.com
post:
tags:
- Private Machine
summary: Register a Private machine
description: (Re-)Registers a private machine with a project.
Required
Scope(s): PRIVATEMACHINE_REGISTER
operationId: register
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateMachineData'
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultPrivateMachine'
security:
- AccessToken: []
- Default:
- PRIVATEMACHINE_REGISTER
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/executions:
get:
tags:
- Test Execution
summary: List Test Executions
description: This returns a list of test executions of a project with some basic
information.
Required Scope(s): TESTEXECUTION_LIST
operationId: testExecutionList
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: sort
in: query
description: "The list can be sorted by TODO. Ascending order is default,\
\ for descending order add a \"-\" as prefix."
schema:
type: string
- name: filter
in: query
description: The list can be filtered by name.
schema:
type: string
- name: offset
in: query
description: Set the offset to be used for pagination. Default is 0.
schema:
type: integer
format: int32
- name: limit
in: query
description: Set the limit to be used for pagination. Default is 20.
schema:
type: integer
format: int32
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTestExecutionList'
security:
- AccessToken: []
- Default:
- TESTEXECUTION_LIST
servers:
- url: https://xtc.xceptance.com
post:
tags:
- Test Execution
summary: Create a New Test Execution
description: This creates and returns a new test execution.
Required
Scope(s): TESTEXECUTION_CREATE
operationId: createTestExecution
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StartTestExecutionData'
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTestExecution'
security:
- AccessToken: []
- Default:
- TESTEXECUTION_CREATE
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/executions/{testexecution}:
patch:
tags:
- Test Execution
summary: Update an Existing Test Execution
description: This updates and returns an existing test execution.
Required
Scope(s): TESTEXECUTION_UPDATE
operationId: updateTestExecution
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: testexecution
in: path
description: The test execution index
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTestExecutionData'
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultTestExecution'
security:
- AccessToken: []
- Default:
- TESTEXECUTION_UPDATE
servers:
- url: https://xtc.xceptance.com
/public/api/v2/orgs/{org}/projects/{project}/executions/{testexecution}/report:
post:
tags:
- Test Execution
summary: Upload a Report Archive
description: This uploads the report archive of a finished test execution.
Required Scope(s): TESTEXECUTION_REPORT_UPLOAD
operationId: uploadReportArchive
parameters:
- name: org
in: path
description: The short name of the organization
required: true
schema:
type: string
- name: project
in: path
description: The short name of the project
required: true
schema:
type: string
- name: testexecution
in: path
description: The test execution index
required: true
schema:
type: string
requestBody:
content:
application/gzip:
schema:
type: string
description: A binary file
format: binary
required: true
responses:
"400":
description: BAD_REQUEST - The request is invalid. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"401":
description: UNAUTHORIZED - Authorization insufficient. See error message
field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"403":
description: FORBIDDEN - Authorization rejected. See error message field
for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: NOT_FOUND - The requested resource was not found. See error
message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"500":
description: INTERNAL_SERVER_ERROR - There was something wrong on the server
side. See error message field for details
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"200":
description: SUCCESS - The request was successful. The data field contains
the requested content
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResultVoid'
security:
- AccessToken: []
- Default:
- TESTEXECUTION_REPORT_UPLOAD
servers:
- url: https://xtc.xceptance.com
components:
schemas:
ErrorResponse:
type: object
properties:
errorMessage:
type: string
description: A message describing the error in more detail
success:
type: boolean
description: Is always false for a failed operation
default: false
description: The result of a failed operation
ApiResultVoid:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
type: object
description: Additional result data
description: The result of a successful operation
ApiResultExportArchiveFileList:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/ExportArchiveFileList'
description: The result of a successful operation
ExportArchiveFile:
type: object
properties:
url:
type: string
description: The download URL of the export archive file
description: Details of an export archive file
ExportArchiveFileList:
type: object
properties:
_links:
$ref: '#/components/schemas/PaginationLinks'
exports:
type: array
description: A list of export archive files
items:
$ref: '#/components/schemas/ExportArchiveFile'
limit:
type: integer
description: The applied list limit
format: int32
offset:
type: integer
description: The applied list offset
format: int32
size:
type: integer
description: The returned list size
format: int32
description: List of export archive files
PaginationLinks:
type: object
properties:
base:
type: string
description: Base URL
prev:
type: string
description: Link to the previous page. Null if there is no previous page.
self:
type: string
description: Link to the current resource.
next:
type: string
description: Link to the next page. Null if there is no next page.
description: Provides links for pagination purposes
ApiResultProject:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/Project'
description: The result of a successful operation
Project:
type: object
properties:
state:
type: string
description: The current state of the project
enum:
- Active
- Inactive
- Archived
type:
type: string
description: The type of the project
name:
type: string
description: The name of the project
shortName:
type: string
description: The short name of the project
description:
type: string
description: The description of the project
createdAt:
type: string
description: The date and time of project creation
format: date-time
lastUpdatedAt:
type: string
description: The date and time of most recent modification to the project
format: date-time
description: Basic details of a project
ApiResultProjectResourceUsage:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/ProjectResourceUsage'
description: The result of a successful operation
ProjectResourceUsage:
type: object
properties:
storage:
type: array
description: Storage usage per day
items:
$ref: '#/components/schemas/ProjectResourceUsage.Storage'
machines:
type: array
description: Machine usage per test run
items:
$ref: '#/components/schemas/ProjectResourceUsage.Machines'
description: Project's resource usage
ProjectResourceUsage.Machines:
type: object
properties:
id:
type: integer
description: ID of the machine usage record
format: int32
loadTest:
$ref: '#/components/schemas/ProjectResourceUsage.Machines.LoadTest'
machinesStartedAt:
type: string
description: Machine start time
format: date-time
machinesStoppedAt:
type: string
description: Machine stop time
format: date-time
aws:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for AWS Cloud
format: int64
description: Machine minutes per instance type for AWS Cloud
gcp:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for Google Cloud
format: int64
description: Machine minutes per instance type for Google Cloud
hetzner:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for Hetzner Cloud
format: int64
description: Machine minutes per instance type for Hetzner Cloud
custom:
type: integer
description: Machine minutes for custom machines
format: int64
totalMinutes:
type: integer
description: Total number of minutes for all machine types
format: int64
description: Machine usage in minutes for each test run
ProjectResourceUsage.Machines.LoadTest:
type: object
properties:
id:
type: integer
description: ID of the test run
format: int32
startedBy:
type: string
description: Which user started the test
startedAt:
type: string
description: Test start time
format: date-time
state:
type: string
description: Final state of the test run
enum:
- FINISHED
- ABORTED
- ERROR
description: Contextual information about the test run
ProjectResourceUsage.Storage:
type: object
properties:
date:
type: string
description: Reporting date
format: date
sizes:
type: object
additionalProperties:
type: integer
description: Storage usage in MiB
format: int64
description: Storage usage in MiB
description: Storage usage per day
ApiResultTest:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/Test'
description: The result of a successful operation
Test:
type: object
properties:
createdAt:
type: string
description: The ISO 8601 compliant date-time when the response was created
format: date-time
description: A simple test result
ApiResultTestValue:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/TestValue'
description: The result of a successful operation
TestValue:
type: object
properties:
createdAt:
type: string
description: The ISO 8601 compliant date-time when the response was created
format: date-time
value:
type: string
description: A simple test value
description: A simple test result with a value
TestValueParam:
type: object
properties:
value:
type: string
description: A simple test value
example: "1"
description: A simple test parameter
ApiResultProjectList:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/ProjectList'
description: The result of a successful operation
ProjectList:
type: object
properties:
_links:
$ref: '#/components/schemas/PaginationLinks'
projects:
type: array
description: A list of projects
items:
$ref: '#/components/schemas/Project'
limit:
type: integer
description: The applied list limit
format: int32
offset:
type: integer
description: The applied list offset
format: int32
size:
type: integer
description: The returned list size
format: int32
description: List projects
ApiResultTenantResourceUsage:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/TenantResourceUsage'
description: The result of a successful operation
TenantResourceUsage:
type: object
properties:
storage:
type: array
description: Storage usage of the organization
items:
$ref: '#/components/schemas/TenantResourceUsage.Storage'
machines:
type: array
description: Machine usage of the organization
items:
$ref: '#/components/schemas/TenantResourceUsage.Machines'
description: Resource usage of the organization
TenantResourceUsage.Machines:
type: object
properties:
year:
type: integer
description: Reporting year (e.g. 2024)
format: int32
month:
type: integer
description: Reporting month (1 to 12)
format: int32
projects:
type: array
description: Machine usage per project
items:
$ref: '#/components/schemas/TenantResourceUsage.Machines.Project'
aws:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for AWS Cloud
format: int64
description: Machine minutes per instance type for AWS Cloud
gcp:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for Google Cloud
format: int64
description: Machine minutes per instance type for Google Cloud
hetzner:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for Hetzner Cloud
format: int64
description: Machine minutes per instance type for Hetzner Cloud
custom:
type: integer
description: Machine minutes for custom machines
format: int64
testExecutions:
type: integer
description: Number of test executions performed in this month
format: int32
totalMinutes:
type: integer
description: Total number of minutes for all machine types
format: int64
description: Machine usage by month and year
TenantResourceUsage.Machines.Project:
type: object
properties:
name:
type: string
description: Project name
shortName:
type: string
description: Project short name
aws:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for AWS Cloud
format: int64
description: Machine minutes per instance type for AWS Cloud
gcp:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for Google Cloud
format: int64
description: Machine minutes per instance type for Google Cloud
hetzner:
type: object
additionalProperties:
type: integer
description: Machine minutes per instance type for Hetzner Cloud
format: int64
description: Machine minutes per instance type for Hetzner Cloud
custom:
type: integer
description: Machine minutes for custom machines
format: int64
testExecutions:
type: integer
description: Number of test executions
format: int32
totalMinutes:
type: integer
description: Total number of minutes for all machine types
format: int64
description: Machine usage grouped by cloud vendor and type
TenantResourceUsage.Storage:
type: object
properties:
year:
type: integer
description: Reporting year (e.g. 2024)
format: int32
month:
type: integer
description: Reporting month (1 to 12)
format: int32
sizes:
type: object
additionalProperties:
type: integer
description: Storage usage in MiB
format: int64
description: Storage usage in MiB
projects:
type: array
description: Storage used by projects of the organization
items:
$ref: '#/components/schemas/TenantResourceUsage.Storage.Project'
description: Storage usage by month and year
TenantResourceUsage.Storage.Project:
type: object
properties:
name:
type: string
description: Project name
shortName:
type: string
description: Project short name
sizes:
type: object
additionalProperties:
type: integer
description: Storage usage in MiB
format: int64
description: Storage usage in MiB
description: Storage used by projects of the organization
ApiResultOrganization:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/Organization'
description: The result of a successful operation
Organization:
type: object
properties:
description:
type: string
description: A short description of the organization
name:
type: string
description: The name of the organization
shortName:
type: string
description: An abbreviation of the organization's name
state:
type: string
description: The current state of the organization
enum:
- Active
- Locked
description: Basic details of an organization
ApiResultLoadTestEvaluationResult:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/LoadTestEvaluationResult'
description: The result of a successful operation
LoadTestEvaluationResult:
type: object
properties:
rating:
type: string
description: "The rating from \"A+\" to \"F\", or \"None\"."
enum:
- APlus
- A
- B
- C
- D
- F
- None
summary:
type: string
description: The summary line of the load test.
nullable: true
details:
type: string
description: Detailed evaluation of the load test.
nullable: true
description: Returns information about the evaluation of a load test.
ApiResultLoadTestActionResult:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/LoadTestActionResult'
description: The result of a successful operation
LoadTestActionResult:
type: object
properties:
action:
type: string
description: The performed action
id:
type: integer
description: The index of the load test on which the action was performed
format: int32
description: Returns information after a load test action was performed
AbortLoadTestData:
type: object
properties:
saveResults:
type: boolean
description: Defines if the results shall be saved
downloadMeasurements:
type: boolean
description: Defines if the measurements shall be downloaded
downloadLogs:
type: boolean
description: Defines if the logs shall be downloaded
downloadResultBrowser:
type: boolean
description: Defines if the result browser shall be downloaded
createReport:
type: boolean
description: Defines if the report shall be created
description: Allows to specify options when a load test is going to be aborted
nullable: true
JsonNode:
type: object
description: The properties data. Can be a String or a JsonObject with key/value
pairs.
LoadTestAction:
type: object
properties:
action:
type: string
description: "The action to be performed. Can be \"copy\", \"start\", \"\
abort\" or \"update\"."
example: copy
abortLoadTestData:
$ref: '#/components/schemas/AbortLoadTestData'
updateLoadTestData:
$ref: '#/components/schemas/UpdateLoadTestData'
description: Defines the action that a POST request shall perform.
LoadTestMachinesData:
type: object
properties:
customMachines:
type: array
description: Defines a list of custom machines in the format `:`.
nullable: true
items:
type: string
description: Defines a list of custom machines in the format `:`.
nullable: true
agentsPerInstance:
type: integer
description: Defines the number of agents per instance. Default and minimum
value is 1.
format: int32
nullable: true
agentPassword:
type: string
description: Defines the agent password for the machines. Optional.
nullable: true
customMachinesOnly:
type: boolean
description: Defines if currently configured cloud machines (if any) should
be removed and only custom machines should be used.
nullable: true
description: Provides information to update the machine settings of a load test
nullable: true
LoadTestPropertiesData:
type: object
properties:
properties:
$ref: '#/components/schemas/PropertiesData'
secretProperties:
$ref: '#/components/schemas/PropertiesData'
testPropertiesFile:
type: string
description: "Defines the test properties file of a load test. Omit this\
\ field to keep its settings, set null to remove any values."
nullable: true
description: Provides information to update the properties settings of a load
test
nullable: true
LoadTestRepositorySettingsData:
type: object
properties:
branchName:
type: string
description: "The name of the branch used for the load test. If it is missing\
\ or set to null, it will be ignored."
nullable: true
description: Provides information to update the repository settings of a load
test
nullable: true
PropertiesData:
type: object
properties:
data:
$ref: '#/components/schemas/JsonNode'
append:
type: boolean
description: Set true if secret properties should be appended instead of
overwritten.
nullable: true
description: Provides properties information
nullable: true
UpdateLoadTestData:
type: object
properties:
name:
type: string
description: "The name of the load test. If it is missing or set to null,\
\ it will be ignored."
nullable: true
description:
type: string
description: "The description of the load test. If it is missing or set\
\ to null, it will be ignored."
nullable: true
machines:
$ref: '#/components/schemas/LoadTestMachinesData'
propertiesSettings:
$ref: '#/components/schemas/LoadTestPropertiesData'
repositorySettings:
$ref: '#/components/schemas/LoadTestRepositorySettingsData'
description: "Provides information to update name, description and machine settings\
\ of a load test"
nullable: true
ApiResultLoadTestDetails:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/LoadTestDetails'
description: The result of a successful operation
ExecutionState:
type: string
description: The execution state of the load test
enum:
- NEW
- SCHEDULED
- STARTING
- PROVISIONING
- RUNNING
- STOPPING
- DEPROVISIONING
- FINISHED
- ABORTED
- ERROR
LoadTestDetails:
type: object
properties:
index:
type: integer
description: The index of the load test
format: int32
name:
type: string
description: The name of the load test
description:
type: string
description: A description for the load test
url:
type: string
description: Link to the load test details page
executionState:
$ref: '#/components/schemas/LoadTestState'
evaluation:
$ref: '#/components/schemas/LoadTestEvaluationResult'
results:
type: array
description: All results of this load test
items:
$ref: '#/components/schemas/LoadTestResult'
reports:
type: array
description: All reports of this load test
items:
$ref: '#/components/schemas/LoadTestReport'
description: Full details of a load test
LoadTestReport:
type: object
properties:
url:
type: string
description: The report archive can be downloaded with this link
index:
type: integer
description: The report index
format: int32
label:
type: string
description: The label of the report
description:
type: string
description: The description of the report
error:
type: string
description: "Specifies the error, in case it occurred"
enum:
- INTERMEDIATE_ALREADY_STARTED
errorDetails:
type: string
description: Specifies the error details
type:
type: string
description: The report type
createdAt:
type: string
description: The date-time when the report was created
format: date-time
state:
type: string
description: The state of the report
enum:
- CALCULATING
- FINISHED
- ERROR
lifecycleState:
type: string
description: The lifecycle state
enum:
- ACTIVE
- RETIRED
- UNPACKING
essentialReportAvailable:
type: boolean
description: Specifies if the essential report is available
fullReportAvailable:
type: boolean
description: Specifies if the full report is available
archiveAvailable:
type: boolean
description: Specifies if the archive is available
failed:
type: boolean
description: Defines if the report failed
pinned:
type: boolean
description: Defines if the report is pinned
activeUntil:
type: string
description: The date-time until when the report is active
format: date-time
lastModified:
type: string
description: The date-time of the last modification of the report
format: date-time
creationType:
type: string
description: The creation type of the report
enum:
- UNDEFINED
- CUSTOM
- DIFF
- TREND
- INTERMEDIATE
- ABORTED
- FINISHED
startedAt:
type: string
description: The date-time when the load test was started
format: date-time
finishedAt:
type: string
description: The date-time when the load test was finished
format: date-time
duration:
type: integer
description: The measurement time of the load test
format: int64
resultIndex:
type: integer
description: The index of the result
format: int32
resultBrowserAvailable:
type: boolean
description: Defines if the result browser is available
reportUrl:
type: string
description: The URL that XTC users can open in a browser to view the report
testReportXmlUrl:
type: string
description: The API endpoint URL from which the report's `testreport.xml`
file can be downloaded
scorecardXmlUrl:
type: string
description: The API endpoint URL from which the report's `scorecard.xml`
file can be downloaded
description: Load test report data
LoadTestResult:
type: object
properties:
url:
type: string
description: The result archive can be downloaded with this link
index:
type: integer
description: The result index
format: int32
lastModified:
type: string
description: The date-time of the last modification of the result
format: date-time
label:
type: string
description: The label of the result
state:
type: string
description: The current state of the result
enum:
- UNDEFINED
- PENDING
- FINISHED
- ERROR
description:
type: string
description: The description of the result
creationType:
type: string
description: the creation type of the load test result
enum:
- UNDEFINED
- INTERMEDIATE
- ABORTED
- FINISHED
createdAt:
type: string
description: The date-time when the result was created
format: date-time
startedAt:
type: string
description: The date-time when the load test was started
format: date-time
finishedAt:
type: string
description: The date-time when the load test was finished
format: date-time
duration:
type: integer
description: The measurement time of the load test
format: int64
rampUpPeriod:
type: integer
description: The ramp-up period of the load test
format: int64
size:
type: integer
description: The size of the load test result
format: int64
pinned:
type: boolean
description: Defines if the load test is pinned
description: Load test result data
LoadTestState:
type: object
properties:
startedAt:
type: string
description: The date-time of the start of the load test
format: date-time
finishedAt:
type: string
description: The date-time of the end of the load test
format: date-time
state:
$ref: '#/components/schemas/ExecutionState'
codeRevision:
type: string
description: The determined code revision (Branch/Commit)
nullable: true
codeArchiveInfo:
type: string
description: The code archive info string (#index - date UTC - label)
nullable: true
description: Execution details of a load test
ApiResultLoadTestList:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/LoadTestList'
description: The result of a successful operation
LoadTest:
type: object
properties:
index:
type: integer
description: The index of the load test
format: int32
name:
type: string
description: The name of the load test
description:
type: string
description: A description for the load test
startedAt:
type: string
description: Time when the load test was started
format: date-time
finishedAt:
type: string
description: Time when the load test was finished
format: date-time
state:
type: string
description: The current state of the load test
enum:
- NEW
- SCHEDULED
- STARTING
- PROVISIONING
- RUNNING
- STOPPING
- DEPROVISIONING
- FINISHED
- ABORTED
- ERROR
summary:
type: string
description: The evaluation summary of the load test
rating:
type: string
description: The evaluation rating of the load test
enum:
- APlus
- A
- B
- C
- D
- F
- None
description: Basic details of a load test
LoadTestList:
type: object
properties:
_links:
$ref: '#/components/schemas/PaginationLinks'
loadTests:
type: array
description: A list of load tests
items:
$ref: '#/components/schemas/LoadTest'
limit:
type: integer
description: The applied list limit
format: int32
offset:
type: integer
description: The applied list offset
format: int32
size:
type: integer
description: The returned list size
format: int32
description: List load tests
ApiResultLoadTestStatusDetails:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/LoadTestStatusDetails'
description: The result of a successful operation
LoadTestScenarioStatus:
type: object
properties:
averageExecutionTime:
type: integer
description: The average execution time of the scenario
format: int32
elapsedTime:
type: integer
description: The total elapsed time of the scenario
format: int32
errors:
type: integer
description: The total number of errors of the scenario
format: int32
events:
type: integer
description: The total number of events of the scenario
format: int32
iterations:
type: integer
description: The total number of executions of the scenario
format: int32
progress:
type: integer
description: The progress of the scenario
format: int32
scenarioName:
type: string
description: The name of the scenario
state:
type: string
description: The execution state of the scenario
description: Scenario status details of a load test
LoadTestStatusDetails:
type: object
properties:
executionState:
$ref: '#/components/schemas/LoadTestState'
scenarioStatus:
type: array
description: Scenario status details of the load test
items:
$ref: '#/components/schemas/LoadTestScenarioStatus'
description: Status details of a load test
LoadTestEvaluationData:
type: object
properties:
rating:
type: string
description: "Optional. The rating from \"A+\" to \"F\", or \"None\"."
nullable: true
enum:
- APlus
- A
- B
- C
- D
- F
- None
summary:
type: string
description: Optional. The summary line of the load test.
nullable: true
details:
type: string
description: Optional. Detailed evaluation of the load test (Markdown supported).
nullable: true
description: Provides the data to update the evaluation of a load test.
ApiResultPrivateMachineList:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/PrivateMachineList'
description: The result of a successful operation
PrivateMachine:
type: object
properties:
hostName:
type: string
description: The host name of the private machine.
ipAddress:
type: string
description: The IP address of the private machine.
type:
type: string
description: The general machine type of the private machine.
enum:
- TINY
- SMALL
- MEDIUM
- LARGE
specs:
$ref: '#/components/schemas/PrivateMachineSpecs'
registeredAt:
type: string
description: The time the private machine registered for the first time.
format: date-time
lastSeenAt:
type: string
description: The time the private machine re-registered last.
format: date-time
state:
type: string
description: The current state of the private machine.
enum:
- IDLE
- IN_USE
description: Basic details of a private machine
PrivateMachineList:
type: object
properties:
_links:
$ref: '#/components/schemas/PaginationLinks'
privateMachines:
type: array
description: A list of private machines.
items:
$ref: '#/components/schemas/PrivateMachine'
limit:
type: integer
description: The applied list limit.
format: int32
offset:
type: integer
description: The applied list offset.
format: int32
size:
type: integer
description: The returned list size.
format: int32
description: List of private machines
PrivateMachineSpecs:
type: object
properties:
cores:
type: integer
description: The number of available CPU cores.
format: int32
memory:
type: integer
description: The available memory (in bytes).
format: int64
disk:
type: integer
description: The available disk space (in bytes).
format: int64
description: "The hardware specs (cores, memory, disk, etc.) of a private machine."
nullable: true
ApiResultPrivateMachine:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/PrivateMachine'
description: The result of a successful operation
PrivateMachineData:
required:
- hostName
- ipAddress
- type
type: object
properties:
hostName:
type: string
description: "The host name of the private machine (must be unique, i.e.\
\ contain a UUID or similar)."
ipAddress:
type: string
description: The IP address of the private machine.
type:
type: string
description: The general machine type of the private machine.
enum:
- TINY
- SMALL
- MEDIUM
- LARGE
specs:
$ref: '#/components/schemas/PrivateMachineSpecs'
description: The details to pass when registering a private machine.
ApiResultTestExecution:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/TestExecution'
description: The result of a successful operation
TestExecution:
type: object
properties:
name:
type: string
description: The name of the test execution
index:
type: integer
description: The index of the test execution
format: int32
description:
type: string
description: A description for the test execution
startedAt:
type: string
description: The time when the test execution was started
format: date-time
finishedAt:
type: string
description: The time when the test execution was finished
format: date-time
state:
type: string
description: The current state of the test execution
enum:
- RUNNING
- FINISHED
- ABORTED
- ERROR
summary:
type: string
description: The evaluation summary of the test execution
rating:
type: string
description: The evaluation rating of the test execution
enum:
- APlus
- A
- B
- C
- D
- F
- None
testInstance:
type: string
description: "The target instance of the test (e.g. staging, production,\
\ test)"
profile:
type: string
description: "The test profile run in the pipeline (e.g. smoke, EMEA, checkout)"
link:
type: string
description: "The link to the pipeline run (e.g. Jenkins, Bitbucket etc.)"
buildNumber:
type: string
description: The build number of the test execution pipeline run
status:
$ref: '#/components/schemas/TestExecutionStatus'
description: Basic details of a test execution
TestExecutionStatus:
type: object
properties:
totalTestCases:
type: integer
description: The total number of test cases
format: int32
failedTestCases:
type: integer
description: The number of failed test cases
format: int32
skippedTestCases:
type: integer
description: The number of skipped test cases
format: int32
brokenTestCases:
type: integer
description: The number of broken test cases
format: int32
passedTestCases:
type: integer
description: The number of passed test cases
format: int32
finishedAt:
type: string
description: The date-time when the test execution was finished
finalResult:
type: string
description: The final result of the run
enum:
- PASSED
- FAILED
- UNKNOWN
estimatedDuration:
type: integer
description: The estimated duration of the test execution in minutes
format: int32
description: Status details of a test execution
StartTestExecutionData:
required:
- name
- startedAt
type: object
properties:
startedAt:
type: string
description: The date-time when the test execution was started
format: date-time
estimatedDuration:
type: integer
description: The estimated duration of the test execution in minutes
format: int32
name:
type: string
description: The name of the test execution
testInstance:
type: string
description: "The target instance of the test (e.g. staging, production,\
\ test)"
profile:
type: string
description: "The test profile run in the pipeline (e.g. smoke, EMEA, checkout)"
link:
type: string
description: "The link to the pipeline run (e.g. Jenkins, Bitbucket etc.)"
buildNumber:
type: string
description: The build number of the test execution pipeline run
description:
type: string
description: Additional details for this test execution run
description: Provides the data to start a new test execution
ApiResultTestExecutionList:
type: object
properties:
success:
type: boolean
description: "True for a successful operation, false otherwise"
default: true
data:
$ref: '#/components/schemas/TestExecutionList'
description: The result of a successful operation
TestExecutionList:
type: object
properties:
_links:
$ref: '#/components/schemas/PaginationLinks'
testExecutions:
type: array
description: A list of test executions
items:
$ref: '#/components/schemas/TestExecution'
limit:
type: integer
description: The applied list limit
format: int32
offset:
type: integer
description: The applied list offset
format: int32
size:
type: integer
description: The returned list size
format: int32
description: List test executions
FinishTestExecutionData:
required:
- finalResult
- finishedAt
type: object
properties:
finishedAt:
type: string
description: The date-time when the test execution was finished
format: date-time
finalResult:
type: string
description: The final result of the run.
enum:
- PASSED
- FAILED
- UNKNOWN
description: Provides the data to finish a test execution
nullable: true
UpdateTestExecutionData:
required:
- brokenTestCases
- failedTestCases
- passedTestCases
- skippedTestCases
- totalTestCases
type: object
properties:
totalTestCases:
minimum: 0
type: integer
description: The total number of test cases
format: int32
failedTestCases:
minimum: 0
type: integer
description: The number of failed test cases
format: int32
skippedTestCases:
minimum: 0
type: integer
description: The number of skipped test cases
format: int32
brokenTestCases:
minimum: 0
type: integer
description: The number of broken test cases
format: int32
passedTestCases:
minimum: 0
type: integer
description: The number of passed test cases
format: int32
finishExecution:
$ref: '#/components/schemas/FinishTestExecutionData'
description: Provides the data to update an existing test execution
securitySchemes:
AccessToken:
type: http
description: Access org and/or project level APIs depending on provided access
token type. Generel org level access may be disabled by a project.
scheme: bearer
bearerFormat: at+jwt
Default:
type: oauth2
description: Request an org and/or project level access token to get access
to org and project level APIs. Generel org level access may be disabled by
a project.
flows:
clientCredentials:
tokenUrl: https://xtc.xceptance.com/oauth/token
scopes:
LOADTEST_COPY_RUN: Allows to copy and run a load test
LOADTEST_DETAILS: Allows accessing details of a load test
LOADTEST_LIST: Allows listing of load tests of a project
LOADTEST_REPORT_DOWNLOAD: Allows to download a load test report
LOADTEST_RESULT_DOWNLOAD: Allows to download a load test result
LOADTEST_STATUS: Allows accessing status details of a load test
PRIVATEMACHINE_LIST: Allows to list the private machines of a project
PRIVATEMACHINE_REGISTER: Allows to register a private machine
ORGANIZATION_DETAILS: Allows to retrieve the details of an organization
ORGANIZATION_RESOURCE_USAGE: Allows to retrieve the resource usage of
an organization
ORGANIZATION_TEST_GET: Allows to call the GET organization test api
ORGANIZATION_TEST_POST: Allows to call the POST organization test api
PROJECT_DETAILS: Allows to access details of a project
PROJECT_LIST: Allows to list projects of an organization
PROJECT_RESOURCE_USAGE: Allows to retrieve the resource usage of a project
PROJECT_TEST_GET: Allows to call the GET project test api
PROJECT_TEST_POST: Allows to call the POST project test api
MONITORING_EXPORTS: Allows to list and download export archives
TESTEXECUTION_LIST: Allows to listing of test executions of a project
TESTEXECUTION_CREATE: Allows to create a test execution
TESTEXECUTION_UPDATE: Allows to update a test execution
TESTEXECUTION_FINISH: Allows to finish a test execution
TESTEXECUTION_REPORT_UPLOAD: Allows to upload a report archive
CODEARCHIVE_UPLOAD: Allows to upload a code archive
CODEARCHIVE_DELETE: Allows to delete a code archive
x-default-scopes: ORGANIZATION_TEST_GET ORGANIZATION_TEST_POST PROJECT_TEST_GET
PROJECT_TEST_POST
x-receive-token-in: request-body