---
title: "Resume a rollout"
method: POST
path: "/v2/projects/{projectId}/endpoints/{endpointId}/rollouts/{id}/resume"
tags: ["RolloutService"]
---

# Resume a rollout

`POST /v2/projects/{projectId}/endpoints/{endpointId}/rollouts/{id}/resume`

## Request

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

Resumes a pausing, paused, or system-paused rollout from its current step and traffic split.

## Path parameters

- `projectId` string, required: Project identifier.
- `endpointId` string, required: Endpoint identifier.
- `id` string, required: Rollout identifier.

## Request body

- DEResumeRolloutRequest: Optional concurrency check for resuming a paused rollout.
  - `etag` string: Optional etag for optimistic concurrency.

## Response `200`

OK

- DERollout: Public view of a rollout resource, including runtime progress and any pause or abort reason.
  - `id` string, required: Output only. Unique rollout identifier.
  - `endpointId` string, required: Output only. Endpoint this rollout belongs to.
  - `sourceDeploymentId` string, required: Output only. Deployment that traffic is shifting away from.
  - `targetDeploymentId` string, required: Output only. Deployment that traffic is shifting toward.
  - `strategy` 'ROLLOUT_STRATEGY_TYPE_ROLLING' | 'ROLLOUT_STRATEGY_TYPE_CANARY' | 'ROLLOUT_STRATEGY_TYPE_BLUE_GREEN', required: Output only. Rollout strategy selected at creation.
  - `state` 'ROLLOUT_STATE_RUNNING' | 'ROLLOUT_STATE_PAUSED' | 'ROLLOUT_STATE_STABILIZING' | 'ROLLOUT_STATE_COMPLETED' | 'ROLLOUT_STATE_PENDING' | 'ROLLOUT_STATE_SYSTEM_PAUSED' | 'ROLLOUT_STATE_CANCELLING' | 'ROLLOUT_STATE_CANCELED' | 'ROLLOUT_STATE_PAUSING', required: Output only. High-level rollout lifecycle state.
  - `currentStep` integer: Output only. Zero-based index of the current step. Unset while PENDING; step 0 is reported explicitly after start.
  - `currentTrafficPercent` integer: Output only. Applied percentage of traffic on the target deployment.
  - `createdAt` string, date-time, required: Output only. Timestamp when the rollout was created.
  - `startedAt` string, date-time: Output only. Timestamp when the rollout started running.
  - `completedAt` string, date-time: Output only. Timestamp when the rollout reached a terminal state.
  - `etag` string: Output only. Opaque version tag for optimistic concurrency control.
  - `status` DERolloutStatus, required: Derived runtime progress for a rollout.
    - `totalSteps` integer, required: Total number of steps in the rollout progression. Always serializes when status is present.
    - `condition` DERolloutCondition: Structured reason a rollout stopped progressing.
      - `category` 'ROLLOUT_FAILURE_CATEGORY_METRIC_REGRESSION' | 'ROLLOUT_FAILURE_CATEGORY_METRICS_UNAVAILABLE' | 'ROLLOUT_FAILURE_CATEGORY_TARGET_NOT_READY' | 'ROLLOUT_FAILURE_CATEGORY_SOURCE_NOT_DRAINED' | 'ROLLOUT_FAILURE_CATEGORY_HEALTH_REGRESSION' | 'ROLLOUT_FAILURE_CATEGORY_CAPACITY_EXHAUSTED' | 'ROLLOUT_FAILURE_CATEGORY_ROUTING_ERROR' | 'ROLLOUT_FAILURE_CATEGORY_DEPENDENCY_OUTAGE' | 'ROLLOUT_FAILURE_CATEGORY_ABORTED_BY_OPERATOR' | 'ROLLOUT_FAILURE_CATEGORY_INTERNAL' | 'ROLLOUT_FAILURE_CATEGORY_POLICY_INFEASIBLE' | 'ROLLOUT_FAILURE_CATEGORY_UNDER_SERVED' | 'ROLLOUT_FAILURE_CATEGORY_ENTITLEMENT_LAPSED': Category that classifies why the rollout stopped.
      - `message` string: Human-readable explanation for the condition.
      - `atStep` integer: Step index where the condition arose. Step 0 serializes explicitly.
      - `observedAt` string, date-time: Timestamp when the condition was observed.
      - `metrics` DEMetricResult[]: Metrics observed at the failing gate, enriched with their criteria. Unmeasured rules appear as synthesized rows with verdict METRIC_VERDICT_UNAVAILABLE and no measured values.
        - `name` string: Metric name as exported to the observability backend.
        - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_PERCENTILE': Aggregation used for the metric.
        - `percentile` integer: Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
        - `check` 'METRIC_CHECK_TYPE_THRESHOLD' | 'METRIC_CHECK_TYPE_REGRESSION': Evaluation form used by the metric rule.
        - `sourceValue` number: Observed source baseline. Set only for regression checks with a recorded observation; a 0 reading serializes explicitly.
        - `targetValue` number: Observed target value. Set when the gate recorded an observation; absent on synthesized unavailable results. A 0 reading serializes explicitly.
        - `threshold` number: Threshold criteria used when check is METRIC_CHECK_TYPE_THRESHOLD.
        - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE': Threshold comparison operator.
        - `maxRegressionPercent` number: Regression percentage limit used when check is METRIC_CHECK_TYPE_REGRESSION.
        - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE': Direction that indicates whether higher or lower values are worse.
        - `verdict` 'METRIC_VERDICT_PASS' | 'METRIC_VERDICT_BREACHED' | 'METRIC_VERDICT_UNAVAILABLE': Rule decision recorded by the metric gate. Absent when no decision was recorded.
        - `failureReason` string: Rule-specific failure text. Set only when verdict is METRIC_VERDICT_BREACHED and the gate recorded one.
      - `type` 'CapacityLimited': Informational condition type. `CapacityLimited` means the current step advanced partially because full capacity was not placeable.
    - `steps` DERolloutStepStatus[], required: Per-step rollout execution summaries.
      - `stepIndex` integer: Index of this step in the rollout progression. Step 0 serializes explicitly.
      - `targetTrafficPercent` integer: Target traffic percentage configured for this step. Always serializes for recorded steps.
      - `state` 'ROLLOUT_STEP_STATE_PENDING' | 'ROLLOUT_STEP_STATE_RUNNING' | 'ROLLOUT_STEP_STATE_PASSED' | 'ROLLOUT_STEP_STATE_FAILED' | 'ROLLOUT_STEP_STATE_PAUSED' | 'ROLLOUT_STEP_STATE_CANCELED' | 'ROLLOUT_STEP_STATE_SKIPPED': Outcome of this step. Finished steps are PASSED, the live step mirrors the rollout state, skipped-over steps are SKIPPED, and unreached steps are PENDING.
      - `metrics` DEMetricResult[]: Metric gate results for this step, enriched with criteria and verdict. Unmeasured rules appear as synthesized rows with verdict METRIC_VERDICT_UNAVAILABLE and no measured values.
        - `name` string: Metric name as exported to the observability backend.
        - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_PERCENTILE': Aggregation used for the metric.
        - `percentile` integer: Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
        - `check` 'METRIC_CHECK_TYPE_THRESHOLD' | 'METRIC_CHECK_TYPE_REGRESSION': Evaluation form used by the metric rule.
        - `sourceValue` number: Observed source baseline. Set only for regression checks with a recorded observation; a 0 reading serializes explicitly.
        - `targetValue` number: Observed target value. Set when the gate recorded an observation; absent on synthesized unavailable results. A 0 reading serializes explicitly.
        - `threshold` number: Threshold criteria used when check is METRIC_CHECK_TYPE_THRESHOLD.
        - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE': Threshold comparison operator.
        - `maxRegressionPercent` number: Regression percentage limit used when check is METRIC_CHECK_TYPE_REGRESSION.
        - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE': Direction that indicates whether higher or lower values are worse.
        - `verdict` 'METRIC_VERDICT_PASS' | 'METRIC_VERDICT_BREACHED' | 'METRIC_VERDICT_UNAVAILABLE': Rule decision recorded by the metric gate. Absent when no decision was recorded.
        - `failureReason` string: Rule-specific failure text. Set only when verdict is METRIC_VERDICT_BREACHED and the gate recorded one.
      - `startedAt` string, date-time: Timestamp when this step's first sub-step ran. Unset for steps no sub-step reached.
      - `completedAt` string, date-time: Timestamp when this step finished, was skipped over, or the rollout ended on it. Unset while in progress.
      - `failureReason` string: Failure reason set only when this step failed.
    - `updatedAt` string, date-time: Timestamp of the most recent progress update.
    - `conditions` DERolloutCondition[]: Informational conditions that describe the rollout's current state. Omitted when empty; clients should treat an absent key as an empty list.
      - `category` 'ROLLOUT_FAILURE_CATEGORY_METRIC_REGRESSION' | 'ROLLOUT_FAILURE_CATEGORY_METRICS_UNAVAILABLE' | 'ROLLOUT_FAILURE_CATEGORY_TARGET_NOT_READY' | 'ROLLOUT_FAILURE_CATEGORY_SOURCE_NOT_DRAINED' | 'ROLLOUT_FAILURE_CATEGORY_HEALTH_REGRESSION' | 'ROLLOUT_FAILURE_CATEGORY_CAPACITY_EXHAUSTED' | 'ROLLOUT_FAILURE_CATEGORY_ROUTING_ERROR' | 'ROLLOUT_FAILURE_CATEGORY_DEPENDENCY_OUTAGE' | 'ROLLOUT_FAILURE_CATEGORY_ABORTED_BY_OPERATOR' | 'ROLLOUT_FAILURE_CATEGORY_INTERNAL' | 'ROLLOUT_FAILURE_CATEGORY_POLICY_INFEASIBLE' | 'ROLLOUT_FAILURE_CATEGORY_UNDER_SERVED' | 'ROLLOUT_FAILURE_CATEGORY_ENTITLEMENT_LAPSED': Category that classifies why the rollout stopped.
      - `message` string: Human-readable explanation for the condition.
      - `atStep` integer: Step index where the condition arose. Step 0 serializes explicitly.
      - `observedAt` string, date-time: Timestamp when the condition was observed.
      - `metrics` DEMetricResult[]: Metrics observed at the failing gate, enriched with their criteria. Unmeasured rules appear as synthesized rows with verdict METRIC_VERDICT_UNAVAILABLE and no measured values.
        - `name` string: Metric name as exported to the observability backend.
        - `stat` 'METRIC_STAT_TYPE_AVG' | 'METRIC_STAT_TYPE_PERCENTILE': Aggregation used for the metric.
        - `percentile` integer: Percentile value, such as 99. Set only when stat is METRIC_STAT_TYPE_PERCENTILE.
        - `check` 'METRIC_CHECK_TYPE_THRESHOLD' | 'METRIC_CHECK_TYPE_REGRESSION': Evaluation form used by the metric rule.
        - `sourceValue` number: Observed source baseline. Set only for regression checks with a recorded observation; a 0 reading serializes explicitly.
        - `targetValue` number: Observed target value. Set when the gate recorded an observation; absent on synthesized unavailable results. A 0 reading serializes explicitly.
        - `threshold` number: Threshold criteria used when check is METRIC_CHECK_TYPE_THRESHOLD.
        - `operator` 'THRESHOLD_OPERATOR_GT' | 'THRESHOLD_OPERATOR_GTE' | 'THRESHOLD_OPERATOR_LT' | 'THRESHOLD_OPERATOR_LTE': Threshold comparison operator.
        - `maxRegressionPercent` number: Regression percentage limit used when check is METRIC_CHECK_TYPE_REGRESSION.
        - `direction` 'REGRESSION_DIRECTION_HIGHER_IS_WORSE' | 'REGRESSION_DIRECTION_LOWER_IS_WORSE': Direction that indicates whether higher or lower values are worse.
        - `verdict` 'METRIC_VERDICT_PASS' | 'METRIC_VERDICT_BREACHED' | 'METRIC_VERDICT_UNAVAILABLE': Rule decision recorded by the metric gate. Absent when no decision was recorded.
        - `failureReason` string: Rule-specific failure text. Set only when verdict is METRIC_VERDICT_BREACHED and the gate recorded one.
      - `type` 'CapacityLimited': Informational condition type. `CapacityLimited` means the current step advanced partially because full capacity was not placeable.
  - `pauseInfo` DEPauseInfo: Pause metadata returned while a rollout is paused.
    - `reason` string: Human-readable reason recorded when the rollout was paused.
    - `pausedAt` string, date-time, required: Timestamp when the rollout was paused.

## 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/:id/resume/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)
