---
title: "Changes to Complete upload"
method: POST
path: "/uploads/{upload_id}/complete"
---

# Changes to Complete upload

`POST /uploads/{upload_id}/complete`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 9 of 163 revisions.

- **2026-09-25** `cda988e2e364` — 5 info
- **2026-05-13** `74cbcf73838f` — 1 warning
- **2025-03-11** `6ab43fe7798e` — 1 info
- **2025-01-31** `fc164a27fdb9` — 7 breaking, 1 warning, 1 info
- **2025-01-31** `15156e46769c` — 1 breaking, 9 info
- **2025-01-22** `bdebcdfcbbde` — 7 breaking, 1 warning, 1 info
- **2024-07-19** `837775c0b988` — 1 breaking
- **2024-07-19** `46964092fbe1` — 1 info
- **2024-07-18** `bddc980d3fbb` — 1 breaking, 8 info

## Changes

- **2026-09-25** `cda988e2e364` — 5 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `404`
  - added the non-success response with the status `410`
  - added the non-success response with the status `429`
  - added the non-success response with the status `500`
- **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
  - removed the required property `file/object` from the response with the `200` status
  - removed the required property `file/purpose` from the response with the `200` status
  - removed the required property `file/status` from the response with the `200` status
  - removed the optional property `file/status_details` from the response with the `200` status
  - added `#/components/schemas/OpenAIFile, subschema #2` to the `file` response property `allOf` list for the response status `200`
- **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
  - added the required property `file/created_at` to the response with the `200` status
  - added the required property `file/filename` to the response with the `200` status
  - added the required property `file/id` to the response with the `200` status
  - added the required property `file/object` to the response with the `200` status
  - added the required property `file/purpose` to the response with the `200` status
  - added the required property `file/status` to the response with the `200` status
- **2025-01-22** `bdebcdfcbbde` — 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
  - removed the required property `file/object` from the response with the `200` status
  - removed the required property `file/purpose` from the response with the `200` status
  - removed the required property `file/status` from the response with the `200` status
  - removed the optional property `file/status_details` from the response with the `200` status
  - added `#/components/schemas/OpenAIFile, subschema #2` to the `file` response property `allOf` list for the response status `200`
- **2024-07-19** `837775c0b988` — 1 breaking
  - the response property `object` became optional for the status `200`
- **2024-07-19** `46964092fbe1` — 1 info
  - the response property `object` became required for the status `200`
- **2024-07-18** `bddc980d3fbb` — 1 breaking, 8 info
  - the `file` response's property type changed from `object` to no type for status `200`
  - added the optional property `file/status_details` to the response with the `200` status
  - added the required property `file/bytes` to the response with the `200` status
  - added the required property `file/created_at` to the response with the `200` status
  - added the required property `file/filename` to the response with the `200` status
  - added the required property `file/id` to the response with the `200` status
  - added the required property `file/object` to the response with the `200` status
  - added the required property `file/purpose` to the response with the `200` status
  - added the required property `file/status` to the response with the `200` status

---

[Operation](https://skmtc.dev/openai/apis/openapi/docs/uploads/:upload_id/complete/post.md) · [API](https://skmtc.dev/openai/apis/openapi.md) · [Page](https://skmtc.dev/openai/apis/openapi/changes/uploads/:upload_id/complete/post)
