For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Sample appsIntegrationsDiscordPlaygroundDevEx repo
GuidesSDK ReferenceAPI Reference
GuidesSDK ReferenceAPI Reference
  • TwelveLabs API
    • Introduction
    • Authentication
  • API Reference
    • Manage indexes
    • Upload content
      • Direct uploads
      • Multipart uploads
        • POSTCreate a multipart upload session
        • GETRetrieve the status of an upload session
        • GETList incomplete uploads
        • POSTReport uploaded chunks
        • POSTRequest presigned URLs for the remaining chunks
      • Video indexing tasks
    • Index content
    • Manage videos
    • Manage entities
    • Any-to-video search
    • Create embeddings v2
    • Create embeddings v1
    • Analyze and segment videos
    • Error codes
LogoLogo
Sample appsIntegrationsDiscordPlaygroundDevEx repo
API ReferenceUpload contentMultipart uploads

Retrieve the status of an upload session

GET
https://api.twelvelabs.io/v1.3/assets/multipart-uploads/:upload_id
GET
/v1.3/assets/multipart-uploads/:upload_id
$curl https://api.twelvelabs.io/v1.3/assets/multipart-uploads/507f1f77bcf86cd799439011 \
> -H "x-api-key: <apiKey>"
1{
2 "upload_id": "507f1f77bcf86cd799439011",
3 "status": "active",
4 "uploaded_chunks": [
5 {
6 "index": 1,
7 "status": "completed",
8 "uploaded_at": "2025-12-01T10:15:00Z",
9 "updated_at": "2025-12-01T10:00:00Z",
10 "error": "Upload timeout"
11 }
12 ],
13 "chunks_completed": 15,
14 "chunks_failed": 0,
15 "chunks_pending": 5,
16 "page_info": {
17 "limit_per_page": 10,
18 "page": 1,
19 "total_page": 1,
20 "total_results": 2
21 },
22 "total_size": 104857600,
23 "uploaded_size": 78643200,
24 "created_at": "2025-12-01T10:00:00Z",
25 "updated_at": "2025-12-01T10:00:00Z"
26}
This method provides information about an upload session, including its current status, chunk-level progress, and completion state. Use this method to: - Verify upload completion (`status` = `completed`) - Identify any failed chunks that require a retry - Monitor the upload progress by comparing `uploaded_size` with `total_size` - Determine if the session has expired - Retrieve the status information for each chunk You must call this method after reporting chunk completion to confirm the upload has transitioned to the `completed` status before using the asset.
Was this page helpful?
Previous

List incomplete uploads

Next
Built with

This method provides information about an upload session, including its current status, chunk-level progress, and completion state.

Use this method to:

  • Verify upload completion (status = completed)
  • Identify any failed chunks that require a retry
  • Monitor the upload progress by comparing uploaded_size with total_size
  • Determine if the session has expired
  • Retrieve the status information for each chunk

You must call this method after reporting chunk completion to confirm the upload has transitioned to the completed status before using the asset.

Authentication

x-api-keystring
Your API key. <Note title="Note"> You can find your API key on the <a href="https://playground.twelvelabs.io/dashboard/api-keys" target="_blank">API Keys</a> page. </Note>

Path parameters

upload_idstringRequired
The unique identifier of the upload session.

Query parameters

pageintegerOptionalDefaults to 1

A number that identifies the page to retrieve.

Default: 1.

page_limitintegerOptionalDefaults to 10

The number of items to return on each page.

Default: 10. Max: 50.

Response

The status of your upload session has been successfully retrieved.
upload_idstring
The unique identifier of your upload session.
statusenum

The status of your upload session. This field can take one of the following values:

  • active: The upload session is currently in progress. Continue uploading and reporting the completion of each chunk.
  • completed: The upload session is finished, and your asset is now ready for use.
  • failed: The upload session has failed. You must restart with a new session.
  • expired: The upload session has expired after 24 hours, and you must create a new session.
Allowed values:
uploaded_chunkslist of objects
Detailed status for each chunk.
chunks_completedinteger

The number of chunks successfully uploaded and reported. When this value equals total_chunks, the status of your upload session transitions to completed.

chunks_failedinteger

The number of chunks that failed to upload. If the number is greater than 0, check the uploaded_chunks array for specific failures and retry those chunks.

chunks_pendinginteger

The number of chunks not yet successfully uploaded. This value is calculated as: total_chunks - chunks_completed - chunks_failed.

page_infoobject
An object that provides information about pagination.
total_sizeinteger
The size of your file in bytes. You provided this value when you created the upload session.
uploaded_sizeinteger
The number of bytes successfully uploaded
created_atstringformat: "date-time"

A string representing the date and time, in RFC 3339 format (“YYYY-MM-DDTHH:mm:ssZ”), when the resource was created.

updated_atstringformat: "date-time"

A string representing the date and time, in RFC 3339 format (“YYYY-MM-DDTHH:mm:ssZ”), when the resource was last updated.

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error

Your API key.

Note

You can find your API key on the API Keys page.