HomeDocumentationCode SamplesAPI ReferenceAnnouncementsModelsRelease NotesFAQGitHubVideos
Developer HubAPI StatusSupport
Documentation
Developer HubAPI StatusSupport

A+ Content API Use Case Guide

Create and edit A+ content.

API Version: 2020-11-01

What is the A+ Content API?

Use the Selling Partner API for A+ Content (A+ Content API) to build applications for selling partners to create and edit A+ content. You can use this API to create rich, high-quality content that helps buyers make purchasing decisions.

Tutorial: Create and edit A+ content and publish it to your ASINs

This tutorial demonstrates how to create a new content document, add ASINs to the content document, and get the content document approved for publication.

Prerequisites

To complete this tutorial, you need:

  • Authorization from the selling partner for whom you are making calls. Refer to Authorizing Selling Partner API applications for more information.
  • The Product Listing role assigned to your developer profile.
  • The Product Listing role selected in the app registration page for your application.
  • One or more ASINs to which you want to publish content.
  • Content that you want to publish.

Check existing A+ content

Tasks

  1. Find out which content documents are published to an ASIN
  2. Get all of the content documents that the selling partner created

Find out which content documents are published to an ASIN

  1. Call the searchContentPublishRecords operation, passing the following parameters:

Query parameters

ParameterDescriptionRequired
asinThe Amazon Standard Identification Number (ASIN). Type: stringYes
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Request example

GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentPublishRecords?marketplaceId=ATVPDKIKX0DER&asin=ZZZZZZZZZZ

Response

NameDescription
publishRecordListThe list of A+ content publishing records. Type: PublishRecordList
warningsA set of messages to the user, such as warnings or comments. Type: MessageSet
nextPageTokenA page token that is returned when the results of the call exceed the page size. To get another page of results, call the operation again, passing in this value with the pageToken parameter. Type: string

Response example

{
  "warnings": [],
  "nextPageToken": null,
  "publishRecordList": [{
      "marketplaceId": "ATVPDKIKX0DER",
      "locale": "en_US",
      "asin": "ZZZZZZZZZZ",
      "contentType": "EBC",
      "contentSubType": "",
      "contentReferenceKey": "d54a4096-f864-4326-bc80-ce8807497f98"
    }, {
      "marketplaceId": "ATVPDKIKX0DER",
      "locale": "es_US",
      "asin": "ZZZZZZZZZZ",
      "contentType": "EBC",
      "contentSubType": "",
      "contentReferenceKey": "f58cf4d7-b1b2-4f43-b900-5fd75cb688c5"
    }
  ]
}
  1. To get the content documents and metadata for the records that are returned, use the getContentDocument operation and pass in the contentReferenceKey value.

Get all of the content documents that the selling partner created

  1. Call the searchContentDocuments operation and pass in the following parameter:

Query parameter

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Request example

GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments?marketplaceId=ATVPDKIKX0DER

Response

NameDescription
contentMetadataRecordsThe list of A+ content metadata records. Type: ContentMetadataRecordList
warningsA set of messages to the user, such as warnings or comments. Type: MessageSet
nextPageTokenA page token that is returned when the results of the call exceed the page size. To get another page of results, call the operation again, passing in this value with the pageToken parameter. Type: string

Response example

{
  "warnings": [],
  "nextPageToken": null,
  "contentMetadataRecords": [{
      "contentReferenceKey": "436e986d-4a94-4511-a857-58802f3ba7b0",
      "contentMetadata": {
        "name": "Name of content document",
        "marketplaceId": "ATVPDKIKX0DER",
        "status": "DRAFT",
        "badgeSet": [null, "STANDARD"],
        "updateTime": null
      }
    }
  ]
}
  1. To get the content documents for the records that are returned, call the getContentDocument operation and pass in the contentReferenceKey value.

Create a content document

Tasks

  1. Construct a JSON content document
  2. Create upload destinations for images
  3. Upload images
  4. Submit the content document for validation
  5. Create a content document
  6. Add ASINs to the content document

Construct a JSON content document

Content documents are composed of one or more content modules. Content documents for selling partners can contain up to seven modules, while content documents for vendors can contain up to five content modules.

ContentDocument definition:

