Call createContentDocument with a ContentDocument body specifying name, contentType (e.g., EMC), locale, and a contentModuleList array containing typed modules (standardImageTextModule, standardTextModule, etc.)
Note the contentReferenceKey in the response — this is the handle for all subsequent operations on this content document
Call postContentDocumentAsinRelations to associate the content document with one or more ASINs; pass the contentReferenceKey and an asinSet
Call submitContentDocumentApprovalRequest to trigger Amazon's review; the content goes into SUBMITTED then IN_REVIEW status
Poll getContentDocument or listContentDocumentAsinRelations to check approvalStatus per ASIN; handle REJECTED status by reading the issues array and revising the content document before resubmitting
Known gotchas
A+ Content is only available for brand-registered sellers; the API returns a 403 or specific error code if the selling account does not have Brand Registry on the target marketplace
Module constraints vary by contentType (EMC vs standard vs A+ Premium); attempting to include a module type not allowed for the chosen contentType returns a validation error rather than a clear schema mismatch message
ASIN-level rejection reasons are returned per ASIN in the relations list, not at the document level — always check per-ASIN approval status rather than assuming document approval covers all associated ASINs
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp