POST
/
v1
/
projects
/
{idOrName}
/
rolling-release
/
approve-stage
approveRollingReleaseStage
import { Vercel } from "@vercel/sdk";

const vercel = new Vercel({
  bearerToken: "<YOUR_BEARER_TOKEN_HERE>",
});

async function run() {
  const result = await vercel.rollingRelease.approveRollingReleaseStage({
    idOrName: "<value>",
    teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
    slug: "my-team-url-slug",
  });

  console.log(result);
}

run();
{
  "rollingRelease": {
    "state": "ACTIVE",
    "currentDeployment": {
      "id": "dpl_abc123",
      "name": "my-shop@main",
      "url": "my-shop.vercel.app",
      "target": "production",
      "source": "git",
      "createdAt": 1716206500000,
      "readyState": "READY",
      "readyStateAt": 1716206800000
    },
    "canaryDeployment": {
      "id": "dpl_def456",
      "name": "my-shop@9c7e2f4",
      "url": "9c7e2f4-my-shop.vercel.app",
      "target": "production",
      "source": "git",
      "createdAt": 1716210100000,
      "readyState": "READY",
      "readyStateAt": 1716210400000
    },
    "queuedDeploymentId": "dpl_ghi789",
    "advancementType": "manual-approval",
    "stages": [
      {
        "index": 0,
        "isFinalStage": false,
        "targetPercentage": 5,
        "requireApproval": true,
        "duration": null
      },
      {
        "index": 1,
        "isFinalStage": false,
        "targetPercentage": 25,
        "requireApproval": true,
        "duration": null
      },
      {
        "index": 2,
        "isFinalStage": false,
        "targetPercentage": 60,
        "requireApproval": true,
        "duration": null
      },
      {
        "index": 3,
        "isFinalStage": true,
        "targetPercentage": 100,
        "requireApproval": false,
        "duration": null
      }
    ],
    "activeStage": {
      "index": 1,
      "isFinalStage": false,
      "targetPercentage": 25,
      "requireApproval": true,
      "duration": null
    },
    "nextStage": {
      "index": 2,
      "isFinalStage": false,
      "targetPercentage": 60,
      "requireApproval": true,
      "duration": null
    },
    "startedAt": 1716210500000,
    "updatedAt": 1716210600000
  }
}

Authorizations

Authorization
string
header
required

Default authentication mechanism

Path Parameters

idOrName
string
required

Project ID or project name (URL-encoded)

Query Parameters

teamId
string

The Team identifier to perform the request on behalf of.

Example:

"team_1a2b3c4d5e6f7g8h9i0j1k2l"

slug
string

The Team slug to perform the request on behalf of.

Example:

"my-team-url-slug"

Body

application/json
nextStageIndex
number
required

The index of the stage to transition to

canaryDeploymentId
string
required

The id of the canary deployment to approve for the next stage

Response

The response format for rolling release endpoints that return rolling release information

rollingRelease
object | null
required

Rolling release information including configuration and document details, or null if no rolling release exists