Upload

Upload a content file

Accepts a multipart file upload, detects its type, optionally converts/resizes it, stores it in S3, and creates (or replaces) a content record. Processing runs asynchronously by default; pass ?wait=true to block until done.

post/content_uploads

Request

  • Base URL
    https://upload.telemetrytv.com
  • URL
    https://upload.telemetrytv.com/content_uploads
  • Auth
    none declared. Required headers: Authorization

Query parameters

waitboolean

Block until processing completes and return the created content object(s).

Headers

Authorizationstring required
Example:Token abc123

Token <token> or Bearer <token>. Alternatively pass ?token= as a query param.

REQUEST-IDstring

Optional idempotency / tracing identifier.

Request body multipart/form-data

filestring binary required

The file to upload. Max 1 GB overall; images additionally capped at 20 MB and 16 000 x 16 000 px (auto-resized to 4 096 x 4 096 if exceeded). Type is detected from magic bytes, falling back to file extension. Supported types: png, jpg, gif, svg, mp4, webm, ogg, mov, avi, pdf, ppt, pptx, doc, docx, xls, xlsx, vtt, srt, zip. No Content-Type header validation is performed.

filenamestring

Override the uploaded file's name. Falls back to the multipart filename.

folder_idstring

MongoDB ObjectID of the destination media folder.

upload_state'upload' | 'replace'

upload creates a new content record; replace updates an existing one.

content_idstring

Required when upload_state=replace. MongoDB ObjectID of the content to replace.

filesync_idstring

ID of the associated filesync entry.

replaced_file_namestring

Original filename of the content being replaced.

replaced_file_s3_pathstring

S3 path of the file being replaced.

google_drive_idstring

Google Drive file ID, when the source originates from Google Drive.

google_emailstring

Google account email associated with the Drive source.

canvaboolean

Set to true when the file originates from a Canva export.

canva_design_idstring

Canva design ID.

canva_export_urlstring

Canva export URL.

owner_page_idstring

Page ID that owns this content (e.g. for webshot content).

hiddenboolean

If true, the created content record is hidden from the media library (e.g. subtitles).

prompt_idstring

AI prompt ID that triggered this upload.

Response

Upload accepted (or completed when wait=true). When wait=false returns a Process object. When wait=true returns an array of content objects.

OR

Example response

[
  {
    "mime_type": "image/jpeg"
  }
]

Changes

No recorded changes to this operation across all 1 revision of this API.