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.
Request
- Base URL: https://api.crevio.co/v1
- URL: https://api.crevio.co/v1/files
- Auth: API key in header Authorization
Headers
Makes this write safe to retry: a repeat with the same key replays the first response instead of creating a second resource. Scoped to the account, remembered for 24 hours; reusing a key with a different payload is an error.
Request body
Response
File created
Changes
No recorded changes to this operation across all 2 revisions of this API.