POST/v1/media/uploads

createMediaUpload

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

filenamestringrequired

Filename including extension.

content_typestringrequired

MIME type of the bytes you will upload.

size_bytesintegeroptional

Size in bytes, if known.

Depth-limited view — the interactive reference has every nested schema.

Responses

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
}'