UploadSession
An in-flight upload session with executable instructions for the client
UploadSessionFields
Integer ID of the placeholder asset the upload targets. Clients use this to attach the asset to a downstream post/comment/message via existing asset_ids parameters.
Status of the placeholder asset (processing / complete / failed). Clients that
gate playback / processing UI on the asset lifecycle (e.g. realtime
transcode-status subscriptions) should read this field, not status. Mirrors
the REST complete-upload response's status key.
Kind-agnostic canonical URL for the session's asset — the video playback URL
for NATIVE_VIDEO, the stored file URL for FILE. Clients that don't branch on
asset kind should read this instead of video_url.
Version tag of the estimate model, for accuracy attribution.
Which estimator produced these values (e.g. static).
Predicted processing duration in seconds. Present from session creation (size-based); nil when unknown.
GlobalID of the backing session row
Maximum number of instructions a client may have in flight simultaneously. Per strategy: server-mediated is always 1, direct-presigned is configurable. Read it rather than assuming a value.
Absolute predicted completion; nil at create (duration unknown), set once completion starts processing.
Suggested delay before the first progress poll.
UUID — the client's bearer for the chunk and session-inspection endpoints
Upload-session lifecycle: pending / in_progress / completed / failed /
aborted. Distinct from assetStatus — on a fresh complete_upload_session,
this is COMPLETED but assetStatus is still 'processing' until transcoding finishes.
Cumulative bytes already accepted across the session's parts
Playback URL of the underlying video asset once it's processed. Nil for sessions whose assets are not videos (none in v1 — all NATIVE_VIDEO uploads); nil before transcode produces a streamable rendition.