---
title: "Deployments"
description: "<p>Launch Deployments let you build, preview, and manage your project deployments seamlessly in real time. Whether you are importing code from a Git repository or uploading a ZIP file, each deployment provides detailed insights into build status, logs, and redeployment options—helping you track and manage every release with confidence.</p>"
url: "https://www.contentstack.com/docs/developers/apis/launch-api/deployments"
product: "Contentstack"
doc_type: "guide"
audience:
  - developers
  - admins
version: "current"
last_updated: "2026-01-13"
---

# Deployments

Launch Deployments let you build, preview, and manage your project deployments seamlessly in real time. Whether you are importing code from a Git repository or uploading a ZIP file, each deployment provides detailed insights into build status, logs, and redeployment options—helping you track and manage every release with confidence.

## Get all Deployments

### Get all Deployments

**GET** `/projects/{project_uid}/environments/{environment_uid}/deployments`

The Get all Deployments request fetches the list of all deployments within a specific environment of your project.

#### URL Parameters

- **project_uid** (required)
  Enter the project\_uid of your project.
- **environment_uid** (required)
  Enter the environment\_uid of the environment where the deployments belong.

#### Query Parameters

- **skip** (optional)
  The "skip" parameter will skip a specific number of deployments in the output. For example, if there are 20 deployments and you want to skip the first 2 to get only the last 12 in the response body, you need to specify "2" here.
- **limit** (optional)
  The "limit" parameter will return a specific number of deployments (in between 0-100) in your response based on the value you provide. If there are 20 deployments and you want to fetch only 10 deployments, set the limit as 10.

#### Headers

- **authorization** (optional)
  Use a bearer token to authenticate if you're not using the authtoken header. Format: Bearer . If provided, the organization\_uid header isn't required.
- **authtoken** (optional)
  Use an authentication token if the Authorization header isn't provided. \*\*Requires the organization\_uid header.\*\* When using authtoken authentication, you must explicitly provide the organization\_uid header. The organization\_uid cannot be derived from project\_uid for Launch REST APIs.
- **x-cs-api-version** (optional)
  Enter the API version. Default is 1.0
- **organization_uid** (optional)
  ⚠️ \*\*REQUIRED when using authtoken authentication\*\* - you must explicitly provide this header. Optional with Authorization Bearer token (organization\_uid can be derived from the token).

#### Sample Response

```json
{
  "pagination": {
    "count": 1
  },
  "deployments": [
    {
      "uid": "690cxxxxxxxxxxxxx96a",
      "environment": "691xxxxxxxxxxxxxxx1315",
      "project": "691xxxxxxxxxxxxxxxx1316",
      "gitBranch": "main",
      "deploymentUrl": "sample-project.contentstackapps.com",
      "repositoryUrl": "https://github.com/Vaxxxxxxxx20/eleventy-base-blog",
      "commitHash": "4f0axxxxxxxxxxxxb75ea",
      "commitMessage": "Merge pull request #151 from DougReeder/style-src-self\n\nRefactors style bundling so it's easy to avoid an insecure CSP",
      "commitUrl": "https://github.com/Vaxxxxxxxx20/eleventy-base-blog/commit/4f0a64d7xxxxxxxxxxxxxxx2b75ea",
      "buildCommand": "npx @11ty/eleventy",
      "outputDirectory": "./_site",
      "frameworkPreset": "OTHER",
      "isCSRFramework": false,
      "environmentVariables": [],
      "status": "LIVE",
      "isCancellable": false,
      "latest": true,
      "deploymentNumber": 1,
      "createdAt": "2025-11-06T07:39:20.071Z",
      "createdBy": "bltxxxxxxxx5783",
      "previewUrl": "https://images.contentstack.io/v3/assets/bltxxxxxxxxx7b34/bltxxxxxxxx45f/690xxxxxxxxxxxx193/690xxxxxxxxxxc96a-preview.png",
      "updatedAt": "2025-11-06T07:39:58.426Z",
      "durationInSeconds": 25.032954443,
      "nodeVersion": "22"
    }
  ]
}
```

## Create a Deployment

### Create a Deployment

**POST** `/projects/{project_uid}/environments/{environment_uid}/deployments`

The Create Deployment request lets you create a new deployment in your Launch project.

The examples below explain how to create deployments using a Git Provider, Newly Uploaded File, or the Previously File Upload option.  
  

##### Create a Deployment Using a Previously Uploaded File:

```
{}
```

To create a deployment using a previously uploaded file, the system uses the most recent file uploaded to your project.  
  

##### Create a Deployment Using a Newly Uploaded File:

```
{
  "uploadUid": "133xxxxbe8"
}
```

To create a deployment using FileUpload, you must run the following APIs step-by-step:

