---
title: "Cancels the Upload. No Parts may be added after an Upload is cancelled.

Returns the Upload object with status `cancelled`."
method: POST
path: "/uploads/{upload_id}/cancel"
tags: ["Uploads"]
---

# Cancels the Upload. No Parts may be added after an Upload is cancelled.

Returns the Upload object with status `cancelled`.

`POST /uploads/{upload_id}/cancel`

## Path parameters

- `upload_id` string, required

## Response `200`

OK

- Upload — The Upload object can accept byte chunks in the form of Parts.
  - `id` string, required — The Upload unique identifier, which can be referenced in API endpoints.
  - `created_at` integer, required — The Unix timestamp (in seconds) for when the Upload was created.
  - `filename` string, required — The name of the file to be uploaded.
  - `bytes` integer, required — The intended number of bytes to be uploaded.
  - `purpose` string, required — The intended purpose of the file. [Please refer here](/docs/api-reference/files/object#files/object-purpose) for acceptable values.
  - `status` 'pending' | 'completed' | 'cancelled' | 'expired', required — The status of the Upload.
  - `expires_at` integer, required — The Unix timestamp (in seconds) for when the Upload will expire.
  - `object` 'upload' — The object type, which is always "upload".
  - `file` object, nullable — The ready File object after the Upload is completed.
    - `id` string, required — The file identifier, which can be referenced in the API endpoints.
    - `bytes` integer, required — The size of the file, in bytes.
    - `created_at` integer, required — The Unix timestamp (in seconds) for when the file was created.
    - `expires_at` integer — The Unix timestamp (in seconds) for when the file will expire.
    - `filename` string, required — The name of the file.
    - `object` 'file', required — The object type, which is always `file`.
    - `purpose` 'assistants' | 'assistants_output' | 'batch' | 'batch_output' | 'fine-tune' | 'fine-tune-results' | 'vision' | 'user_data', required — The intended purpose of the file. Supported values are `assistants`, `assistants_output`, `batch`, `batch_output`, `fine-tune`, `fine-tune-results`, `vision`, and `user_data`.
    - `status` 'uploaded' | 'processed' | 'error', required — Deprecated. The current status of the file, which can be either `uploaded`, `processed`, or `error`.
    - `status_details` string — Deprecated. For details on why a fine-tuning training file failed validation, see the `error` field on `fine_tuning.job`.

## Changes

> 82 revisions in range; 34 could not be searched.

- **2026-05-13** `74cbcf73838f` — 1 warning
  - added the new `user_data` enum value to the `file/allOf[subschema #1: OpenAIFile]/purpose` response property for the response status `200`
- **2025-03-11** `6ab43fe7798e` — 1 info
  - added the optional property `file/allOf[subschema #1: OpenAIFile]/expires_at` to the response with the `200` status
- **2025-01-31** `fc164a27fdb9` — 7 breaking, 1 warning, 1 info
  - removed the required property `file/bytes` from the response with the `200` status
  - removed the required property `file/created_at` from the response with the `200` status
  - removed the required property `file/filename` from the response with the `200` status
  - removed the required property `file/id` from the response with the `200` status
  - …5 more
- **2025-01-31** `15156e46769c` — 1 breaking, 9 info
  - the response property `file` became nullable for the status `200`
  - added the optional property `file/status_details` to the response with the `200` status
  - removed `#/components/schemas/OpenAIFile, subschema #2` from the `file` response property `allOf` list for the response status `200`
  - added the required property `file/bytes` to the response with the `200` status
  - …6 more
- …earlier changes not shown

[Full history](https://skmtc.dev/openai/apis/openapi/changes/uploads/:upload_id/cancel/post.md)

---

[API](https://skmtc.dev/openai/apis/openapi.md) · [All operations](https://skmtc.dev/openai/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openai/openapi/revisions/959ef977e135/schema)