ParameterDescriptionRequired
nameThe A+ content document name.
minLength: 1
maxLength: 100
Type: string
Yes
contentTypeThe A+ content document type. Type: ContentTypeYes
contentSubTypeThe A+ content document subtype. This represents a special-purpose type of an A+ content document. Not every A+ content document type will have a subtype, and subtypes can change at any time. Type: ContentSubTypeNo
localeThe IETF language tag. This only supports the primary language subtag with one secondary language subtag. The secondary language subtag is almost always a regional designation. This does not support additional subtags beyond the primary and secondary subtags.
Pattern: ^[a-z]{2,}-[A-Z0-9]{2,}$
Type: LanguageTag
Yes
contentModuleListA list of A+ content modules. Type: ContentModuleListYes

contentDocument example:

{
  "contentDocument": {
    "name": "Example content document",
    "contentType": "EMC",
    "locale": "en-US",
    "contentModuleList": [
      {
        "contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
        "standardHeaderImageText": {
          "headline": {
            "value": "Lorem ipsum",
            "decoratorSet": []
          },
          "block": {
            "image": {
              "uploadDestinationId": "SampleID",
              "imageCropSpecification": {
                "size": {
                  "width": {
                    "value": 970,
                    "units": "pixels"
                  },
                  "height": {
                    "value": 600,
                    "units": "pixels"
                  }
                },
                "offset": {
                  "x": {
                    "value": 7,
                    "units": "pixels"
                  },
                  "y": {
                    "value": 0,
                    "units": "pixels"
                  }
                }
              },
              "altText": "Lorem ipsum"
            },
            "headline": {
              "value": "Nunc faucibus neque auctor faucibus pretium.",
              "decoratorSet": []
            },
            "body": {
              "textList": [
                {
                  "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
                  "decoratorSet": []
                }
              ]
            }
          }
        }
      }
    ]
  }
}

Create upload destinations for images

  1. Call the createUploadDestinationForResource operation of the Uploads API v2020-11-01 and pass in the following parameters:

Query parameters

ParameterDescriptionRequired
marketplaceIdsA list of marketplace identifiers. This specifies the marketplaces where the upload will be available. Only one marketplace can be specified. Type: stringYes
contentMD5An MD5 hash of the content to be submitted to the upload destination. This value is used to determine if the data has been corrupted or tampered with during transit. Type: stringYes
contentTypeThe content type of the file to be uploaded. Type: stringNo

Path parameter

ParameterDescriptionRequired
resourceThe URL of the resource for the upload destination that you are creating. For example, to create an upload destination for a content document, the resource would be aplus/2020-11-01/contentDocuments and the path would be /uploads/v1/uploadDestinations/aplus/2020-11-01/contentDocuments. Type: stringYes

Request example

POST https://sellingpartnerapi-na.amazon.com/uploads/2020-11-01/uploadDestinations/aplus/2020-11-01/contentDocuments?contentType=image/jpeg&contentMD5=9e92dc1ed22ffc814f063f02b1c0f233&marketplaceIds=ATVPDKIKX0DER

Response

NameDescription
payloadInformation about an upload destination. Type: UploadDestination
errorsA list of error response returned when a request is unsuccessful. Type: ErrorList

Response example

{
  "errors": [],
  "payload": {
    "uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
    "url": "https://aplus-media.s3.amazonaws.com/?x-amz-date=20201116T184623Z&x-amz-signature=c5c8efd95d883b6787a2b1a93c7c066f01cb4e8d7be3ece4360aa800332e0cf9&x-amz-meta-owner=A2CZ04NGKYDXDV&acl=private&key=sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png&x-amz-algorithm=AWS4-HMAC-SHA256&policy=eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJhcGx1cy1tZWRpYS1iZXRhIn0seyJrZXkiOiJzb3RhLzdhZTJkM2IxLWZkZDMtNDJjNC05OGM0LTljYzUwOWZiOTVkOC5wbmcifSx7ImFjbCI6InByaXZhdGUifSx7IngtYW16LW1ldGEtb3duZXIiOiJBMkNaMDROR0tZRFhEViJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUE2TDZSN1FFNTZGNkdNRzVFLzIwMjAxMTE2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IngtYW16LWRhdGUiOiIyMDIwMTExNlQxODQ2MjNaIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMSwzMTQ1NzI4XV0sImV4cGlyYXRpb24iOiIyMDIwLTExLTE2VDIxOjQ2OjIzLjg2OFoifQ==&x-amz-credential=AKIA6L6R7QE56F6GMG5E/20201116/us-east-1/s3/aws4_request",
    "headers": null
  }
}
  1. Save the uploadDestinationId value to include in your content document in Submit the content document for validation. Save the url value for Upload images.

