---
title: "Cancel an upload permanently"
method: POST
path: "/api/v1/uploads/{id}/cancel"
tags: ["Uploads"]
---

# Cancel an upload permanently

`POST /api/v1/uploads/{id}/cancel`

## Request

- Base URL: `https://getscaleforge.com`
- URL: `https://getscaleforge.com/api/v1/uploads/{id}/cancel`
- Auth: HTTP bearer

Sets status to `cancelled`. Remaining campaigns will not be created. Requires scope `uploads:write`.

## Response `200`

Cancelled

- object
  - `data` object
    - `id` integer
    - `name` string
    - `status` 'queued' | 'processing' | 'paused' | 'cancelled' | 'completed' | 'failed'
    - `total_campaigns` integer
    - `completed_campaigns` integer
    - `failed_campaigns` integer
    - `multi_account` boolean
    - `started_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `404`: Upload not found

---

[API](https://skmtc.dev/getscaleforge/apis/scaleforge-api.md) · [All operations](https://skmtc.dev/getscaleforge/apis/scaleforge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getscaleforge/apis/scaleforge-api/revisions/ca382e62f404?raw)
