Skip to content

Complete a signed asset upload

POST
/assets/{assetId}/complete
import { FloraClient } from '@flora-ai/flora';
const client = new FloraClient({ apiKey: process.env['FLORA_API_KEY'] });
const asset = await client.assets.complete({
assetId: '<assetId>',
});
console.log(asset);

Marks a signed asset upload as complete after the file has been uploaded. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate.

Error responses use the standard error body.

assetId
required

Asset identifier

string
/^asset_\S+$/

Asset identifier

Asset upload completed.

Media type application/json
object
asset_id
required

Asset identifier

string
/^asset_\S+$/
url
required
Any of:
string format: uri
workspace_id
required
Any of:

Workspace identifier

string
/^ws_\S+$/
visibility
required
Allowed value: workspace
status
required
string
Allowed values: pending_upload ready failed
failure_message
Any of:
string
upload
object
url
required

Upload URL

string format: uri
method
required
Allowed value: POST
content_type
required
Allowed value: multipart/form-data
file_field
required
Allowed value: file
form_fields
required

Upload form fields

object
key
additional properties
string
upload_url

Upload URL (serialized)

string
expires_at

Expiration time for the upload URL

string format: date-time
Example
{
"asset_id": "asset_abc123",
"workspace_id": "ws_abc123",
"visibility": "workspace",
"status": "pending_upload",
"upload": {
"method": "POST",
"content_type": "multipart/form-data",
"file_field": "file"
},
"upload_url": "https://storage.googleapis.com/flora-user-assets"
}