curl --request POST \
--url https://api.openai.com/v1/uploads/{upload_id}/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"part_ids": [
"<string>"
],
"md5": "<string>"
}'
{
"id": "<string>",
"created_at": 123,
"filename": "<string>",
"bytes": 123,
"purpose": "<string>",
"status": "pending",
"expires_at": 123,
"object": "upload",
"file": {
"id": "<string>",
"bytes": 123,
"created_at": 123,
"expires_at": 123,
"filename": "<string>",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"status_details": "<string>"
}
}
Completes the Upload.
Within the returned Upload object, there is a nested File object that is ready to use in the rest of the platform.
You can specify the order of the Parts by passing in an ordered list of the Part IDs.
The number of bytes uploaded upon completion must match the number of bytes initially specified when creating the Upload object. No Parts may be added after an Upload is completed.
curl --request POST \
--url https://api.openai.com/v1/uploads/{upload_id}/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"part_ids": [
"<string>"
],
"md5": "<string>"
}'
{
"id": "<string>",
"created_at": 123,
"filename": "<string>",
"bytes": 123,
"purpose": "<string>",
"status": "pending",
"expires_at": 123,
"object": "upload",
"file": {
"id": "<string>",
"bytes": 123,
"created_at": 123,
"expires_at": 123,
"filename": "<string>",
"object": "file",
"purpose": "assistants",
"status": "uploaded",
"status_details": "<string>"
}
}
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
The ID of the Upload.
"upload_abc123"
OK
The Upload object can accept byte chunks in the form of Parts.
Was this page helpful?