1\. [Get a Signed Upload URL for a Deployment](https://www.contentstack.com/docs/developers/apis/launch-api#get-a-signed-upload-url-for-a-deployment).

2\. [Upload your ZIP file to Launch](https://www.contentstack.com/docs/developers/launch/upload-your-deployment-zip-file-to-launch) (The signed URL is valid only for 10 minutes).

#### URL Parameters

- **project_uid** (required)
  Enter the project\_uid of your project.
- **environment_uid** (required)
  Enter the environment\_uid of the environment where you want to create the deployment.

#### Headers

- **authorization** (optional)
  Use a bearer token to authenticate if you're not using the authtoken header. Format: Bearer . If provided, the organization\_uid header isn't required.
- **authtoken** (optional)
  Use an authentication token if the Authorization header isn't provided. \*\*Requires the organization\_uid header.\*\* When using authtoken authentication, you must explicitly provide the organization\_uid header. The organization\_uid cannot be derived from project\_uid for Launch REST APIs.
- **x-cs-api-version** (optional)
  Enter the API version. Default is 1.0
- **organization_uid** (optional)
  ⚠️ \*\*REQUIRED when using authtoken authentication\*\* - you must explicitly provide this header. Optional with Authorization Bearer token (organization\_uid can be derived from the token).

#### Sample Response

```json
{
  "deployment": {
    "uid": "690cxxxxxxxxxxxxx96a",
    "environment": "691xxxxxxxxxxxxxxx1315",
    "project": "691xxxxxxxxxxxxxxxx1316",
    "gitBranch": "main",
    "deploymentUrl": "sample-project.contentstackapps.com",
    "repositoryUrl": "https://github.com/Vaxxxxxxxx20/eleventy-base-blog",
    "commitHash": "4f0axxxxxxxxxxxxb75ea",
    "commitMessage": "Merge pull request #151 from DougReeder/style-src-self\n\nRefactors style bundling so it's easy to avoid an insecure CSP",
    "commitUrl": "https://github.com/Vaxxxxxxxx20/eleventy-base-blog/commit/4f0a64d7xxxxxxxxxxxxxxx2b75ea",
    "buildCommand": "npx @11ty/eleventy",
    "outputDirectory": "./_site",
    "frameworkPreset": "OTHER",
    "isCSRFramework": false,
    "environmentVariables": [],
    "status": "LIVE",
    "isCancellable": false,
    "latest": true,
    "deploymentNumber": 1,
    "createdAt": "2025-11-06T07:39:20.071Z",
    "createdBy": "bltxxxxxxxx5783",
    "previewUrl": "https://images.contentstack.io/v3/assets/bltxxxxxxxxx7b34/bltxxxxxxxx45f/690xxxxxxxxxxxx193/690xxxxxxxxxxc96a-preview.png",
    "updatedAt": "2025-11-06T07:39:58.426Z",
    "durationInSeconds": 25.032954443,
    "nodeVersion": "22"
  }
}
```

## Get a Deployment

### Get a Deployment

**GET** `/projects/{project_uid}/environments/{environment_uid}/deployments/{deployment_uid}`

The Get a Deployment request retrieves a specific deployment from an environment of your project in Launch using the project\_uid, environment\_uid, and deployment\_uid path parameters.

#### URL Parameters

- **project_uid** (required)
  Enter the project\_uid of your project.
- **environment_uid** (required)
  Enter the environment\_uid of the environment where the deployments belong.
- **deployment_uid** (required)
  Enter the deployment\_uid of the deployment that must be retrieved.

#### Headers

- **authorization** (optional)
  Use a bearer token to authenticate if you're not using the authtoken header. Format: Bearer . If provided, the organization\_uid header isn't required.
- **authtoken** (optional)
  Use an authentication token if the Authorization header isn't provided. \*\*Requires the organization\_uid header.\*\* When using authtoken authentication, you must explicitly provide the organization\_uid header. The organization\_uid cannot be derived from project\_uid for Launch REST APIs.
- **x-cs-api-version** (optional)
  Enter the API version. Default is 1.0
- **organization_uid** (optional)
  ⚠️ \*\*REQUIRED when using authtoken authentication\*\* - you must explicitly provide this header. Optional with Authorization Bearer token (organization\_uid can be derived from the token).

#### Sample Response

```json
{
  "deployment": {
    "uid": "690cxxxxxxxxxxxxx96a",
    "environment": "691xxxxxxxxxxxxxxx1315",
    "project": "691xxxxxxxxxxxxxxxx1316",
    "gitBranch": "main",
    "deploymentUrl": "sample-project.contentstackapps.com",
    "repositoryUrl": "https://github.com/Vaxxxxxxxx20/eleventy-base-blog",
    "commitHash": "4f0axxxxxxxxxxxxb75ea",
    "commitMessage": "Merge pull request #151 from DougReeder/style-src-self\n\nRefactors style bundling so it's easy to avoid an insecure CSP",
    "commitUrl": "https://github.com/Vaxxxxxxxx20/eleventy-base-blog/commit/4f0a64d7xxxxxxxxxxxxxxx2b75ea",
    "buildCommand": "npx @11ty/eleventy",
    "outputDirectory": "./_site",
    "frameworkPreset": "OTHER",
    "isCSRFramework": false,
    "environmentVariables": [],
    "status": "LIVE",
    "isCancellable": false,
    "latest": true,
    "deploymentNumber": 1,
    "createdAt": "2025-11-06T07:39:20.071Z",
    "createdBy": "bltxxxxxxxx5783",
    "previewUrl": "https://images.contentstack.io/v3/assets/bltxxxxxxxxx7b34/bltxxxxxxxx45f/690xxxxxxxxxxxx193/690xxxxxxxxxxc96a-preview.png",
    "updatedAt": "2025-11-06T07:39:58.426Z",
    "durationInSeconds": 25.032954443,
    "nodeVersion": "22"
  }
}
```