---
title: "Create a summary of the performance test run"
method: PUT
path: "/performanceTestRun/{performance_test_run_id}/summary"
tags: ["TestRun"]
---

# Create a summary of the performance test run

`PUT /performanceTestRun/{performance_test_run_id}/summary`

Create the summary of the metrics for a given performance test run

## Path parameters

- `performance_test_run_id` string, required

## Query parameters

- `start_time` integer, required
- `end_time` integer
- `ramp_up_end_time` integer
- `test_run_start_time` integer

## Request body

- CreatePerformanceRunSummaryArguments — Extra information for creating a performance run summary
  - `test_invariant_id_to_flow_variant_ids` object — Mapping of functional test invariant IDs within the performance test run to flow variant ids at the time the test is executed

## Response `200`

The performance test run summary that was created

- PerformanceRunSummary — The summary of a performance test run
  - `id` string — The performance test run ID
  - `workspace_id` string — The workspace ID
  - `status` 'pass' | 'fail'
  - `load_start_time` integer — The time the test begins generating load in Unix epoch milliseconds
  - `load_ramp_up_end_time` integer — The time that load ramp up is complete in Unix epoch milliseconds
  - `load_end_time` integer — The time the test stops generating load in Unix epoch milliseconds
  - `test_run_start_time` integer — The time the test begins in Unix epoch milliseconds
  - `test_run_end_time` integer — The time the test ends in Unix epoch milliseconds
  - `concurrency` integer — Concurrent users configured for the test run
  - `request_count` integer — Count of total requests for the test run
  - `functional_failure_rate` number, double — value in [0,1] indicating percentage of functional test runs resulting in failure
  - `browser_step_duration_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `functional_test_run_count` integer — The count of all functional test runs
  - `browser_time_to_first_byte_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `browser_dom_content_loaded_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `browser_first_contentful_paint_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `browser_largest_contentful_paint_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `browser_cumulative_layout_shift_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `resources_cpu_utilization_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `resources_memory_utilization_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `response_time_summary` MetricSummary — Summary of the Core Web Vitals metrics
    - `minimum` integer
    - `maximum` integer
    - `average` integer
    - `percentile_50` integer — This is the same as median
    - `percentile_75` integer
    - `percentile_90` integer
    - `percentile_91` integer
    - `percentile_92` integer
    - `percentile_93` integer
    - `percentile_94` integer
    - `percentile_95` integer
    - `percentile_96` integer
    - `percentile_97` integer
    - `percentile_98` integer
    - `percentile_99` integer
  - `response_details_summary` object — Summary of the performance test level http response codes and network errors
    - `error_rate` number, double — value in [0,1] indicating percentage of requests resulting in an error
    - `errors_total` integer
    - `errors_connection` integer
    - `errors_other` integer
    - `response_codes_5xx` integer
    - `response_codes_4xx` integer
    - `response_codes_3xx` integer
    - `response_codes_2xx` integer
    - `response_codes_1xx` integer
  - `functional_test_results_summary` PerformanceRunFunctionalTestSummary[] — Summary of the functional test level metrics
    - `test_id` string
    - `concurrency` integer
    - `request_count` integer
    - `test_run_count` integer
    - `test_run_pass_count` integer
    - `test_run_fail_count` integer
    - `response_time_average` integer
    - `error_rate` number, double — value in [0,1] indicating percentage of requests resulting in an error
    - `functional_failure_rate` number, double — value in [0,1] indicating percentage of functional test runs resulting in failure
    - `browser_step_duration_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `browser_time_to_first_byte_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `browser_dom_content_loaded_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `browser_first_contentful_paint_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `browser_largest_contentful_paint_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `browser_cumulative_layout_shift_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `resources_cpu_utilization_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `resources_memory_utilization_summary` MetricSummary — Summary of the Core Web Vitals metrics
      - `minimum` integer
      - `maximum` integer
      - `average` integer
      - `percentile_50` integer — This is the same as median
      - `percentile_75` integer
      - `percentile_90` integer
      - `percentile_91` integer
      - `percentile_92` integer
      - `percentile_93` integer
      - `percentile_94` integer
      - `percentile_95` integer
      - `percentile_96` integer
      - `percentile_97` integer
      - `percentile_98` integer
      - `percentile_99` integer
    - `flow_variant_ids` string[] — The flow variant ids at the time the functional test was run
  - `failure_criteria_summary` PerformanceRunFailureCriteriaSummary[] — Summary of the configured failure criteria
    - `test_id` string
    - `concurrency` integer
    - `results` PerformanceRunFailureCriteriaSummaryItem[]
      - `configured_failure_criteria` PerformanceFailureCriteria — Definition of failure criteria per workload
        - `metric_comparator` 'greater_than' | 'less_than' — The comparator determining the failure case
        - `metric_threshold` number, double — The cutoff value determining the failure case
        - `metric_type` 'response_time' | 'http_error_rate' | 'functional_test_failure_rate' | 'core_web_vitals' | 'step_duration' — The type of metric determining failure case
        - `metric_optional_parameters` PerformanceFailureCriteriaOptionalParameters — Optional parameters related to specific failure criteria
          - `metric_aggregation` 'average' | 'percentile' — The aggregation level of the metric determining failure case
          - `metric_percentile` integer — The percentile for the metric we are considering
          - `metric_error_codes` string[] — Response codes that count as errors for error rate
          - `metric_step_ids` string[] — IDs of steps to include in metric calculations
          - `metric_cwv_measurements` PerformanceFailureCriteriaCWVMeasurement[] — Individual CWV measurements' failure criteria configuration
            - `measurement_type` 'first_contentful_paint' | 'largest_contentful_paint' | 'cumulative_layout_shift' | 'time_to_first_byte' | 'dom_content_loaded'
            - `threshold` number, double
      - `status` 'pass' | 'fail'
      - `value` number, double

## Other responses

- `401` — User not authenticated
- `403` — User not authorized
- `404` — Performance test run not found for specified identifier
- `default` — Unknown error

---

[API](https://skmtc.net/mabl/apis/mabl-api.md) · [All operations](https://skmtc.net/mabl/apis/mabl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mabl/mabl-api/revisions/d0fc0114da66/schema)
