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