Upload images

  1. Use the following cURL command with the url response element that the previous task returned.

Example cURL command:

{
  "codes": [
    {
      "code": "curl -F \"key=sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png\" \\\n-F \"acl=private\" \\\n-F \"policy=eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJhcGx1cy1tZWRpYS1iZXRhIn0seyJrZXkiOiJzb3RhLzdhZTJkM2IxLWZkZDMtNDJjNC05OGM0LTljYzUwOWZiOTVkOC5wbmcifSx7ImFjbCI6InByaXZhdGUifSx7IngtYW16LW1ldGEtb3duZXIiOiJBMkNaMDROR0tZRFhEViJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUE2TDZSN1FFNTZGNkdNRzVFLzIwMjAxMTE2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IngtYW16LWRhdGUiOiIyMDIwMTExNlQxODQ2MjNaIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMSwzMTQ1NzI4XV0sImV4cGlyYXRpb24iOiIyMDIwLTExLTE2VDIxOjQ2OjIzLjg2OFoifQ==\" \\\n-F \"x-amz-credential=AKIA6L6R7QE56F6GMG5E/20201116/us-east-1/s3/aws4_request\" \\\n-F \"x-amz-algorithm=AWS4-HMAC-SHA256\" \\\n-F \"x-amz-date=20201203T011128Z\" \\\n-F \"x-amz-signature=c5c8efd95d883b6787a2b1a93c7c066f01cb4e8d7be3ece4360aa800332e0cf9\" \\\n-F \"x-amz-meta-owner=A2CZ04NGKYDXDV\" \\\n-F \"[email protected]\" \\\nhttps://aplus-media.s3.amazonaws.com",
      "language": "curl"
    }
  ]
}
  1. Confirm that you received a 2xx status code in the response. The 2xx status code indicates a successful upload of your image file.

Submit the content document for validation

  1. Call the validateContentDocumentAsinRelations operation and pass in the following parameters:

Query parameters

ParameterDescriptionRequired
marketplaceIdThe Amazon marketplace identifier of where the A+ content is hosted or published. Type: stringYes
asinSetThe set of ASINs. Type: array(csv)No

📘

Note

If your content document includes images, add the uploadDestinationId value that you got from Create upload destinations for images to your content document.

Body parameter

ParameterDescriptionRequired
postContentDocumentRequestThe content document request details. Type: postContentDocumentRequestYes

Request example

POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentAsinValidations?marketplaceId=ATVPDKIKX0DER&asinSet=0123456789&asinSet=ZZZZZZZZZZ
{
  "contentDocument": {
    "name": "Example content document",
    "contentType": "EMC",
    "locale": "en-US",
    "contentModuleList": [
      {
        "contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
        "standardHeaderImageText": {
          "headline": {
            "value": "Lorem ipsum",
            "decoratorSet": []
          },
          "block": {
            "image": {
              "uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
              "imageCropSpecification": {
                "size": {
                  "width": {
                    "value": 970,
                    "units": "pixels"
                  },
                  "height": {
                    "value": 600,
                    "units": "pixels"
                  }
                },
                "offset": {
                  "x": {
                    "value": 7,
                    "units": "pixels"
                  },
                  "y": {
                    "value": 0,
                    "units": "pixels"
                  }
                }
              },
              "altText": "Lorem ipsum"
            },
            "headline": {
              "value": "Nunc faucibus neque auctor faucibus pretium.",
              "decoratorSet": []
            },
            "body": {
              "textList": [
                {
                  "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
                  "decoratorSet": []
                }
              ]
            }
          }
        }
      }
    ]
  }
}

Response

Error response example:

{
  "warnings": [],
  "errors": [
    {
      "code": "CONTENT_FAILED_VALIDATION",
      "message": "These keywords violate our community guidelines: $.",
      "details": ""
    }
  ]
}

