Uploads
Upload a file
POST
Creates an upload link. PUT the file to upload_url with the same Content-Type within 2 hours, then pass file_id to another endpoint.
bearerheader
AuthorizationBearer <API key>An API key from Settings, starting vcp_live_.
application/json- body
content_type*stringThe file format. Send the same Content-Type when you upload the file.
Value in
"audio/wav""audio/x-wav""audio/wave""audio/vnd.wave""audio/flac""audio/x-flac""audio/ogg""audio/opus""audio/mpeg""image/jpeg""image/png""image/webp""video/mp4""video/quicktime""video/x-matroska""video/webm"size*integerThe file size in bytes. Audio can be up to 209715200 bytes, a photo up to 20971520 bytes and a video up to 2147483648 bytes.
Range
1 <= value <= 2147483648Created.
application/json- response
file_id*stringPass as audio_file_id, photo_file_id or video_file_id. The file is kept for 24 hours.
upload_url*stringPUT the file here.
Format
uriexpires_at*stringWhen upload_url stops working, 2 hours from now.
Format
date-timecurl -X POST 'https://api.vcp.name/v1/uploads' \ -H 'Content-Type: application/json' \ -d '{ "content_type": "video/mp4", "size": 284023112}'Example Response
{ "file_id": "8383fc02-625a-4b71-a226-cbb2d19aaf17", "upload_url": "https://files.example.com/upload/8383fc02-625a-4b71-a226-cbb2d19aaf17?token=abc", "expires_at": "2026-10-31T00:10:42Z"}