---
title: "Cancel deployment"
method: POST
path: "/hosting/deployments/cancel"
tags: ["Hosting - Deployments"]
---

# Cancel deployment

`POST /hosting/deployments/cancel`

Cancel an in-progress deployment

## Request body

- object — Request body schema.
  - `uuid` string, uuid, required — Identifier of the deployment to cancel.

## Response `200`

Successful response

- object
  - `deployment` union, required — Deployment row at the time the cancel signal was sent. The status will flip to `cancelled` once the workflow's nonCancellable scope finishes writing the terminal row; clients should refetch shortly after.
    - object
      - `uuid` string, uuid, required
      - `workspaceUuid` string, uuid, required
      - `sourceS3Path` string, required
      - `bundleS3Path` string, nullable, required
      - `status` 'pending' | 'building' | 'success' | 'error' | 'cancelled', required
      - `buildLogS3Filename` string, nullable, required
      - `errorMessage` string, nullable, required
      - `url` string, required
      - `userUuid` string, uuid, required
      - `promotedAt` string, nullable, required
      - `promotedByUserUuid` string, uuid, nullable, required
      - `finishedAt` string, nullable, required
      - `temporalWorkflowId` string, uuid, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `kind` 'app', required
      - `appUuid` string, uuid, required
      - `meta` object, required
    - object
      - `uuid` string, uuid, required
      - `workspaceUuid` string, uuid, required
      - `sourceS3Path` string, required
      - `bundleS3Path` string, nullable, required
      - `status` 'pending' | 'building' | 'success' | 'error' | 'cancelled', required
      - `buildLogS3Filename` string, nullable, required
      - `errorMessage` string, nullable, required
      - `url` string, required
      - `userUuid` string, uuid, required
      - `promotedAt` string, nullable, required
      - `promotedByUserUuid` string, uuid, nullable, required
      - `finishedAt` string, nullable, required
      - `temporalWorkflowId` string, uuid, required
      - `createdAt` string, required
      - `updatedAt` string, required
      - `kind` 'worker', required
      - `workerUuid` string, uuid, required
      - `meta` object, required
        - `bundleSha256` string, required
        - `outboundAllowlist` string[], required
        - `kind` 'custom-integration'

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Not found
- `500` — Internal server error

---

[API](https://skmtc.net/getcargo/apis/cargo-api.md) · [All operations](https://skmtc.net/getcargo/apis/cargo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getcargo/cargo-api/revisions/1d5a19e01d83/schema)
