---
title: "Preview rollout defaults"
method: POST
path: "/projects/{projectId}/endpoints/{endpointId}/rollouts/preview-defaults"
tags: ["RolloutService"]
---

# Preview rollout defaults

`POST /projects/{projectId}/endpoints/{endpointId}/rollouts/preview-defaults`

Returns the values a create request would pick for any field left unset, plus the capacity context needed to display them, without creating a rollout. Responses are display state only and re-validated authoritatively at create and start; do not copy response values back into a create request.

## Path parameters

- `projectId` string, required — Project identifier.
- `endpointId` string, required — Endpoint identifier.

## Request body

- union — Strategy, metric gates, timing, and cleanup policy for shifting traffic between two deployments under one endpoint.
  - object
    - `sourceDeploymentId` string, required — Deployment that traffic shifts away from.
    - `targetDeploymentId` string, required — Deployment that traffic shifts toward.
    - `canary` DECanaryConfig, required — Canary strategy configuration for gradual traffic progression. An empty config uses the default 5, 25, 50, 100 percent ladder; over a frozen traffic-split pair left by cancel, the default ladder is derived at start from the pair's current served share so it begins above it.
      - `steps` DERolloutStep[] — Optional progression steps. Defaults to 5, 25, 50, 100 percent when empty; explicit steps must increase and end at 100 percent.
        - `traffic` integer, required — Required percentage of traffic on the target deployment for this step.
        - `replicas` integer — Optional explicit target replica count for this step.
      - `stepInterval` string — Optional positive soak between steps. Defaults to 3m if omitted, and grows to cover metric rule windows plus ingestion lag.
    - `blueGreen` DEBlueGreenConfig — Blue-green strategy configuration for a single cutover to the target deployment.
    - `rolling` DERollingConfig — Rolling strategy configuration for capacity-preserving batches that ramp target replicas up while draining source replicas.
    - `metrics` DEMetricRule[] — Optional metric gates evaluated after each step's soak. Canary only; rejected on rolling and blue-green rollouts.
      - union — Metric gate evaluated during a rollout.
        - object
          - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
          - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
          - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
          - `thresholdCheck` DEThresholdCheck, required — Threshold criteria that fail when the target metric violates the configured bound.
            - `value` number, required — Required numeric threshold value.
            - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE', required — Required comparison operator applied to the target metric value.
          - `regressionCheck` DERegressionCheck — Regression criteria that fail when the target regresses against the source beyond a limit.
            - `maxRegressionPercent` number, required — Required maximum allowed regression percentage.
            - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE', required — Required direction that indicates whether higher or lower metric values are worse.
          - `window` string — Optional query window for the metric. Defaults to the step soak duration.
        - object
          - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
          - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
          - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
          - `thresholdCheck` DEThresholdCheck — Threshold criteria that fail when the target metric violates the configured bound.
            - `value` number, required — Required numeric threshold value.
            - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE', required — Required comparison operator applied to the target metric value.
          - `regressionCheck` DERegressionCheck, required — Regression criteria that fail when the target regresses against the source beyond a limit.
            - `maxRegressionPercent` number, required — Required maximum allowed regression percentage.
            - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE', required — Required direction that indicates whether higher or lower metric values are worse.
          - `window` string — Optional query window for the metric. Defaults to the step soak duration.
    - `finalSourceReplicas` integer — Optional final replica count for the source deployment. Defaults to 0, which drains and stops the source.
    - `finalTargetReplicas` integer — Optional target replica floor at completion. Must be at least 1 when set; defaults to the source deployment's replica count at create time, or to the source and target deployments' combined replica count when both already stand in the endpoint traffic split after a cancel. If this exceeds the target autoscaling max, the rollout raises that max once when first needed unless an operator changes max mid-run; the raised ceiling remains after completion. A pre-existing target whose own autoscaling min is higher keeps that floor, reported as FINAL_BELOW_INHERITED_MIN. A target that starts stopped lands exactly at this value; if the source min was higher, PreviewRolloutDefaults reports FINAL_BELOW_SOURCE_MIN.
  - object
    - `sourceDeploymentId` string, required — Deployment that traffic shifts away from.
    - `targetDeploymentId` string, required — Deployment that traffic shifts toward.
    - `canary` DECanaryConfig — Canary strategy configuration for gradual traffic progression. An empty config uses the default 5, 25, 50, 100 percent ladder; over a frozen traffic-split pair left by cancel, the default ladder is derived at start from the pair's current served share so it begins above it.
      - `steps` DERolloutStep[] — Optional progression steps. Defaults to 5, 25, 50, 100 percent when empty; explicit steps must increase and end at 100 percent.
        - `traffic` integer, required — Required percentage of traffic on the target deployment for this step.
        - `replicas` integer — Optional explicit target replica count for this step.
      - `stepInterval` string — Optional positive soak between steps. Defaults to 3m if omitted, and grows to cover metric rule windows plus ingestion lag.
    - `blueGreen` DEBlueGreenConfig, required — Blue-green strategy configuration for a single cutover to the target deployment.
    - `rolling` DERollingConfig — Rolling strategy configuration for capacity-preserving batches that ramp target replicas up while draining source replicas.
    - `metrics` DEMetricRule[] — Optional metric gates evaluated after each step's soak. Canary only; rejected on rolling and blue-green rollouts.
      - union — Metric gate evaluated during a rollout.
        - object
          - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
          - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
          - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
          - `thresholdCheck` DEThresholdCheck, required — Threshold criteria that fail when the target metric violates the configured bound.
            - `value` number, required — Required numeric threshold value.
            - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE', required — Required comparison operator applied to the target metric value.
          - `regressionCheck` DERegressionCheck — Regression criteria that fail when the target regresses against the source beyond a limit.
            - `maxRegressionPercent` number, required — Required maximum allowed regression percentage.
            - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE', required — Required direction that indicates whether higher or lower metric values are worse.
          - `window` string — Optional query window for the metric. Defaults to the step soak duration.
        - object
          - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
          - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
          - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
          - `thresholdCheck` DEThresholdCheck — Threshold criteria that fail when the target metric violates the configured bound.
            - `value` number, required — Required numeric threshold value.
            - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE', required — Required comparison operator applied to the target metric value.
          - `regressionCheck` DERegressionCheck, required — Regression criteria that fail when the target regresses against the source beyond a limit.
            - `maxRegressionPercent` number, required — Required maximum allowed regression percentage.
            - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE', required — Required direction that indicates whether higher or lower metric values are worse.
          - `window` string — Optional query window for the metric. Defaults to the step soak duration.
    - `finalSourceReplicas` integer — Optional final replica count for the source deployment. Defaults to 0, which drains and stops the source.
    - `finalTargetReplicas` integer — Optional target replica floor at completion. Must be at least 1 when set; defaults to the source deployment's replica count at create time, or to the source and target deployments' combined replica count when both already stand in the endpoint traffic split after a cancel. If this exceeds the target autoscaling max, the rollout raises that max once when first needed unless an operator changes max mid-run; the raised ceiling remains after completion. A pre-existing target whose own autoscaling min is higher keeps that floor, reported as FINAL_BELOW_INHERITED_MIN. A target that starts stopped lands exactly at this value; if the source min was higher, PreviewRolloutDefaults reports FINAL_BELOW_SOURCE_MIN.
  - object
    - `sourceDeploymentId` string, required — Deployment that traffic shifts away from.
    - `targetDeploymentId` string, required — Deployment that traffic shifts toward.
    - `canary` DECanaryConfig — Canary strategy configuration for gradual traffic progression. An empty config uses the default 5, 25, 50, 100 percent ladder; over a frozen traffic-split pair left by cancel, the default ladder is derived at start from the pair's current served share so it begins above it.
      - `steps` DERolloutStep[] — Optional progression steps. Defaults to 5, 25, 50, 100 percent when empty; explicit steps must increase and end at 100 percent.
        - `traffic` integer, required — Required percentage of traffic on the target deployment for this step.
        - `replicas` integer — Optional explicit target replica count for this step.
      - `stepInterval` string — Optional positive soak between steps. Defaults to 3m if omitted, and grows to cover metric rule windows plus ingestion lag.
    - `blueGreen` DEBlueGreenConfig — Blue-green strategy configuration for a single cutover to the target deployment.
    - `rolling` DERollingConfig, required — Rolling strategy configuration for capacity-preserving batches that ramp target replicas up while draining source replicas.
    - `metrics` DEMetricRule[] — Optional metric gates evaluated after each step's soak. Canary only; rejected on rolling and blue-green rollouts.
      - union — Metric gate evaluated during a rollout.
        - object
          - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
          - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
          - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
          - `thresholdCheck` DEThresholdCheck, required — Threshold criteria that fail when the target metric violates the configured bound.
            - `value` number, required — Required numeric threshold value.
            - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE', required — Required comparison operator applied to the target metric value.
          - `regressionCheck` DERegressionCheck — Regression criteria that fail when the target regresses against the source beyond a limit.
            - `maxRegressionPercent` number, required — Required maximum allowed regression percentage.
            - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE', required — Required direction that indicates whether higher or lower metric values are worse.
          - `window` string — Optional query window for the metric. Defaults to the step soak duration.
        - object
          - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
          - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
          - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
          - `thresholdCheck` DEThresholdCheck — Threshold criteria that fail when the target metric violates the configured bound.
            - `value` number, required — Required numeric threshold value.
            - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE', required — Required comparison operator applied to the target metric value.
          - `regressionCheck` DERegressionCheck, required — Regression criteria that fail when the target regresses against the source beyond a limit.
            - `maxRegressionPercent` number, required — Required maximum allowed regression percentage.
            - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE', required — Required direction that indicates whether higher or lower metric values are worse.
          - `window` string — Optional query window for the metric. Defaults to the step soak duration.
    - `finalSourceReplicas` integer — Optional final replica count for the source deployment. Defaults to 0, which drains and stops the source.
    - `finalTargetReplicas` integer — Optional target replica floor at completion. Must be at least 1 when set; defaults to the source deployment's replica count at create time, or to the source and target deployments' combined replica count when both already stand in the endpoint traffic split after a cancel. If this exceeds the target autoscaling max, the rollout raises that max once when first needed unless an operator changes max mid-run; the raised ceiling remains after completion. A pre-existing target whose own autoscaling min is higher keeps that floor, reported as FINAL_BELOW_INHERITED_MIN. A target that starts stopped lands exactly at this value; if the source min was higher, PreviewRolloutDefaults reports FINAL_BELOW_SOURCE_MIN.

