POST
/v1/media/uploadscreateMediaUpload
Start a media upload. Issues a presigned upload ticket: PUT the raw file bytes to `upload_url` with the same `Content-Type`, then call POST /v1/media/uploads/{id}/complete. The asset kind (image/video/audio) is inferred from `content_type`.
Required scope:posts:write
Request body
filenamestringrequiredFilename including extension.
content_typestringrequiredMIME type of the bytes you will upload.
size_bytesintegeroptionalSize in bytes, if known.
Depth-limited view — the interactive reference has every nested schema.
Responses
201CreateUploadResponseThe upload ticket.
Errors are RFC 9457 problem+json with a stable code and a request_id — each code above links to its own page.
Example
curl -X POST https://app.usepostify.com/v1/media/uploads \
-H "Authorization: Bearer postify_live_XXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{
"filename": "launch-teaser.mp4",
"content_type": "video/mp4",
"size_bytes": 4718592
}'