Skip to content

Complete a file upload

client.file.complete(stringid, FileCompleteParams { md5 } body, RequestOptionsoptions?): FileCompleteResponse { id, completedAt, createdAt, 5 more }
POST/v1/files/{id}/complete

Finalizes an upload after the file bytes have been uploaded.

If an optional md5 hex digest is provided, the server validates the checksum before marking the file as completed.

Required scope: files:create

Rate limit category: Write

ParametersExpand Collapse
id: string

Unique identifier of the file to complete.

body: FileCompleteParams { md5 }
md5?: string

Optional MD5 hex digest of the uploaded file for checksum verification.

ReturnsExpand Collapse
FileCompleteResponse { id, completedAt, createdAt, 5 more }
id: string

Unique identifier for the file.

completedAt: string | null

When the file upload was completed.

createdAt: string

When the file upload session was created.

expiresAt: string | null

When the upload session expires. Null once completed, cancelled, or expired.

filename: string

Original filename.

mimeType: string

MIME type of the file.

sizeBytes: number

File size in bytes.

minimum-9007199254740991
maximum9007199254740991
status: "PENDING" | "COMPLETED" | "CANCELLED" | "EXPIRED"

Current upload status of the file.

Accepts one of the following:
"PENDING"
"COMPLETED"
"CANCELLED"
"EXPIRED"

Complete a file upload

import Lightfield from 'lightfield';

const client = new Lightfield({
  apiKey: 'My API Key',
});

const fileCompleteResponse = await client.file.complete('id');

console.log(fileCompleteResponse.id);
{
  "id": "id",
  "completedAt": "completedAt",
  "createdAt": "createdAt",
  "expiresAt": "expiresAt",
  "filename": "filename",
  "mimeType": "mimeType",
  "sizeBytes": -9007199254740991,
  "status": "PENDING"
}
Returns Examples
{
  "id": "id",
  "completedAt": "completedAt",
  "createdAt": "createdAt",
  "expiresAt": "expiresAt",
  "filename": "filename",
  "mimeType": "mimeType",
  "sizeBytes": -9007199254740991,
  "status": "PENDING"
}