Complete a video upload
curl --request POST \
--url https://{your-subdomain}.neetorecord.com/api/external/v2/recordings/{id}/complete-upload \
--header 'Accept: <accept>' \
--header 'X-Api-Key: <x-api-key>'const options = {method: 'POST', headers: {'X-Api-Key': '<x-api-key>', Accept: '<accept>'}};
fetch('https://{your-subdomain}.neetorecord.com/api/external/v2/recordings/{id}/complete-upload', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetorecord.com/api/external/v2/recordings/{id}/complete-upload"
headers = {
"X-Api-Key": "<x-api-key>",
"Accept": "<accept>"
}
response = requests.post(url, headers=headers)
print(response.text){
"recording": {
"id": "3f6a1c58-9b2e-4d77-8a10-5c0b1e2f3a4d",
"title": "Quarterly product demo",
"url": "https://your-workspace.neetorecord.com/watch/x9y8z7w6v5u4t3s2"
}
}{
"error": "You are not authorized to perform this action."
}{
"error": "Recording does not exist."
}{
"error": "The video file has not been uploaded yet. Upload it to the upload URL first."
}Recordings
Complete a video upload
Marks an upload as finished after the file has been sent to the upload_url from POST /recordings/uploads. NeetoRecord reads the real file size from storage and starts processing the video.
POST
/
recordings
/
{id}
/
complete-upload
Complete a video upload
curl --request POST \
--url https://{your-subdomain}.neetorecord.com/api/external/v2/recordings/{id}/complete-upload \
--header 'Accept: <accept>' \
--header 'X-Api-Key: <x-api-key>'const options = {method: 'POST', headers: {'X-Api-Key': '<x-api-key>', Accept: '<accept>'}};
fetch('https://{your-subdomain}.neetorecord.com/api/external/v2/recordings/{id}/complete-upload', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetorecord.com/api/external/v2/recordings/{id}/complete-upload"
headers = {
"X-Api-Key": "<x-api-key>",
"Accept": "<accept>"
}
response = requests.post(url, headers=headers)
print(response.text){
"recording": {
"id": "3f6a1c58-9b2e-4d77-8a10-5c0b1e2f3a4d",
"title": "Quarterly product demo",
"url": "https://your-workspace.neetorecord.com/watch/x9y8z7w6v5u4t3s2"
}
}{
"error": "You are not authorized to perform this action."
}{
"error": "Recording does not exist."
}{
"error": "The video file has not been uploaded yet. Upload it to the upload URL first."
}Replace
Learn how to find your subdomain in Workspace subdomain.
{your-subdomain} with your workspace’s subdomain. Learn how to find your subdomain in Workspace subdomain.
Headers
API key. Refer to Authentication for more information.
Must be application/json.
Available options:
application/json Path Parameters
The recording's id (UUID) or its public_link_id (the short code in the watch URL). Both are accepted.
Response
The upload was accepted and the video is being processed.