Check for errors. If you receive an error, correct the error and retry. Repeat until you receive no errors.

📘

Note

A 200 status code in the response indicates that Amazon ran a validation on your content document. This status code does not indicate that your content document passed validation. Your content document has passed validation when the validateContentDocumentAsinRelations operation returns no errors.

Create a content document

Call the createContentDocument operation and pass in the following parameters:

Query parameters

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Body parameter

ParameterDescriptionRequired
postContentDocumentRequestThe content document request details. Type: postContentDocumentRequestYes

Request example

POST https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments?marketplaceId=ATVPDKIKX0DER
{
  "contentDocument": {
    "name": "Example content document",
    "contentType": "EMC",
    "locale": "en-US",
    "contentModuleList": [
      {
        "contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
        "standardHeaderImageText": {
          "headline": {
            "value": "Lorem ipsum",
            "decoratorSet": []
          },
          "block": {
            "image": {
              "uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
              "imageCropSpecification": {
                "size": {
                  "width": {
                    "value": 970,
                    "units": "pixels"
                  },
                  "height": {
                    "value": 600,
                    "units": "pixels"
                  }
                },
                "offset": {
                  "x": {
                    "value": 7,
                    "units": "pixels"
                  },
                  "y": {
                    "value": 0,
                    "units": "pixels"
                  }
                }
              },
              "altText": "Lorem ipsum"
            },
            "headline": {
              "value": "Nunc faucibus neque auctor faucibus pretium.",
              "decoratorSet": []
            },
            "body": {
              "textList": [
                {
                  "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
                  "decoratorSet": []
                }
              ]
            }
          }
        }
      }
    ]
  }
}

Response

NameDescription
warningsA set of messages to the user, such as warnings or comments. Type: MessageSet
contentReferenceKeyA unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Type: ContentReferenceKey

Response example

{
  "warnings": [],
  "contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa"
}

Add ASINs to the content document

Call the postContentDocumentAsinRelations operation and pass in the following parameters:

Query parameter

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Path parameter

ParameterDescriptionRequired
contentReferenceKeyThe unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: stringYes

Body parameter

ParameterDescriptionRequired
postContentDocumentAsinRelationsRequestThe content document ASIN relations request details. Type: PostContentDocumentAsinRelationsRequestYes

Request example

POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/asins?marketplaceId=ATVPDKIKX0DER
{
  "asinSet": ["0123456789", "ZZZZZZZZZZ"]
}

Response

NameDescription
warningsThe set of messages to the user, such as warnings or comments. Type: MessageSet

Response example

{
  "warnings": []
}

Get the content document approved for publication

Tasks

  1. Submit your content document for approval
  2. Check the approval status of your submission

Submit your content document for approval

  1. Call the postContentDocumentApprovalSubmission operation and pass in the following parameters:

Path parameter

ParameterDescriptionRequired
contentReferenceKeyThe unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: stringYes

Query parameter

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Request example

POST https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/approvalSubmissions?marketplaceId=ATVPDKIKX0DER

Response

NameDescription
warningsThe set of messages to the user, such as warnings or comments. Type: MessageSet

Response example

{
  "warnings": [
    {
      "code": "ASIN_FAILED_VALIDATION",
      "message": "",
      "details": "0123456789"
    }
  ]
}
  1. Check for warnings and errors. If you receive a warning or error, correct and retry. Repeat until you receive no warnings errors.

Check the approval status of your submission

  1. Call the getContentDocument operation and pass in the following parameters:

📘

Note

Call the getContentDocument operation no more than once an hour for each content document that you are checking for approval status.

Path parameter

ParameterDescriptionRequired
contentReferenceKeyThe unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: stringYes

Query parameters

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes
includedDataSetThe set of A+ content data types to include in the response. Specify METATDATA to get the submission status and not the content document itself. Type: IncludedDataSetYes

Request example

GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa?marketplaceId=ATVPDKIKX0DER&includedDataSet=METADATA

Response

NameDescription
warningsA set of messages to the user, such as warnings or comments. Type: MessageSet
contentRecordA content document with additional information for content management. Refer to the status property for the submission status. Type: ContentRecord

