Start a resumable upload (tus 1.0.0 creation).
Creates the video asset and answers with the upload url in Location: `<PUBLIC_URL>/api/v1/uploads/<upload id>`. The upload id (a uuid) is also the id of GET and DELETE /api/v1/uploads/{id}. Send the bytes with PATCH to that url; a HEAD on it returns Upload-Metadata with videoAssetId. Metadata keys (values base64): filename, filetype (must be video/* when given), title (up to 200 characters, "Untitled" when missing), description (up to 5000 characters), accessTier or access_tier (public or private, default public). Errors answer plain text.
Creates the video asset and answers with the upload url in Location: <PUBLIC_URL>/api/v1/uploads/<upload id>. The upload id (a uuid) is also the id of GET and DELETE /api/v1/uploads/{id}. Send the bytes with PATCH to that url; a HEAD on it returns Upload-Metadata with videoAssetId. Metadata keys (values base64): filename, filetype (must be video/* when given), title (up to 200 characters, "Untitled" when missing), description (up to 5000 characters), accessTier or access_tier (public or private, default public). Errors answer plain text.
bearerAuthAuthorizationBearer <token>A Sluby API key (sluby_...) sent as Authorization: Bearer <key>. Keys carry scopes: upload, read, manage.
Tus-Resumable*unknownUpload-Length*integerSize in bytes; at most MAX_UPLOAD_SIZE (10 GB by default).
1 <= valueUpload-Metadata?stringCreated; the upload url is in Location.
curl -X POST 'https://sluby.example.com/api/v1/uploads' \ -H 'Tus-Resumable: 1.0.0' \ -H 'Upload-Length: 1'