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

# Preview rollout defaults

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

## Request

- Base URL: `https://api.together.ai`
- URL: `https://api.together.ai/v2/projects/{projectId}/endpoints/{endpointId}/rollouts/preview-defaults`
- Auth: HTTP bearer

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 small batches that ramp target replicas up while shrinking source replicas to what their remaining traffic share needs.
    - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
          - `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: Finite threshold value. Interpreted in the metric's unit: router_error_rate is a ratio in [0, 1], router_latency is milliseconds, and inflight_requests is in-flight requests per ready replica averaged over the rule window. Thresholds that no achievable value could pass, or that every achievable value passes, are rejected at create. Omitting this value is read as 0. Set 0 explicitly for the strictest threshold: nothing at all is tolerated.
            - `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: Finite maximum allowed regression percentage, greater than or equal to 0. Omitting this value is read as 0. A value of 0 is the strictest budget; any regression fails, and exactly-at-budget passes.
            - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
          - `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: Finite threshold value. Interpreted in the metric's unit: router_error_rate is a ratio in [0, 1], router_latency is milliseconds, and inflight_requests is in-flight requests per ready replica averaged over the rule window. Thresholds that no achievable value could pass, or that every achievable value passes, are rejected at create. Omitting this value is read as 0. Set 0 explicitly for the strictest threshold: nothing at all is tolerated.
            - `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: Finite maximum allowed regression percentage, greater than or equal to 0. Omitting this value is read as 0. A value of 0 is the strictest budget; any regression fails, and exactly-at-budget passes.
            - `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. The completed target's autoscaling max lands at the landing ceiling, max(this value, the source max, the target's own max); the rollout may lift the target max at first wake, at the first step that needs it, or at completion unless an operator changes max mid-run. The lifted ceiling remains after completion, and PreviewRolloutDefaults reports a coming lift as ROLLOUT_WILL_RAISE_TARGET_MAX. 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 small batches that ramp target replicas up while shrinking source replicas to what their remaining traffic share needs.
    - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
          - `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: Finite threshold value. Interpreted in the metric's unit: router_error_rate is a ratio in [0, 1], router_latency is milliseconds, and inflight_requests is in-flight requests per ready replica averaged over the rule window. Thresholds that no achievable value could pass, or that every achievable value passes, are rejected at create. Omitting this value is read as 0. Set 0 explicitly for the strictest threshold: nothing at all is tolerated.
            - `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: Finite maximum allowed regression percentage, greater than or equal to 0. Omitting this value is read as 0. A value of 0 is the strictest budget; any regression fails, and exactly-at-budget passes.
            - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
          - `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: Finite threshold value. Interpreted in the metric's unit: router_error_rate is a ratio in [0, 1], router_latency is milliseconds, and inflight_requests is in-flight requests per ready replica averaged over the rule window. Thresholds that no achievable value could pass, or that every achievable value passes, are rejected at create. Omitting this value is read as 0. Set 0 explicitly for the strictest threshold: nothing at all is tolerated.
            - `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: Finite maximum allowed regression percentage, greater than or equal to 0. Omitting this value is read as 0. A value of 0 is the strictest budget; any regression fails, and exactly-at-budget passes.
            - `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. The completed target's autoscaling max lands at the landing ceiling, max(this value, the source max, the target's own max); the rollout may lift the target max at first wake, at the first step that needs it, or at completion unless an operator changes max mid-run. The lifted ceiling remains after completion, and PreviewRolloutDefaults reports a coming lift as ROLLOUT_WILL_RAISE_TARGET_MAX. 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 small batches that ramp target replicas up while shrinking source replicas to what their remaining traffic share needs.
    - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
          - `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: Finite threshold value. Interpreted in the metric's unit: router_error_rate is a ratio in [0, 1], router_latency is milliseconds, and inflight_requests is in-flight requests per ready replica averaged over the rule window. Thresholds that no achievable value could pass, or that every achievable value passes, are rejected at create. Omitting this value is read as 0. Set 0 explicitly for the strictest threshold: nothing at all is tolerated.
            - `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: Finite maximum allowed regression percentage, greater than or equal to 0. Omitting this value is read as 0. A value of 0 is the strictest budget; any regression fails, and exactly-at-budget passes.
            - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
          - `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: Finite threshold value. Interpreted in the metric's unit: router_error_rate is a ratio in [0, 1], router_latency is milliseconds, and inflight_requests is in-flight requests per ready replica averaged over the rule window. Thresholds that no achievable value could pass, or that every achievable value passes, are rejected at create. Omitting this value is read as 0. Set 0 explicitly for the strictest threshold: nothing at all is tolerated.
            - `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: Finite maximum allowed regression percentage, greater than or equal to 0. Omitting this value is read as 0. A value of 0 is the strictest budget; any regression fails, and exactly-at-budget passes.
            - `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. The completed target's autoscaling max lands at the landing ceiling, max(this value, the source max, the target's own max); the rollout may lift the target max at first wake, at the first step that needs it, or at completion unless an operator changes max mid-run. The lifted ceiling remains after completion, and PreviewRolloutDefaults reports a coming lift as ROLLOUT_WILL_RAISE_TARGET_MAX. 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 small batches that ramp target replicas up while shrinking source replicas to what their remaining traffic share needs.
      - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
            - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
            - `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. The completed target's autoscaling max lands at the landing ceiling, max(this value, the source max, the target's own max); the rollout may lift the target max at first wake, at the first step that needs it, or at completion unless an operator changes max mid-run. The lifted ceiling remains after completion, and PreviewRolloutDefaults reports a coming lift as ROLLOUT_WILL_RAISE_TARGET_MAX. 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 small batches that ramp target replicas up while shrinking source replicas to what their remaining traffic share needs.
      - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
            - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
            - `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. The completed target's autoscaling max lands at the landing ceiling, max(this value, the source max, the target's own max); the rollout may lift the target max at first wake, at the first step that needs it, or at completion unless an operator changes max mid-run. The lifted ceiling remains after completion, and PreviewRolloutDefaults reports a coming lift as ROLLOUT_WILL_RAISE_TARGET_MAX. 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 small batches that ramp target replicas up while shrinking source replicas to what their remaining traffic share needs.
      - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
            - `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_PERCENTILE': Aggregation used for the metric. Optional for router_error_rate and inflight_requests; omitted values default to METRIC_STAT_TYPE_AVG. Required for router_latency, where AVG or PERCENTILE may be used.
            - `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. The completed target's autoscaling max lands at the landing ceiling, max(this value, the source max, the target's own max); the rollout may lift the target max at first wake, at the first step that needs it, or at completion unless an operator changes max mid-run. The lifted ceiling remains after completion, and PreviewRolloutDefaults reports a coming lift as ROLLOUT_WILL_RAISE_TARGET_MAX. 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: Findings to surface next to the form when a later gate will refuse the spec or a standing guarantee is lost. An empty list means the shown values are safe to submit as-is; render message for unrecognized codes.
    - `code` string, required: Machine-readable warning code. Current vocabulary is START_WILL_REJECT, FINAL_BELOW_SOURCE_MIN, and FIRST_STEP_AT_SEED; render message for unrecognized codes.
    - `message` string, required: Plain-language description of the finding, safe to show users as-is.
  - `landingMinReplicas` integer: Expected autoscaling minimum replicas for the completed target; unset while the final target replicas cannot be resolved.
  - `landingMaxReplicas` integer: Expected autoscaling maximum replicas for the completed target; unset while the final target replicas cannot be resolved.

## Other responses

- `default`: Default error response

## Changes

- **2026-10-22** `bb5257b3173a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/together/apis/together-apis/changes/v2/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.dev/together/apis/together-apis/revisions/93438ddac711?raw)
