# Deployments ## List Deployments `client.workers.scripts.deployments.list(stringscriptName, DeploymentListParamsparams, RequestOptionsoptions?): DeploymentListResponse` **get** `/accounts/{account_id}/workers/scripts/{script_name}/deployments` List of Worker Deployments. The first deployment in the list is the latest deployment actively serving traffic. ### Parameters - `scriptName: string` Name of the script, used in URLs and route configuration. - `params: DeploymentListParams` - `account_id: string` Identifier. ### Returns - `DeploymentListResponse` - `deployments: Array` - `id: string` - `created_on: string` - `source: string` - `strategy: "percentage"` - `"percentage"` - `versions: Array` - `percentage: number` - `version_id: string` - `annotations?: Annotations` - `"workers/message"?: string` Human-readable message about the deployment. Truncated to 1000 bytes if longer. - `"workers/triggered_by"?: string` Operation that triggered the creation of the deployment. - `author_email?: string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployments = await client.workers.scripts.deployments.list('this-is_my_script-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(deployments.deployments); ``` #### Response ```json { "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": { "deployments": [ { "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 } ``` ## Create Deployment `client.workers.scripts.deployments.create(stringscriptName, DeploymentCreateParamsparams, RequestOptionsoptions?): Deployment` **post** `/accounts/{account_id}/workers/scripts/{script_name}/deployments` Deployments configure how [Worker Versions](https://developers.cloudflare.com/api/operations/worker-versions-list-versions) are deployed to traffic. A deployment can consist of one or two versions of a Worker. ### Parameters - `scriptName: string` Name of the script, used in URLs and route configuration. - `params: DeploymentCreateParams` - `account_id: string` Path param: Identifier. - `strategy: "percentage"` Body param - `"percentage"` - `versions: Array` Body param - `percentage: number` - `version_id: string` - `force?: boolean` 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. - `annotations?: Annotations` Body param - `"workers/message"?: string` Human-readable message about the deployment. Truncated to 1000 bytes if longer. - `"workers/triggered_by"?: string` Operation that triggered the creation of the deployment. ### Returns - `Deployment` - `id: string` - `created_on: string` - `source: string` - `strategy: "percentage"` - `"percentage"` - `versions: Array` - `percentage: number` - `version_id: string` - `annotations?: Annotations` - `"workers/message"?: string` Human-readable message about the deployment. Truncated to 1000 bytes if longer. - `"workers/triggered_by"?: string` Operation that triggered the creation of the deployment. - `author_email?: string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.workers.scripts.deployments.create('this-is_my_script-01', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', strategy: 'percentage', versions: [{ percentage: 100, version_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' }], }); console.log(deployment.id); ``` #### Response ```json { "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 } ``` ## Get Deployment `client.workers.scripts.deployments.get(stringdeploymentID, DeploymentGetParamsparams, RequestOptionsoptions?): Deployment` **get** `/accounts/{account_id}/workers/scripts/{script_name}/deployments/{deployment_id}` Get information about a Worker Deployment. ### Parameters - `deploymentID: string` - `params: DeploymentGetParams` - `account_id: string` Identifier. - `script_name: string` Name of the script, used in URLs and route configuration. ### Returns - `Deployment` - `id: string` - `created_on: string` - `source: string` - `strategy: "percentage"` - `"percentage"` - `versions: Array` - `percentage: number` - `version_id: string` - `annotations?: Annotations` - `"workers/message"?: string` Human-readable message about the deployment. Truncated to 1000 bytes if longer. - `"workers/triggered_by"?: string` Operation that triggered the creation of the deployment. - `author_email?: string` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.workers.scripts.deployments.get( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', script_name: 'this-is_my_script-01' }, ); console.log(deployment.id); ``` #### Response ```json { "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 } ``` ## Delete Deployment `client.workers.scripts.deployments.delete(stringdeploymentID, DeploymentDeleteParamsparams, RequestOptionsoptions?): DeploymentDeleteResponse` **delete** `/accounts/{account_id}/workers/scripts/{script_name}/deployments/{deployment_id}` Delete a Worker Deployment. The latest deployment, which is actively serving traffic, cannot be deleted. All other deployments can be deleted. ### Parameters - `deploymentID: string` - `params: DeploymentDeleteParams` - `account_id: string` Identifier. - `script_name: string` Name of the script, used in URLs and route configuration. ### Returns - `DeploymentDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Example ```typescript import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const deployment = await client.workers.scripts.deployments.delete( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', script_name: 'this-is_my_script-01' }, ); console.log(deployment.errors); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Deployment - `Deployment` - `id: string` - `created_on: string` - `source: string` - `strategy: "percentage"` - `"percentage"` - `versions: Array` - `percentage: number` - `version_id: string` - `annotations?: Annotations` - `"workers/message"?: string` Human-readable message about the deployment. Truncated to 1000 bytes if longer. - `"workers/triggered_by"?: string` Operation that triggered the creation of the deployment. - `author_email?: string` ### Deployment List Response - `DeploymentListResponse` - `deployments: Array` - `id: string` - `created_on: string` - `source: string` - `strategy: "percentage"` - `"percentage"` - `versions: Array` - `percentage: number` - `version_id: string` - `annotations?: Annotations` - `"workers/message"?: string` Human-readable message about the deployment. Truncated to 1000 bytes if longer. - `"workers/triggered_by"?: string` Operation that triggered the creation of the deployment. - `author_email?: string` ### Deployment Delete Response - `DeploymentDeleteResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true`