Response example

{
  "warnings": [],
  "contentRecord": {
    "contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa",
    "contentMetadata": {
      "name": "Example content document",
      "marketplaceId": "ATVPDKIKX0DER",
      "status": "APPROVED",
      "badgeSet": ["STANDARD"],
      "updateTime": "2020-11-18T03:05:50.052Z"
    },
    "contentDocument": null
  }
}          
  1. To get the status of your submission, check the status property. Possible status values are:
    • APPROVED: The content is approved and published to the applied ASINs.
    • REJECTED: The content has been rejected in moderation. Revise the content based on the provided rejection reasons and resubmit.
    • DRAFT: The content has not yet been submitted for approval. Wait a minimum of one hour and resubmit.
    • SUBMITTED: The content has been submitted for approval and is currently waiting for moderation. Wait a minimum of one hour and resubmit.

Tutorial: Manage existing content

This tutorial demonstrates how to manage existing content.

Prerequisites

To complete this tutorial, you need:

  • Authorization from the selling partner for whom you are making calls. Refer to Authorizing Selling Partner API applications for more information.
  • The Product Listing role assigned to your developer profile.
  • The Product Listing role selected in the app registration page for your application.
  • One or more ASINs to which you would like to publish content.
  • Content that you want to publish.

Suspend a content document from all applied ASINs

  1. Call the postContentDocumentSuspendSubmission operation and pass in the following parameters:

📘

Note

When you publish a content document to an ASIN that already has content published to it, Amazon suspends the existing content from the ASIN. This suspension also occurs when you remove an ASIN from a content document. You don't need the postContentDocumentSuspendSubmission operation in either scenario.

Path parameter

ParameterDescriptionRequired
contentReferenceKeyThe unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: stringYes

Query parameter

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Request example

POST https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/suspendSubmissions?marketplaceId=ATVPDKIKX0DER

Response

NameDescription
warningsThe set of messages to the user, such as warnings or comments. Type: MessageSet

Response example

{
  "warnings": []
}

Get previously published content

To get content previously published by the selling partner, call the getContentDocument operation. Specify includedDataSet=METADATA to get content metadata. Specify includedDataSet=CONTENTS to get content documents.

Request example

GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa?marketplaceId=ATVPDKIKX0DER&includedDataSet=CONTENTS&includedDataSet=METADATA

Response example

{
  "warnings": [],
  "contentRecord": {
    "contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa",
    "contentMetadata": {
      "name": "Example content document",
      "marketplaceId": "ATVPDKIKX0DER",
      "status": "APPROVED",
      "badgeSet": ["STANDARD"],
      "updateTime": "2020-11-14T02:04:05.502Z"
    },
    "contentDocument": {
      "name": "Example content document",
      "contentType": "EMC",
      "locale": "en-US",
      "contentModuleList": [
        {
          "contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
          "standardHeaderImageText": {
            "headline": {
              "value": "Lorem ipsum",
              "decoratorSet": []
            },
            "block": {
              "image": {
                "uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
                "imageCropSpecification": {
                  "size": {
                    "width": {
                      "value": 970,
                      "units": "pixels"
                    },
                    "height": {
                      "value": 600,
                      "units": "pixels"
                    }
                  },
                  "offset": {
                    "x": {
                      "value": 7,
                      "units": "pixels"
                    },
                    "y": {
                      "value": 0,
                      "units": "pixels"
                    }
                  }
                },
                "altText": "Lorem ipsum"
              },
              "headline": {
                "value": "Nunc faucibus neque auctor faucibus pretium.",
                "decoratorSet": []
              },
              "body": {
                "textList": [
                  {
                    "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc faucibus neque auctor faucibus pretium. Quisque sed blandit nunc. Pellentesque malesuada lorem vitae justo efficitur viverra.",
                    "decoratorSet": []
                  }
                ]
              }
            }
          }
        }
      ]
    }
  }
}

Update a content document

Call the updateContentDocument operation and pass in the following parameters:

Path parameter

ParameterDescriptionRequired
contentReferenceKeyThe unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: stringYes

Query parameter

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Body parameter

ParameterDescriptionRequired
postContentDocumentRequestThe content document request details. Type: postContentDocumentRequestYes

Request example

POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa?marketplaceId=ATVPDKIKX0DER
{
  "contentDocument": {
    "name": "Example content document",
    "contentType": "EMC",
    "locale": "en-US",
    "contentModuleList": [
      {
        "contentModuleType": "STANDARD_HEADER_IMAGE_TEXT",
        "standardHeaderImageText": {
          "headline": {
            "value": "Example headline",
            "decoratorSet": []
          },
          "block": {
            "image": {
              "uploadDestinationId": "sc/7ae2d3b1-fdd3-42c4-98c4-9cc509fb95d8.png",
              "imageCropSpecification": {
                "size": {
                  "width": {
                    "value": 970,
                    "units": "pixels"
                  },
                  "height": {
                    "value": 600,
                    "units": "pixels"
                  }
                },
                "offset": {
                  "x": {
                    "value": 7,
                    "units": "pixels"
                  },
                  "y": {
                    "value": 0,
                    "units": "pixels"
                  }
                }
              },
              "altText": "Example alt text"
            },
            "headline": {
              "value": "Example heading",
              "decoratorSet": []
            },
            "body": {
              "textList": [
                {
                  "value": "Example text.",
                  "decoratorSet": []
                }
              ]
            }
          }
        }
      }
    ]
  }
}

Response

NameDescription
warningsA set of messages to the user, such as warnings or comments. Type: MessageSet
contentReferenceKeyA unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Type: ContentReferenceKey

Response example

{
  "warnings": [],
  "contentReferenceKey": "52c2534c-d37a-4854-b9b3-79e2f8a86bfa"
}

Get the ASINs that are related to a content document

Call the listContentDocumentAsinRelations operation and pass in the following parameters:

Path parameter

ParameterDescriptionRequired
contentReferenceKeyThe unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: stringYes

Query parameters

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes
includedDataSetThe set of A+ content data types to include in the response. Type: < enum IncludedDataSet > array(csv)No Default: no metadata is returned.
asinSetThe set of ASINs. Type: < string > array(csv)No Default: all ASINs applied to the content document are returned.

Request example

GET https://sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/asins?marketplaceId=ATVPDKIKX0DER&includedDataSet=METADATA&asinSet=0123456789&asinSet=ZZZZZZZZZZ

Response

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes
includedDataSetThe set of A+ content data types to include in the response. Type: < enum IncludedDataSet > array(csv)No Default: no metadata is returned.
asinSetThe set of ASINs. Type: < string > array(csv)No Default: all ASINs applied to the content document are returned.

Response example

{
  "warnings": [],
  "nextPageToken": null,
  "asinMetadataSet": [
    {
      "asin": "ZZZZZZZZZZ",
      "badgeSet": null,
      "parent": "ZZZZZZZZZZ",
      "title": "Example title",
      "imageUrl": null,
      "contentReferenceKeySet": null
    }
  ]
}

Add or remove ASINs from a content document

Call the postContentDocumentAsinRelations operation and pass in the following parameters:

🚧

Important

The ASINs that you post will replace all ASINs related to a content document, which can result in additional or removed ASINs. Removing the ASIN can suspend the content document from the ASIN. Post the entire set of ASINs related to a content document.

Path parameter

ParameterDescriptionRequired
contentReferenceKeyThe unique reference key for the A+ content document. A content reference key cannot form a permalink and can change in the future. A content reference key is not guaranteed to match any A+ content identifier. Get this value from Task 5. Create a content document. Type: stringYes

Query parameter

ParameterDescriptionRequired
marketplaceIdThe identifier for the marketplace where the A+ content is published. Type: stringYes

Body parameter

ParameterDescriptionRequired
postContentDocumentAsinRelationsRequestThe content document ASIN relations request details. Type: PostContentDocumentAsinRelationsRequestYes

Request example

POST https: //sellingpartnerapi-na.amazon.com/aplus/2020-11-01/contentDocuments/52c2534c-d37a-4854-b9b3-79e2f8a86bfa/asins?marketplaceId=ATVPDKIKX0DER
{
  "asinSet": ["0123456789", "ZZZZZZZZZZ"]
}

Response

NameDescription
warningsA set of messages to the user, such as warnings or comments. Type: MessageSet

Response example

{
  "warnings": []
}