Skip to content
Start here

Create Deployment

client.Workers.Scripts.Deployments.New(ctx, scriptName, params) (*Deployment, error)
POST/accounts/{account_id}/workers/scripts/{script_name}/deployments

Deployments configure how Worker Versions are deployed to traffic. A deployment can consist of one or two versions of a Worker.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers Scripts Write
ParametersExpand Collapse
scriptName string

Name of the script, used in URLs and route configuration.

params ScriptDeploymentNewParams
AccountID param.Field[string]

Path param: Identifier.

maxLength32
Deployment param.Field[Deployment]

Body param

Force param.Field[bool]optional

Query param: If set to true, the deployment will be created even if normally blocked by something such rolling back to an older version when a secret has changed.

ReturnsExpand Collapse
type Deployment struct{…}
ID string
formatuuid
CreatedOn Time
formatdate-time
Source string
Strategy DeploymentStrategy
Versions []DeploymentVersion
Percentage float64
maximum100
minimum0.01
VersionID string
formatuuid
Annotations DeploymentAnnotationsoptional
WorkersMessage stringoptional

Human-readable message about the deployment. Truncated to 100 bytes.

maxLength100
WorkersTriggeredBy stringoptional

Operation that triggered the creation of the deployment.

AuthorEmail stringoptional
formatemail

Create Deployment

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/workers"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  deployment, err := client.Workers.Scripts.Deployments.New(
    context.TODO(),
    "this-is_my_script-01",
    workers.ScriptDeploymentNewParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Deployment: workers.DeploymentParam{
        Strategy: cloudflare.F(workers.DeploymentStrategyPercentage),
        Versions: cloudflare.F([]workers.DeploymentVersionParam{workers.DeploymentVersionParam{
          Percentage: cloudflare.F(100.000000),
          VersionID: cloudflare.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
        }}),
      },
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", deployment.ID)
}
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_on": "2019-12-27T18:11:19.117Z",
    "source": "api",
    "strategy": "percentage",
    "versions": [
      {
        "percentage": 100,
        "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
      }
    ],
    "annotations": {
      "workers/message": "Deploy bug fix.",
      "workers/triggered_by": "deployment"
    },
    "author_email": "dev@stainless.com"
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "created_on": "2019-12-27T18:11:19.117Z",
    "source": "api",
    "strategy": "percentage",
    "versions": [
      {
        "percentage": 100,
        "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
      }
    ],
    "annotations": {
      "workers/message": "Deploy bug fix.",
      "workers/triggered_by": "deployment"
    },
    "author_email": "dev@stainless.com"
  },
  "success": true
}