API Reference Uploads
Get a single upload Retrieve details of a specific upload by its ID, including metadata, status, and associated source.
GET
/api/uploads/{uploadId}
Authorization Authorization
header
string
required
Enter the project access token with the Bearer prefix, e.g. "Bearer project_access_token"
Path Parameters
Responses 200 401 404 429
application/json Data contains the response object
Show data properties
created_at
string
date-time
required
Timestamp when the upload was created
Examples:
2025-01-01T12:00:00Z
expires_at
string
date-time
required
Timestamp when the upload will expire
Examples:
2025-01-01T12:00:00Z
Unique identifier of the upload
Examples:
upl_2G6MJiNz71bHQGNzGwKx5cJwPFS
Current status of the upload
Available options:
waitingcompletedfailedexpired
updated_at
string
date-time
required
Timestamp when the upload was updated
Examples:
2025-01-01T12:00:00Z
Short-lived completion capability, returned only on creation. POST after a successful PUT before expires_at. Requires no API key. Repeated valid calls are idempotent.
Error message of the upload
Show error properties
Additional error details or output
Available options:
setupffmpegsourceuploaddownloadingestjobunexpectedpermissiontimeoutcancelled
Additional metadata for the upload
Examples:
map[key1:value1 key2:value2]
SourceId is the id of the source that was created from the upload
Examples:
src_2G6MJiNz71bHQGNzGwKx5cJwPFS
Resolved Storage selected when the Upload was created. Absent for historical uploads.
Presigned PUT URL, returned only when creating an Upload session. Call completion_url after the PUT succeeds.
Examples:
https://s3.amazonaws.com/bucket/key
status
"success"
string
required
Status indicates the response status "success"
OK
application/json Error response details
Show error properties
Code is the HTTP status code
Message is a human-readable error description
Examples:
Authentication error: invalid token or subscription inactive
type
"AuthenticationError"
string
required
Type indicates the error category
Available options:
AuthenticationError
status
"error"
string
required
Status indicates the response status "error"
Authentication error: invalid token or subscription inactive
application/json Error response details
Show error properties
Code is the HTTP status code
Message is a human-readable error description
Examples:
Ressource not found
type
"NotFoundError"
string
required
Type indicates the error category
Available options:
NotFoundError
status
"error"
string
required
Status indicates the response status "error"
Resource not found
application/json Error response details
Show error properties
Code is the HTTP status code
Message is a human-readable error description
Examples:
Rate limit exceeded
type
"TooManyRequestsError"
string
required
Type indicates the error category
Available options:
TooManyRequestsError
status
"error"
string
required
Status indicates the response status "error"
Rate limit exceeded
# Get a single upload
> Retrieve details of a specific upload by its ID, including metadata, status, and associated source.
```json
{
"path": "/api/uploads/{uploadId}",
"method": "get",
"schema": {
"description": "Retrieve details of a specific upload by its ID, including metadata, status, and associated source.",
"operationId": "getUpload",
"parameters": [
{
"description": "Upload ID",
"in": "path",
"name": "uploadId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UploadResponse"
}
}
},
"description": "OK"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorAuthentication"
}
}
},
"description": "Authentication error: invalid token or subscription inactive"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorNotFound"
}
}
},
"description": "Resource not found"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorTooManyRequests"
}
}
},
"description": "Rate limit exceeded"
}
},
"security": [
{
"ProjectAccessToken": []
}
],
"summary": "Get a single upload",
"tags": [
"Uploads"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import Chunkify from '@chunkify/chunkify';\n\nconst client = new Chunkify({\n projectAccessToken: 'My Project Access Token',\n});\n\nconst upload = await client.uploads.retrieve('uploadId');\n\nconsole.log(upload);"
},
{
"lang": "Python",
"source": "from chunkify import Chunkify\n\nclient = Chunkify(\n project_access_token=\"My Project Access Token\",\n)\nupload = client.uploads.retrieve(\n \"uploadId\",\n)\nprint(upload)"
},
{
"lang": "php",
"source": "\u003c?php\n\nuse Chunkify\\Client;\n\n$client = new Client(\n projectAccessToken: 'My Project Access Token',\n);\n\n$upload = $client-\u003euploads-\u003eretrieve('uploadId');\n\nvar_dump($upload);"
},
{
"lang": "Go",
"source": "package main\n\nimport (\n \"context\"\n \"fmt\"\n\n \"github.com/chunkifydev/chunkify-go\"\n \"github.com/chunkifydev/chunkify-go/option\"\n)\n\nfunc main() {\n client := chunkify.NewClient(\n option.WithProjectAccessToken(\"My Project Access Token\"),\n )\n upload, err := client.Uploads.Get(context.TODO(), \"uploadId\")\n if err != nil {\n panic(err.Error())\n }\n fmt.Printf(\"%+v\\n\", upload)\n}\n"
}
]
}
}
```
```json #/components/schemas/ResponseErrorNotFound
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 404,
"description": "Code is the HTTP status code",
"examples": [
404
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Ressource not found"
],
"type": "string"
},
"type": {
"const": "NotFoundError",
"description": "Type indicates the error category",
"enum": [
"NotFoundError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorTooManyRequests
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 429,
"description": "Code is the HTTP status code",
"examples": [
429
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Rate limit exceeded"
],
"type": "string"
},
"type": {
"const": "TooManyRequestsError",
"description": "Type indicates the error category",
"enum": [
"TooManyRequestsError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/UploadResponse
{
"properties": {
"data": {
"$ref": "#/components/schemas/Upload",
"description": "Data contains the response object"
},
"status": {
"const": "success",
"description": "Status indicates the response status \"success\"",
"type": "string"
}
},
"required": [
"status",
"data"
],
"type": "object"
}
```
```json #/components/schemas/Upload
{
"properties": {
"completion_url": {
"description": "Short-lived completion capability, returned only on creation. POST after a successful PUT before expires_at. Requires no API key. Repeated valid calls are idempotent.",
"type": "string"
},
"created_at": {
"description": "Timestamp when the upload was created",
"examples": [
"2025-01-01T12:00:00Z"
],
"format": "date-time",
"type": "string"
},
"error": {
"allOf": [
{
"$ref": "#/components/schemas/ChunkifyError"
}
],
"description": "Error message of the upload"
},
"expires_at": {
"description": "Timestamp when the upload will expire",
"examples": [
"2025-01-01T12:00:00Z"
],
"format": "date-time",
"type": "string"
},
"id": {
"description": "Unique identifier of the upload",
"examples": [
"upl_2G6MJiNz71bHQGNzGwKx5cJwPFS"
],
"type": "string"
},
"metadata": {
"additionalProperties": {
"type": "string"
},
"description": "Additional metadata for the upload",
"examples": [
{
"key1": "value1",
"key2": "value2"
}
],
"type": "object"
},
"source_id": {
"description": "SourceId is the id of the source that was created from the upload",
"examples": [
"src_2G6MJiNz71bHQGNzGwKx5cJwPFS"
],
"type": "string"
},
"status": {
"description": "Current status of the upload",
"enum": [
"waiting",
"completed",
"failed",
"expired"
],
"examples": [
"waiting"
],
"type": "string"
},
"storage_id": {
"description": "Resolved Storage selected when the Upload was created. Absent for historical uploads.",
"type": "string"
},
"updated_at": {
"description": "Timestamp when the upload was updated",
"examples": [
"2025-01-01T12:00:00Z"
],
"format": "date-time",
"type": "string"
},
"upload_url": {
"description": "Presigned PUT URL, returned only when creating an Upload session. Call completion_url after the PUT succeeds.",
"examples": [
"https://s3.amazonaws.com/bucket/key"
],
"type": "string"
}
},
"required": [
"created_at",
"expires_at",
"id",
"status",
"updated_at"
],
"type": "object"
}
```
```json #/components/schemas/ChunkifyError
{
"properties": {
"detail": {
"description": "Additional error details or output",
"type": "string"
},
"message": {
"description": "Main error message",
"type": "string"
},
"type": {
"description": "Type of error",
"enum": [
"setup",
"ffmpeg",
"source",
"upload",
"download",
"ingest",
"job",
"unexpected",
"permission",
"timeout",
"cancelled"
],
"type": "string"
}
},
"required": [
"type",
"message",
"detail"
],
"type": "object"
}
```
```json #/components/schemas/ResponseErrorAuthentication
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 401,
"description": "Code is the HTTP status code",
"examples": [
401
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Authentication error: invalid token or subscription inactive"
],
"type": "string"
},
"type": {
"const": "AuthenticationError",
"description": "Type indicates the error category",
"enum": [
"AuthenticationError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```