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.

4 min readSume
All posts

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.

Amazon A+ media status values, read 2026-10-01.
StatusMeaning in Amazon's page
PENDING_PROCESSINGBeing processed (transcoding, validation)
PENDING_REVIEWAwaiting content compliance review
UNABLE_TO_PROCESSProcessing failed; may need re-upload or metadata correction
NOT_APPROVEDFailed compliance review; may need re-upload or metadata correction
AVAILABLEAvailable for display in A+ Content
PENDING_SELLING_PARTNERAction 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

All Developers posts

Written by Sume