curl --request POST \
--url https://{your-subdomain}.neetorecord.com/api/external/v2/recording_requests \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"recording": {
"title": "Walk me through the billing bug",
"created_by_email": "oliver@example.com",
"request_instructions": "Start from the invoice list and reproduce the error.",
"request_notes": "Raised by support ticket 4821."
}
}
'const options = {
method: 'POST',
headers: {
'X-Api-Key': '<x-api-key>',
Accept: '<accept>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recording: {
title: 'Walk me through the billing bug',
created_by_email: 'oliver@example.com',
request_instructions: 'Start from the invoice list and reproduce the error.',
request_notes: 'Raised by support ticket 4821.'
}
})
};
fetch('https://{your-subdomain}.neetorecord.com/api/external/v2/recording_requests', 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/recording_requests"
payload = { "recording": {
"title": "Walk me through the billing bug",
"created_by_email": "oliver@example.com",
"request_instructions": "Start from the invoice list and reproduce the error.",
"request_notes": "Raised by support ticket 4821."
} }
headers = {
"X-Api-Key": "<x-api-key>",
"Accept": "<accept>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"recording_request": {
"id": "7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18",
"title": "Walk me through the billing bug",
"request_url": "https://your-workspace.neetorecord.com/request/7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18",
"created_at": "2026-02-14T08:31:47.000Z"
}
}Create a recording request
Creates a recording request and returns a URL to share with whoever will record the video. The request is created on behalf of an active member of the workspace, and it counts against that person’s monthly recording limit.
curl --request POST \
--url https://{your-subdomain}.neetorecord.com/api/external/v2/recording_requests \
--header 'Accept: <accept>' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"recording": {
"title": "Walk me through the billing bug",
"created_by_email": "oliver@example.com",
"request_instructions": "Start from the invoice list and reproduce the error.",
"request_notes": "Raised by support ticket 4821."
}
}
'const options = {
method: 'POST',
headers: {
'X-Api-Key': '<x-api-key>',
Accept: '<accept>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recording: {
title: 'Walk me through the billing bug',
created_by_email: 'oliver@example.com',
request_instructions: 'Start from the invoice list and reproduce the error.',
request_notes: 'Raised by support ticket 4821.'
}
})
};
fetch('https://{your-subdomain}.neetorecord.com/api/external/v2/recording_requests', 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/recording_requests"
payload = { "recording": {
"title": "Walk me through the billing bug",
"created_by_email": "oliver@example.com",
"request_instructions": "Start from the invoice list and reproduce the error.",
"request_notes": "Raised by support ticket 4821."
} }
headers = {
"X-Api-Key": "<x-api-key>",
"Accept": "<accept>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"recording_request": {
"id": "7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18",
"title": "Walk me through the billing bug",
"request_url": "https://your-workspace.neetorecord.com/request/7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18",
"created_at": "2026-02-14T08:31:47.000Z"
}
}{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.
application/json Body
Hide child attributes
Hide child attributes
Title of the requested recording.
"Walk me through the billing bug"
Email of the workspace member making the request. Must belong to an active user in the workspace.
"oliver@example.com"
Instructions shown to the person who opens the request link.
"Start from the invoice list and reproduce the error."
Private notes about the request, not shown to the recipient.
"Raised by support ticket 4821."
Response
The recording request was created.
Hide child attributes
Hide child attributes
Unique identifier for the requested recording.
"7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18"
Title of the requested recording.
"Walk me through the billing bug"
URL to share with the person who will record and upload the video.
"https://your-workspace.neetorecord.com/request/7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18"
Timestamp when the request was created.
"2026-02-14T08:31:47.000Z"