Create file
Create a file. The endpoint discriminates between three intents based on which fields you send:
1. Presigned upload — { "filename": "photo.png" }
Returns an upload_url and upload_headers. PUT your bytes to that URL, then call POST /v1/files/{id}/uploaded to transition the file from pending to ready.
2. Server-side URL import — { "url": "https://..." }
Crevio downloads the bytes for you. Returns immediately with upload_status: "processing". The status flips to ready (or failed) once the background download completes; poll GET /v1/files/{id} to check.
3. External video embed — { "kind": "external_video", "url": "https://youtube.com/..." }
Pins a YouTube, Vimeo, or Wistia URL as an embeddable reference. No bytes are stored; status returns as ready immediately. Non-embed URLs are rejected with 422.
Documentation Index
Fetch the complete documentation index at: https://crevio.co/docs/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
API key in the format: Bearer {api_token}
Body
Defaults to 'file'. Set to 'external_video' to pin a YouTube, Vimeo, or Wistia URL as an embed.
file, external_video, null Required when kind=external_video, or for server-side URL imports of files.
Required for presigned uploads. Optional for URL imports.
Response
File created

