Complete a direct upload
Finish an upload after every part is in storage. The API checks that all parts are present and add up to the size you declared, then adds the file to your media library and returns it. A video then goes through the same checks, thumbnail and encoding as a Studio upload.
If a part is missing or has the wrong size, the response is UPLOAD_INCOMPLETE and the upload stays open: re-send the part and call this endpoint again.
Calling it again after a success (for example after a lost response) returns the same file, so a retry is safe. A retry that arrives while the first call is still checking the file (this takes up to about 30 seconds for a video) answers 409 UPLOAD_PROCESSING: call again in 30 seconds. If the first call was interrupted, keep calling: after about five minutes a retry finishes the upload. If the check fails (UPLOAD_INVALID), the stored object is deleted: upload the file again. If this call answers FILE_TOO_LARGE or STORAGE_LIMIT_EXCEEDED, this upload cannot be completed: free space or upgrade, then start a new upload.
Request
- Base URL: https://api.livereacting.com/v1/external
- URL: https://api.livereacting.com/v1/external/files/upload/complete
- Auth: HTTP bearer
Request body
Response
The file is in the media library
Example response
{
"id": "507f1f77bcf86cd799439011",
"name": "intro-video.mp4",
"type": "video",
"folderId": "507f1f77bcf86cd799439012",
"createdAt": "2026-01-25T09:00:00Z",
"issues": {
"errors": [
"bitrate_too_high"
],
"warnings": []
},
"resolution": "1920x1080",
"frameRate": 30,
"bitrateMbps": 5.42,
"durationSec": 120.5,
"sizeBytes": 52428800,
"videoCodec": "h264",
"audioCodec": "aac"
}Changes
No recorded changes to this operation across all 1 revision of this API.