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

Use the A+ Content API to create and edit high-quality content to help buyers make purchasing decisions. A+ content consists of collections of modules (known as a content document) that you can use to display product images and text. For an example of a content document, and a complete list of available modules, refer to A+ Content Examples.

Tutorial: Create, edit, and publish A+ content

Learn 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. For more information, refer to Authorizing Selling Partner API applications.
  • 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 for which you want to publish content.
  • Content that you want to publish.

Step 1. Check for existing A+ content

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

Step 2. 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 of 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 and pass 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.

Step 3. 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.

Step 4. Create a content document

To create a content document, complete the following 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; 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 is 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 is 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 responses that are returned when a request fails. 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 image file upload.

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 received in 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 passes 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 might not 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
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. 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": []
}

Step 5. Get the content document approved for publication

To submit your content document:

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

Path parameter

ParameterDescriptionRequired
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. 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.

To check your submission status:

  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 check for approval status.

Path parameter

ParameterDescriptionRequired
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. 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. For the submission status, refer to the status property. 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. Check the status property. Possible status values are:
    • APPROVED: The content is approved and published to the applied ASINs.
    • REJECTED: The content is rejected during review. Revise the content based on the provided rejection reasons and resubmit.
    • DRAFT: The content is not yet submitted for approval. Wait a minimum of one hour and resubmit.
    • SUBMITTED: The content is submitted for approval and is currently in review. Wait a minimum of one hour and resubmit.

Tutorial: Manage A+ 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.

Step 1. 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
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. 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": []
}

Step 2. Get published content

To get content that is already 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": []
                  }
                ]
              }
            }
          }
        }
      ]
    }
  }
}

Step 3. Update a content document

Call the updateContentDocument operation and pass in the following parameters:

Path parameter

ParameterDescriptionRequired
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. 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"
}

Step 4. Get the ASINs that are related to a content document

Call the listContentDocumentAsinRelations operation and pass in the following parameters:

Path parameter

ParameterDescriptionRequired
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. 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
    }
  ]
}

Step 5. Add or remove ASINs from a content document

Call the postContentDocumentAsinRelations operation and pass in the following parameters:

🚧

Important

The ASINs that you post 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
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. 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": []
}