Skip to main content

What it checks

After POST /v5/media returns a presigned S3 endpoint + form-field bag, the publisher streams the video bytes to that endpoint as multipart/form-data. S3 returns 204 on success — anything else surfaces here verbatim.

Why

The most common causes are signed-URL clock skew, a mime mismatch between what we declared and what we sent, or the registered slot expiring before the upload finished. S3 returns XML on errors; we pass the body through so the AWS-style error code is visible.

Failure response

Remediation

  • Retry the publish. The publisher re-registers a fresh slot on each attempt, so an expired one self-heals.
  • If SignatureDoesNotMatch repeats, check your server’s clock — significant drift makes presigned URLs reject.
  • If the body mentions an “EntityTooLarge” or similar size error, the file may be larger than what was registered; preflight should already catch this via pinterest.video.size_max.