## Response `200`

OK

- DERolloutDefaultsPreview — Completed create-form state — the caller's spec with defaulted values filled in, the steps the rollout is expected to walk, and the capacity context the defaults were computed from. Display only.
  - `spec` union, required — Strategy, metric gates, timing, and cleanup policy for shifting traffic between two deployments under one endpoint.
    - object
      - `sourceDeploymentId` string, required — Deployment that traffic shifts away from.
      - `targetDeploymentId` string, required — Deployment that traffic shifts toward.
      - `canary` DECanaryConfig, required — Canary strategy configuration for gradual traffic progression. An empty config uses the default 5, 25, 50, 100 percent ladder; over a frozen traffic-split pair left by cancel, the default ladder is derived at start from the pair's current served share so it begins above it.
        - `steps` DERolloutStep[] — Optional progression steps. Defaults to 5, 25, 50, 100 percent when empty; explicit steps must increase and end at 100 percent.
          - `traffic` integer, required — Required percentage of traffic on the target deployment for this step.
          - `replicas` integer — Optional explicit target replica count for this step.
        - `stepInterval` string — Optional positive soak between steps. Defaults to 3m if omitted, and grows to cover metric rule windows plus ingestion lag.
      - `blueGreen` DEBlueGreenConfig — Blue-green strategy configuration for a single cutover to the target deployment.
      - `rolling` DERollingConfig — Rolling strategy configuration for capacity-preserving batches that ramp target replicas up while draining source replicas.
      - `metrics` DEMetricRule[] — Optional metric gates evaluated after each step's soak. Canary only; rejected on rolling and blue-green rollouts.
        - union — Metric gate evaluated during a rollout.
          - object
            - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
            - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
            - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
            - `thresholdCheck` DEThresholdCheck, required — Threshold criteria that fail when the target metric violates the configured bound.
              - …
            - `regressionCheck` DERegressionCheck — Regression criteria that fail when the target regresses against the source beyond a limit.
              - …
            - `window` string — Optional query window for the metric. Defaults to the step soak duration.
          - object
            - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
            - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
            - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
            - `thresholdCheck` DEThresholdCheck — Threshold criteria that fail when the target metric violates the configured bound.
              - …
            - `regressionCheck` DERegressionCheck, required — Regression criteria that fail when the target regresses against the source beyond a limit.
              - …
            - `window` string — Optional query window for the metric. Defaults to the step soak duration.
      - `finalSourceReplicas` integer — Optional final replica count for the source deployment. Defaults to 0, which drains and stops the source.
      - `finalTargetReplicas` integer — Optional target replica floor at completion. Must be at least 1 when set; defaults to the source deployment's replica count at create time, or to the source and target deployments' combined replica count when both already stand in the endpoint traffic split after a cancel. If this exceeds the target autoscaling max, the rollout raises that max once when first needed unless an operator changes max mid-run; the raised ceiling remains after completion. A pre-existing target whose own autoscaling min is higher keeps that floor, reported as FINAL_BELOW_INHERITED_MIN. A target that starts stopped lands exactly at this value; if the source min was higher, PreviewRolloutDefaults reports FINAL_BELOW_SOURCE_MIN.
    - object
      - `sourceDeploymentId` string, required — Deployment that traffic shifts away from.
      - `targetDeploymentId` string, required — Deployment that traffic shifts toward.
      - `canary` DECanaryConfig — Canary strategy configuration for gradual traffic progression. An empty config uses the default 5, 25, 50, 100 percent ladder; over a frozen traffic-split pair left by cancel, the default ladder is derived at start from the pair's current served share so it begins above it.
        - `steps` DERolloutStep[] — Optional progression steps. Defaults to 5, 25, 50, 100 percent when empty; explicit steps must increase and end at 100 percent.
          - `traffic` integer, required — Required percentage of traffic on the target deployment for this step.
          - `replicas` integer — Optional explicit target replica count for this step.
        - `stepInterval` string — Optional positive soak between steps. Defaults to 3m if omitted, and grows to cover metric rule windows plus ingestion lag.
      - `blueGreen` DEBlueGreenConfig, required — Blue-green strategy configuration for a single cutover to the target deployment.
      - `rolling` DERollingConfig — Rolling strategy configuration for capacity-preserving batches that ramp target replicas up while draining source replicas.
      - `metrics` DEMetricRule[] — Optional metric gates evaluated after each step's soak. Canary only; rejected on rolling and blue-green rollouts.
        - union — Metric gate evaluated during a rollout.
          - object
            - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
            - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
            - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
            - `thresholdCheck` DEThresholdCheck, required — Threshold criteria that fail when the target metric violates the configured bound.
              - …
            - `regressionCheck` DERegressionCheck — Regression criteria that fail when the target regresses against the source beyond a limit.
              - …
            - `window` string — Optional query window for the metric. Defaults to the step soak duration.
          - object
            - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
            - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
            - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
            - `thresholdCheck` DEThresholdCheck — Threshold criteria that fail when the target metric violates the configured bound.
              - …
            - `regressionCheck` DERegressionCheck, required — Regression criteria that fail when the target regresses against the source beyond a limit.
              - …
            - `window` string — Optional query window for the metric. Defaults to the step soak duration.
      - `finalSourceReplicas` integer — Optional final replica count for the source deployment. Defaults to 0, which drains and stops the source.
      - `finalTargetReplicas` integer — Optional target replica floor at completion. Must be at least 1 when set; defaults to the source deployment's replica count at create time, or to the source and target deployments' combined replica count when both already stand in the endpoint traffic split after a cancel. If this exceeds the target autoscaling max, the rollout raises that max once when first needed unless an operator changes max mid-run; the raised ceiling remains after completion. A pre-existing target whose own autoscaling min is higher keeps that floor, reported as FINAL_BELOW_INHERITED_MIN. A target that starts stopped lands exactly at this value; if the source min was higher, PreviewRolloutDefaults reports FINAL_BELOW_SOURCE_MIN.
    - object
      - `sourceDeploymentId` string, required — Deployment that traffic shifts away from.
      - `targetDeploymentId` string, required — Deployment that traffic shifts toward.
      - `canary` DECanaryConfig — Canary strategy configuration for gradual traffic progression. An empty config uses the default 5, 25, 50, 100 percent ladder; over a frozen traffic-split pair left by cancel, the default ladder is derived at start from the pair's current served share so it begins above it.
        - `steps` DERolloutStep[] — Optional progression steps. Defaults to 5, 25, 50, 100 percent when empty; explicit steps must increase and end at 100 percent.
          - `traffic` integer, required — Required percentage of traffic on the target deployment for this step.
          - `replicas` integer — Optional explicit target replica count for this step.
        - `stepInterval` string — Optional positive soak between steps. Defaults to 3m if omitted, and grows to cover metric rule windows plus ingestion lag.
      - `blueGreen` DEBlueGreenConfig — Blue-green strategy configuration for a single cutover to the target deployment.
      - `rolling` DERollingConfig, required — Rolling strategy configuration for capacity-preserving batches that ramp target replicas up while draining source replicas.
      - `metrics` DEMetricRule[] — Optional metric gates evaluated after each step's soak. Canary only; rejected on rolling and blue-green rollouts.
        - union — Metric gate evaluated during a rollout.
          - object
            - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
            - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
            - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
            - `thresholdCheck` DEThresholdCheck, required — Threshold criteria that fail when the target metric violates the configured bound.
              - …
            - `regressionCheck` DERegressionCheck — Regression criteria that fail when the target regresses against the source beyond a limit.
              - …
            - `window` string — Optional query window for the metric. Defaults to the step soak duration.
          - object
            - `name` 'inflight_requests' | 'router_error_rate' | 'router_latency', required — Required catalogue key for the metric to gate on. `serving_latency` is retired.
            - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_MIN' | 'METRIC_STAT_TYPE_MAX' | 'METRIC_STAT_TYPE_PERCENTILE', required — Required aggregation used for the metric.
            - `percentile` integer — Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
            - `thresholdCheck` DEThresholdCheck — Threshold criteria that fail when the target metric violates the configured bound.
              - …
            - `regressionCheck` DERegressionCheck, required — Regression criteria that fail when the target regresses against the source beyond a limit.
              - …
            - `window` string — Optional query window for the metric. Defaults to the step soak duration.
      - `finalSourceReplicas` integer — Optional final replica count for the source deployment. Defaults to 0, which drains and stops the source.
      - `finalTargetReplicas` integer — Optional target replica floor at completion. Must be at least 1 when set; defaults to the source deployment's replica count at create time, or to the source and target deployments' combined replica count when both already stand in the endpoint traffic split after a cancel. If this exceeds the target autoscaling max, the rollout raises that max once when first needed unless an operator changes max mid-run; the raised ceiling remains after completion. A pre-existing target whose own autoscaling min is higher keeps that floor, reported as FINAL_BELOW_INHERITED_MIN. A target that starts stopped lands exactly at this value; if the source min was higher, PreviewRolloutDefaults reports FINAL_BELOW_SOURCE_MIN.
  - `estimatedEffectiveSteps` DERolloutStep[] — Steps the rollout is expected to walk when the caller leaves steps unset. Display only. Empty when the caller supplied steps or no ladder applies.
    - `traffic` integer, required — Required percentage of traffic on the target deployment for this step.
    - `replicas` integer — Optional explicit target replica count for this step.
  - `frozenPair` boolean — True when both deployments stand in the endpoint traffic split, so the rollout resumes from the current split rather than from zero. See warnings for standing split shapes that StartRollout will still reject.
  - `estimatedSeedPercent` integer — Percentage of the pair's traffic currently reaching the target, the floor the suggested steps start above. Unset when not a frozen pair or unknown; 0 is a real measurement.
  - `sourceReplicas` integer, required — Source deployment replica count the defaults were computed from. Zero is a real value.
  - `targetReplicas` integer, required — Target deployment replica count the defaults were computed from. Zero is a real value.
  - `targetMinReplicas` integer, required — Target deployment autoscaling minimum replica count. Zero is a real value.
  - `targetMaxReplicas` integer, required — Target deployment autoscaling maximum replica count. Zero is a real value.
  - `warnings` DEPreviewWarning[], required — Non-blocking findings to surface next to the form. An empty list means the shown values are safe to submit as-is.
    - `code` string, required — Machine-readable warning code, such as START_WILL_REJECT, ROLLOUT_WILL_RAISE_TARGET_MAX, FINAL_BELOW_INHERITED_MIN, or FINAL_BELOW_SOURCE_MIN. Render message for unrecognized codes.
    - `message` string, required — Plain-language description of the finding, safe to show users as-is.

## Other responses

- `default` — Default error response

## Changes

- **2026-08-25** `e467cc3ffa36` — 1 breaking, 1 info
  - removed the enum value `serving_latency` of the request property `metrics/items/name`
  - removed the `serving_latency` enum value from the `spec/allOf[#/components/schemas/DE.CreateRolloutRequest]/metrics/items/name` response property for the response status `200`
- **2026-08-12** `92114e606090` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/together/apis/together-apis/changes/projects/:projectId/endpoints/:endpointId/rollouts/preview-defaults/post.md)

---

[API](https://skmtc.dev/together/apis/together-apis.md) · [All operations](https://skmtc.dev/together/apis/together-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/together/together-apis/revisions/f4885bc38424/schema)
