Upload a csv/xlsx sheet of video URLs
POST/api/v1/videos/batch/upload-sheet
Multipart-upload a .csv or .xlsx sheet with a url column (and an optional title column) — the gateway parses the sheet and submits every valid row for indexing in one call. No separate parse-then-confirm round trip needed.
Rows that fail URL-format validation or duplicate an earlier row in the same sheet are never submitted; their count is reported as rejected_before_submit and folded into the response's skipped, alongside any rows the indexing pipeline itself rejects on resubmission. Those parse-time rows are not recorded in the batch, so GET /v1/videos/batch/{batch_id} counts submitted rows only — poll it for per-item progress. Up to 100 of them are listed in rejected_rows (row number, raw value, reason code) so you can reconcile which input rows were dropped without re-parsing the sheet yourself.
Every row that was submitted comes back in items with its video_id/job_id, in sheet order — a 500-row catalogue is fully correlated from this one response.
Already have a parsed URL list instead of a sheet file? Post it straight to POST /v1/videos/batch (kind: "url").
Request
Responses
- 201
- 401
- 403
- 413
- 422
- 500
Successful Response
Missing or invalid API key. Add Authorization: Bearer vuf_live_<keyid>.<secret>.
Key used outside the public API roots (/api/v1, /api/v1.1).
Upload exceeds the 10 MB sheet size cap, or the sheet has more valid URL rows than one batch accepts (currently 500) — split into multiple sheets.
Unsupported file type (not .csv/.xlsx), sheet missing a 'url' column, a malformed/corrupted file, no valid URL rows, more than 10000 data rows, too many columns, or a sheet that expands past the uncompressed-size cap.
Upstream service error — usually safe to retry.