Rollout Service

Promote a rollout

POST
/projects/{projectId}/endpoints/{endpointId}/rollouts/{id}/promote

Completes a running or paused rollout immediately by sending all live traffic to the target deployment.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

projectId*string

Project identifier.

endpointId*string

Endpoint identifier.

id*string

Rollout identifier.

Request Body

application/json

Optional concurrency check for immediately completing a rollout on its target deployment.

etag?string

Optional etag for optimistic concurrency.

Response Body

application/json

application/json

curl -X POST "https://example.com/projects/string/endpoints/string/rollouts/string/promote" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "endpointId": "string",  "sourceDeploymentId": "string",  "targetDeploymentId": "string",  "strategy": "ROLLOUT_STRATEGY_TYPE_ROLLING",  "state": "ROLLOUT_STATE_RUNNING",  "currentStep": 0,  "currentTrafficPercent": 0,  "createdAt": "2019-08-24T14:15:22Z",  "startedAt": "2019-08-24T14:15:22Z",  "completedAt": "2019-08-24T14:15:22Z",  "etag": "string",  "status": {    "totalSteps": 0,    "condition": {      "category": "ROLLOUT_FAILURE_CATEGORY_METRIC_REGRESSION",      "message": "string",      "atStep": 0,      "observedAt": "2019-08-24T14:15:22Z",      "metrics": [        {          "name": "string",          "stat": "METRIC_STAT_TYPE_AVG",          "percentile": 0,          "check": "METRIC_CHECK_TYPE_THRESHOLD",          "sourceValue": 0,          "targetValue": 0,          "threshold": 0,          "operator": "THRESHOLD_OPERATOR_GT",          "maxRegressionPercent": 0,          "direction": "REGRESSION_DIRECTION_HIGHER_IS_WORSE",          "verdict": "METRIC_VERDICT_PASS",          "failureReason": "string"        }      ],      "type": "CapacityLimited"    },    "steps": [      {        "stepIndex": 0,        "targetTrafficPercent": 0,        "state": "ROLLOUT_STEP_STATE_PENDING",        "metrics": [          {            "name": "string",            "stat": "METRIC_STAT_TYPE_AVG",            "percentile": 0,            "check": "METRIC_CHECK_TYPE_THRESHOLD",            "sourceValue": 0,            "targetValue": 0,            "threshold": 0,            "operator": "THRESHOLD_OPERATOR_GT",            "maxRegressionPercent": 0,            "direction": "REGRESSION_DIRECTION_HIGHER_IS_WORSE",            "verdict": "METRIC_VERDICT_PASS",            "failureReason": "string"          }        ],        "startedAt": "2019-08-24T14:15:22Z",        "completedAt": "2019-08-24T14:15:22Z",        "failureReason": "string"      }    ],    "updatedAt": "2019-08-24T14:15:22Z",    "conditions": [      {        "category": "ROLLOUT_FAILURE_CATEGORY_METRIC_REGRESSION",        "message": "string",        "atStep": 0,        "observedAt": "2019-08-24T14:15:22Z",        "metrics": [          {            "name": "string",            "stat": "METRIC_STAT_TYPE_AVG",            "percentile": 0,            "check": "METRIC_CHECK_TYPE_THRESHOLD",            "sourceValue": 0,            "targetValue": 0,            "threshold": 0,            "operator": "THRESHOLD_OPERATOR_GT",            "maxRegressionPercent": 0,            "direction": "REGRESSION_DIRECTION_HIGHER_IS_WORSE",            "verdict": "METRIC_VERDICT_PASS",            "failureReason": "string"          }        ],        "type": "CapacityLimited"      }    ]  },  "pauseInfo": {    "reason": "string",    "pausedAt": "2019-08-24T14:15:22Z"  }}