Upload assets for posts.

Media

MethodPathDescription
GET/mediaList assets
POST/media/upload-urlPresigned R2 PUT URL
POST/media/confirmConfirm after client upload
POST/media/upload-from-urlServer fetches { "url" }
DELETE/media/:idDelete

Upload from URL (simplest)

curl -X POST https://api.qposty.com/public/v1/media/upload-from-url \
  -H "Authorization: qp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/photo.jpg"}'

Use the returned id in mediaIds when creating a post.

Signed upload (browser / large files)

  1. POST /media/upload-url with fileName + contentType
  2. PUT the file bytes to uploadUrl
  3. POST /media/confirm with key, fileName, contentType, sizeBytes

Max remote fetch size for upload-from-url: 50 MB.