Amazon A+ media status NOT_APPROVED: poll Sume, then upload
Amazon A+ video media moves through PENDING_PROCESSING, PENDING_REVIEW and AVAILABLE. Two clocks run: finish the Sume job first, then poll Amazon.

A+ video has two separate clocks. Sume's job must reach a terminal state before you have a file to upload, and then Amazon's media review runs on its own states, ending in AVAILABLE or NOT_APPROVED. Poll Sume with GET status_url until it is done, download the video, and only then call Amazon.
Amazon facts are from its A+ media tutorial and SP-API release notes; Sume facts are from Jobs and results and video generation, read 2026-10-01.
What statuses does getMedia return?
Amazon's getMedia returns a composite status array and an issues array. Newly created video assets typically return PENDING_PROCESSING and PENDING_AMAZON while Amazon processes the file.
| Status | Meaning in Amazon's page |
|---|---|
PENDING_PROCESSING | Being processed (transcoding, validation) |
PENDING_REVIEW | Awaiting content compliance review |
UNABLE_TO_PROCESS | Processing failed; may need re-upload or metadata correction |
NOT_APPROVED | Failed compliance review; may need re-upload or metadata correction |
AVAILABLE | Available for display in A+ Content |
PENDING_SELLING_PARTNER | Action required from the seller |
When is the Sume side done?
Video generation is asynchronous: submit to POST /v1/videos, poll GET /v1/videos/{jobId} until the status is completed, then download from GET /v1/videos/{jobId}/content. If a wait returns early, the docs say you must continue with GET status_url and must not submit a new paid job for the same intent.
What should I do on NOT_APPROVED?
Read the issues array, correct the file or metadata, and re-upload as Amazon says. Decide before you press regenerate: a new Sume job is a new paid request, while the old job's result can be fetched again. Also, Amazon says mediaUrl is non-permanent, so call getMedia again instead of caching it.
How do I wire the two together?
Store the Sume job_id next to the Amazon mediaId, upload to Amazon only after the Sume job is terminal, and poll Amazon on its own schedule. A long wait on either side should not trigger a resubmit on the other. For long jobs through MCP see MCP jobs_wait for long video jobs.
Sources
Related posts
More in Developers
- Amazon A+ Content API: mediaUrl is not permanent, keep your own copy
Amazon says A+ getMedia's mediaUrl is non-permanent. Re-fetch it, and keep your own copy of finished Sume clips by downloading from the content URL.
- Amazon A+ video descriptions per locale vs Sume caption language
A+ updateMedia upserts video descriptions by locale, one of title or descriptions per call. Sume's caption language is only a speech-to-text hint.
- Nova Reel start_async_invoke S3 output vs a Sume result URL
Nova Reel's start_async_invoke writes output.mp4 to your S3 bucket and needs IAM. A Sume job returns a result_url and durable media.sume.com links.
- Anam 99.9% uptime SLA vs Sume failed-job retry metadata and refunds
Anam states a 99.9% uptime SLA for Cara-4. Sume documents what a failed avatar job exposes, category and retryability, and refunds the reservation.
Written by Sume