Selling Partner API Developer Guide
Selling Partner API Developer Guide
Contents
Global applications........................................................................................................................................ 7
Self authorization......................................................................................................................................... 19
Response format.......................................................................................................................................... 29
Grantless operations................................................................................................................................... 31
POST Submits an entity to the specified resource, often causing a change in state or side effects on the server.
PUT Replaces all current representations of the target resource with the request payload.
marketplaceId values
The marketplaceId identifies the marketplace for a request.
North America
Country marketplaceId Country code
Canada A2EUQ1WTGCTBG CA
Mexico A1AM78C64UM0Y8 MX
Brazil A2Q3Y263D00KWC BR
Europe
Country marketplaceId Country code
Spain A1RKKUPIHCS9HS ES
France A13V1IB3VIYZZH FR
Germany A1PA6795UKMFR9 DE
Italy APJ6JRA9NG5V4 IT
Turkey A33AVAJ2PDY3EV TR
India A21TJRUUN4KGV IN
Far East
Country marketplaceId Country code
Singapore A19VAU5U5O7RUS SG
Australia A39IBJ37TRP1C6 AU
Japan A1VC38T7YXB528 JP
Global applications
You only need to register as a developer once, in the region and marketplace of your choice, to be able to create a
pure Selling Partner API application that can be authorized by a seller from any region or marketplace. You need only
one set of developer credentials (your AWS access key ID and AWS secret access key) to make calls to any Selling
Partner API endpoint, as long as the endpoint is from the same region as the seller who authorized your application. For
information about getting your AWS access key ID and AWS secret access key, see Step 3. Create an IAM user.
If you have a hybrid Selling Partner API applications, your calls to Amazon Marketplace Web Service (Amazon
MWS) endpoints have the same restrictions as an Amazon MWS application. That is, when you call an Amazon MWS
endpoint, you must use Amazon MWS Access Keys associated with the region that the endpoint comes from.
For more information, see:
• Pure and hybrid Selling Partner API applications
• Selling Partner API endpoints
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:*:*:*"
}
]
}
6. On the Review policy page, type a Name and a Description (optional) for the policy that you are creating. We
recommend naming your IAM policy, SellingPartnerAPI.
7. Review the policy Summary to see the permissions that are granted by your policy, then click the Create policy
button.
Your new IAM policy appears in the list.
For more information, see Creating IAM Policies in the AWS documentation.
We associate your IAM user with your Selling Partner API application during registration.
To create an IAM user
1. Sign into the AWS Management Console and open the IAM console at console.aws.amazon.com/iam.
2. In the navigation pane at left, click Users and then click Add user button.
3. Type the user name for the new user. This is the sign-in name for AWS.
4. Select Programmatic access and then click the Next: Permissions button.
5. On the Set Permissions page, click Attach existing policies directly button.
6. From the list of policies, select the policy that you created in Step 2. Create an AWS IAM policy.
Tip: Filter on Customer managed to make your policy easier to find.
7. Click the Next: Review button to see all of the choices you made up to this point. When you are ready to proceed,
click the Create user button.
The AWS access key ID for your new IAM user is displayed.
8. Click Show to view the AWS secret access key. To save the AWS access key, click Download .csv and then save
the file to a safe location.
Important: This is your only opportunity to view or download your AWS secret access key, which you
will need to authenticate your calls to Selling Partner API. Save the AWS access key ID and AWS secret
access key in a safe and secure place. You will not have access to the AWS access key again after this
step. If you lose your AWS secret access key you will need to create a new IAM user with its own new set
of keys.
9. Click Close. In the User name column, click your new IAM user and make a note of the User ARN. You will need
it in Step 4. Provide your application registration information.
For more information, see Creating an IAM User in Your AWS Account in the AWS documentation.
• Amazon Marketplace Web Service (Amazon MWS) API sections. Indicate the Amazon MWS API sections that
your application uses.
After we register your application, an Amazon support engineer will use your support case to provide you with the
following:
• Confirmation that we have registered your application.
• An application ID for the application that you registered. Use this to identify the application in Developer Central
for which you want to get your LWA credentials and IAM ARN. For more information, see Viewing your developer
information.
• Regional OAuth authorization URIs for your application. When your application is ready for testing, you can
provide links to these OAuth authorization URIs to sellers who are willing to help you test your authorization
workflow. We recommend that you limit testing to a minimal number of sellers, as the OAuth authorization URIs
will change when your application is published. You can also use the OAuth authorization URIs for initiating
authorization from your own website. For more information, see Website workflow.
You can receive up to three regional OAuth authorization URIs, one for each region from which sellers will
authorize your application. For more information about regional URIs, see Step 0. Set up your OAuth authorization
URIs.
After receiving this information, you can view your developer information and set up your OAuth authorization
workflow. For more information, see Viewing your developer information and Authorizing Selling Partner API
applications.
2. The seller goes to the detail page for your application and clicks the Authorize Now button.
The consent page for your application appears.
Note: If this a test workflow (the seller started by navigating to your OAuth authorization URI) Amazon
includes the version=beta parameter. If this is a production workflow (the seller started from the
Marketplace Appstore), Amazon does not include the parameter.
For example:
https://d2yzyfnnpjylxu.cloudfront.net/index.html?
amazon_callback_uri=https://amazon.com/apps/authorize/
confirm/amzn1.sellerapps.app.2eca283f-9f5a-4d13-
b16c-474EXAMPLE57&amazon_state=amazonstateexample&selling_partner_id=A3FHEXAMPLEYWS
state A state value generated by your application. Your application uses this
value to maintain state between this request and the response, helping
to guard against cross-site request forgery attacks.
Important: Because OAuth information is passed via
URI query parameters, we highly recommended that you
do the following: (1) Ensure that the state token is short-
lived and verifiably unique to your user, and (2) Set the
Referrer-Policy: no-referrer HTTP header, which
prevents leaking sensitive information to websites that
your website links to. For more information about cross-
site request forgery and calculating a state parameter, see
Cross-site Request Forgery in the Login with Amazon
documentation.
Note: If you include the version=beta parameter, the workflow authorizes an application in Draft state.
If you do not include the parameter, the workflow authorizes an application published on the Marketplace
Appstore.
For example:
https://amazon.com/apps/authorize/confirm/
amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57?
redirect_uri=https://d2yzyfnnpjylxu.cloudfront.net/
landing.html&amazon_state=amazonstateexample&state=-37131022&version=beta
OR
https://amazon.com/apps/authorize/confirm/
amzn1.sellerapps.app.2eca283f-9f5a-4d13-b16c-474EXAMPLE57?
redirect_uri=https://d2yzyfnnpjylxu.cloudfront.net/
landing.html&amazon_state=amazonstateexample&state=-37131022
state The state value that you passed in the previous step.
mws_auth_token The MWSAuthToken value that you use when you create a
query string for a call to Amazon Marketplace Web Service. The
mws_auth_token parameter is only passed when the seller is
authorizing a hybrid Selling Partner API application. For more
information, see Hybrid Selling Partner API applications.
spapi_oauth_code The Login with Amazon (LWA) authorization code that you exchange
for an LWA refresh token. For more information, see Step 5. Your
application exchanges the LWA authorization code for a LWA refresh
token.
For example:
https://client-example.com?state=state-
example&mws_auth_token=mwsauthtokenexample&selling_partner_id=sellingpartneridexample&
spapi_oauth_code=spapioauthcodeexample
2. Your application validates the state value.
3. Your application saves the selling_partner_id, mws_auth_token (if passed), and spapi_oauth_code values.
4. Your website's landing page displays.
Step 5. Your application exchanges the LWA authorization code for a LWA refresh token
The Login with Amazon SDK for JavaScript can help you with the exchange of an LWA authorization code for an
LWA refresh token. For more information, see the Login with Amazon documentation.
• Add the Login with Amazon SDK for JavaScript
• Authorization Code Grant
To exchange an LWA authorization code for an LWA refresh token
1. Your application calls the Login with Amazon (LWA) authorization server (https://api.amazon.com/auth/o2/
token) to exchange the LWA authorization code for an LWA refresh token. The call must include the following
query parameters.
Parameter Description
code The LWA authorization code that you received in Step 4. Amazon sends you the authorization
information.
client_id Part of your LWA credentials. To get this value, see Viewing your developer information.
client_secret Part of your LWA credentials. To get this value, see Viewing your developer information.
For example:
access_token A token that authorizes your application to take certain actions on behalf of a seller. See Connecting to
Selling Partner API.
expires_in The number of seconds before the access token becomes invalid.
refresh_token A long-lived token that can be exchanged for a new access token. See Connecting to Selling Partner API.
HTTP/l.l 200 OK
Content-Type: application/json;charset UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR",
"token_type":"bearer",
"expires_in":3600,
"refresh_token":"Atzr|IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX"
}
3. Your application saves the refresh_token value.
4. The browser displays a page to the seller that indicates next steps for using your application.
An LWA refresh token is a long-lived token that you exchange for an LWA access token, which must be included in
every request to Selling Partner API. Once an access token is issued it is valid for one hour. The same access token can
be used for multiple API calls, until it expires. See Connecting to Selling Partner API.
Your application is now authorized to make calls to Selling Partner API on the seller's behalf.
For hybrid Selling Partner API applications
If an MWS auth token was returned in Step 4. Amazon sends you the authorization information, your application is
also authorized to make calls to Amazon Marketplace Web Service on the seller's behalf. For more information, see
Hybrid Selling Partner API applications.
Website workflow
The Website workflow is an OAuth authorization workflow that is initiated from your own website. Sellers sign into
your website and click an "Authorize" button that you configure to initiate authorization. For more information, see
Step 0. Set up your OAuth authorization URIs.
This topic includes the Website workflow steps as well as information about testing the workflow.
state A state value generated by your application. Your application uses this value to maintain state between this request and the
response, helping to guard against cross-site request forgery attacks.
Important: Because OAuth information is passed via URL query parameters, we highly recommended that
you do the following: (1) Ensure that the state token is short-lived and verifiably unique to your user, and (2)
Set the Referrer-Policy: no-referrer HTTP header, which prevents leaking sensitive information to
websites that your website links to. For more information about cross-site request forgery and calculating a
state parameter, see Cross-site Request Forgery in the Login with Amazon documentation.
Note: If you include the version=beta parameter, the workflow authorizes an application in Draft state.
If you do not include the parameter, the workflow authorizes an application published on the Marketplace
Appstore.
For example:
https://sellercentral.amazon.com/apps/authorize/consent?
application_id=appidexample&state=stateexample&version=beta
OR
https://sellercentral.amazon.com/apps/authorize/consent?
application_id=appidexample&state=stateexample
state The state value from Step 1. The seller initiates authorization from
your website.
mws_auth_token The MWSAuthToken value that you use when you create a
query string for a call to Amazon Marketplace Web Service. The
mws_auth_token parameter is only passed when the seller is
authorizing a hybrid Selling Partner API application. For more
information, see Hybrid Selling Partner API applications.
spapi_oauth_code The Login with Amazon (LWA) authorization code that you exchange
for an LWA refresh token. For more information, see Step 4. Your
application exchanges the LWA authorization code for a LWA refresh
token.
For example:
https://client-example.com?state=state-
example&mws_auth_token=mwsauthtokenexample&selling_partner_id=sellingpartneridexample&
spapi_oauth_code=spapioauthcodeexample
2. Your application validates the state value.
3. Your application saves the selling_partner_id, mws_auth_token (if passed), and spapi_oauth_code values.
4. Your website's landing page displays.
Step 4. Your application exchanges the LWA authorization code for a LWA refresh token
The Login with Amazon SDK for JavaScript can help you with the exchange of an LWA authorization code for an
LWA refresh token. For more information, see the Login with Amazon documentation.
• Add the Login with Amazon SDK for JavaScript
• Authorization Code Grant
To exchange an LWA authorization code for an LWA refresh token
1. Your application calls the Login with Amazon (LWA) authorization server (https://api.amazon.com/auth/o2/
token) to exchange the LWA authorization code for an LWA refresh token. The call must include the following
query parameters.
Parameter Description
code The LWA authorization code that you received in Step 3. Amazon sends you the authorization
information.
client_id Part of your LWA credentials. To get this value, see Viewing your developer information.
client_secret Part of your LWA credentials. To get this value, see Viewing your developer information.
For example:
access_token A token that authorizes your application to take certain actions on behalf of a seller. See Connecting to
Selling Partner API.
expires_in The number of seconds before the access token becomes invalid.
refresh_token A long-lived token that can be exchanged for a new access token. See Connecting to Selling Partner API.
HTTP/l.l 200 OK
Content-Type: application/json;charset UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR",
"token_type":"bearer",
"expires_in":3600,
"refresh_token":"Atzr|IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX"
}
3. Your application saves the refresh_token value.
4. The browser displays a page to the seller that indicates next steps for using your application.
An LWA refresh token is a long-lived token that you exchange for an LWA access token, which must be included in
every request to Selling Partner API. Once an access token is issued it is valid for one hour. The same access token can
be used for multiple API calls, until it expires. See Connecting to Selling Partner API.
Your application is now authorized to make calls to Selling Partner API on the seller's behalf.
For hybrid Selling Partner API applications
If an MWS auth token was returned in Step 3. Amazon sends you the authorization information, your application is
also authorized to make calls to Amazon Marketplace Web Service on the seller's behalf. For more information, see
Hybrid Selling Partner API applications.
Self authorization
You can self-authorize your application in Developer Central. Before doing this you must follow the steps in
Registering your Selling Partner API application.
To implement the full OAuth authorization workflow, see Authorizing Selling Partner API applications.
To self-authorize your application
1. Go to Developer Central in the region associated with the seller ID that you provided in Step 4. Provide your
application registration information:
• North America: https://sellercentral.amazon.com/sellingpartner/developerconsole
• Europe: https://sellercentral.amazon.co.uk/sellingpartner/developerconsole
• Far East: https://sellercentral.amazon.co.jp/sellingpartner/developerconsole
2. Sign in using the credentials for the seller ID from the previous step.
The Developer Central page appears.
3. Click Edit > Authorize next to the application that you want to authorize.
A page appears that contains a Generate refresh token button.
4. Click Generate refresh token.
The Login with Amazon (LWA) refresh token appears. Your application is now authorized to access your selling
account.
Important: Click Generate refresh token just once to get your refresh token, and then save it for making
calls to Selling Partner API. If you click the Generate refresh token multiple times you will get a new refresh
token each time, invalidating previous refresh tokens.
The refresh token is a long-lived token that you exchange for a short-lived access token. An access token must be
included with every request to Selling Partner API. Once an access token is issued it is valid for one hour. The same
access token can be used for multiple API calls, until it expires. For more information, see Step 1. Request a Login
with Amazon access token).
wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.7/
swagger-codegen-cli-2.4.7.jar -O swagger-codegencli.jar
You can find the actual groupId, artifactId, and version values near the top of the pom.xml file in the
clients/sellingpartner-api-aa-java folder.
c. Add a dependency on the AA library in the pom.xml of the client library:
For example:
<dependency>
<groupId>com.amazon.sellingpartnerapi</groupId>
<artifactId>sellingpartnerapi-aa-java</artifactId>
<version>1.0</version>
</dependency>
After you have generated your SDK you can use it to make calls to Selling Partner API. See Connecting to Selling
Partner API using a generated Java SDK.
accessKeyId Your AWS access key Id. For more information, see Step 3. Create an IAM user. Yes
secretKey Your AWS secret access key. For more information, see Step 3. Create an IAM user. Yes
region The AWS region to which you are directing your call. For more information, see Selling Yes
Partner API endpoints.
For example:
import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentials;
...
AWSAuthenticationCredentials
awsAuthenticationCredentials=AWSAuthenticationCredentials.builder()
.accessKeyId("myAccessKeyId")
.secretKey("mySecretId")
.region("us-east-1")
.build();
clientId Your LWA client identifier. For more information, see Viewing your developer Yes
information.
clientSecret Your LWA client secret. For more information, see Viewing your developer information. Yes
refreshToken The LWA refresh token. Get this value when the seller authorizes your application. For Yes
more information, see Authorizing Selling Partner API applications.
For example:
import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials;
...
LWAAuthorizationCredentials lwaAuthorizationCredentials =
LWAAuthorizationCredentials.builder()
.clientId("myClientId")
.clientSecret("myClientSecret")
.refreshToken("Aztr|...")
.endpoint("https://api.amazon.com/auth/o2/token")
.build();
wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.7/
swagger-codegen-cli-2.4.7.jar -O swagger-codegencli.jar
refresh_token Get this value when the seller authorizes your application. For more information, see Yes
Authorizing Selling Partner API applications.
client_id Get this value when you register your application. See Viewing your developer Yes
information.
client_secret Get this value when you register your application. See Viewing your developer Yes
information.
For example:
grant_type=refresh_token
&refresh_token=Atzr|IQEBLzAtAhRPpMJxdwVz2Nn6f2y-tpJX2DeX...
&client_id=foodev
&client_secret=Y76SDl2F
Tip: To avoid getting an untrusted certificate authority (CA) error when calling the LWA authorization server,
be sure to update your trust store so that your application trusts the LWA authorization server.
Response
A successful response includes the following values.
Name Description
expires_in The number of seconds before the LWA access token becomes invalid.
refresh_token The LWA access token that you submitted in the request. Maximum size: 2048 bytes.
HTTP/l.l 200 OK
Content-Type: application/json;charset UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE",
"token_type":"bearer",
"expires_in":3600,
"refresh_token":"Atzr|IQEBLzAtAhRPpMJxdwVz2Nn6f2y-tpJX2DeXEXAMPLE"
}
For more information, visit the Authorization Code Grant page in the Login with Amazon documentation.
HTTP method One of the Selling Partner API HTTP methods. GET
For example:
GET https://https://sellingpartnerapi-na.amazon.com/sellers/v1/
marketplaceParticipations?marketplace=ATVPDKIKX0DER
host The marketplace endpoint. See Selling Partner API HTTP methods.
x-amz-access-token The LWA access token. See Step 1. Request a Login with Amazon access token.
user-agent Your application name and version number, platform, and programming language. These help Amazon
diagnose and fix problems you might encounter with the service. See Include a User-Agent header in all
requests.
Here is an example of a request to Selling Partner API with URI and headers but no signing information:
GET https://sellingpartnerapi-na.amazon.com/sellers/v1/
marketplaceParticipations?marketplace=ATVPDKIKX0DER HTTP/1.1
host: sellingpartnerapi-na.amazon.com
user-agent: My Selling Tool/2.0 (Language=Java/1.8.0.221;
Platform=Windows/10)
x-amz-access-token=Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE
x-amz-date: 20190430T123600Z
To sign a request to Selling Partner API, see Step 4. Create and sign your request.
GET /sellers/v1/marketplaceParticipations?marketplace=ATVPDKIKX0DER
HTTP/1.1
Authorization: AWS4-HMAC-SHA25Credential=AKIDEXAMPLE/20190430/us-east1/
execute-api/aws4_request, SignedHeaders=host;user-agent;x-amz-access-token,
Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924aEXAMPLE
host: sellingpartnerapi-na.amazon.com
user-agent: My Selling Tool/2.0 (Language=Java/1.8.0.221;
Platform=Windows/10)
x-amz-access-token=Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE
x-amz-date: 20190430T123600Z
Credential scope
The credential scope is a component of the "string to sign" that you create when you sign a request to Selling Partner
API. See Create and sign your request.
Credential scope is represented by a slash-separated string of dimensions, as shown in the following table:
Dimension Description Example
Date An eight-digit string representing the year (YYYY), month (MM), 20190430
and day (DD) of the request.
AWS region The region you are sending the request to. See Selling Partner API us-east-1
endpoints.
Service The service you are requesting. You can find this value in the execute-api
endpoint. See Selling Partner API endpoints.
Termination string A special termination string. For AWS Signature Version 4, the aws4_request
value is aws4_request
For example:
20190430/us-east-1/execute-api/aws4_request
Important: The date that you use as part of your credential scope must match the date of your request, as
specified in the x-amz-date header. For more information, see Handling Dates in Signature Version 4 in the
AWS documentation.
For more information, see Step 4. Create and sign your request.
Authorization header
The Authorization header contains the signing information for a request. Although the header is named
"Authorization", the signing information is used for authentication.
Here are the components of an Authorization header:
Component Description
The algorithm used for signing The hash algorithm used throughout the signing process. Selling Partner API requires
SHA-256. You specify this in Step 4. Create and sign your request.
Credential Your AWS access key ID plus the Credential scope. You get your AWS access key ID in Step
3. Create an IAM user.
SignedHeaders A list of all the HTTP headers that you included with the signed request. For an example, see
Step 3. Add headers to the URI.
Signature The signature calculated in Step 4. Create and sign your request.
For example:
For more information, see Step 4. Create and sign your request.
Response format
In response to an HTTP request, Selling Partner API returns response headers and a JSON response message.
Response headers
Name Description
Success Response
If your request is successful, Selling Partner API returns the data requested. Here is an example of a successful
response:
HTTP/1.1 200 OK
Content-Length: 368
Content-Type: application/json
Date: Thu, 0Jun 20122:23:31 GMT
x-amzn-RequestId: 6875f61f-6aa1-11e8-98c6-9b9a3a7283a4
{
"payload": [
{
"marketplace": {
"id": "ATVPDKIKX0DER",
"countryCode": "US",
"name": "Amazon.com",
"defaultCurrencyCode": "USD",
"defaultLanguageCode": "en_US",
"domainName": "www.amazon.com"
},
"participation": {
"isParticipating": true,
"hasSuspendedListings": false
}
}
]
}
Error response
If your request is unsuccessful, Selling Partner API returns an error response. Here are the elements of the response
message in an error response:
Response message
Grantless operations
A grantless operation is an operation that you can call without explicit authorization from a selling partner. This
authorization model doesn't require you to receive and exchange LWA authorization codes and refresh tokens to get an
LWA access token, as you must when calling other Selling Partner API operations. Instead you get your LWA access
token with a single call to the LWA authorization server.
Currently the GET/authorization/v1/authorizationCode operation of the Authorization API is the only grantless
operation in Selling Partner API.
To call a grantless operation, follow the instructions in Connecting to Selling Partner API. with this important
variation: replace the instructions in Step 1. Request a Login with Amazon access token with the instructions in the
following section: Request a Login with Amazon access token to call a grantless operation.
scope The scope of the authorization grant. When requesting an LWA access token for a call to Yes
the GET/authorization/v1/authorizationCode operation of the Authorization API,
the value must be sellingpartnerapi::migration.
client_id Get this value when you register your application. See Viewing your developer Yes
information.
client_secret Get this value when you register your application. See Viewing your developer Yes
information.
For example:
grant_type=client_credentials
&scope=sellingpartnerapi::migration
&client_id=foodev
&client_secret=Y76SDl2F
GET/authorization/v1/authorizationCode 60 5
GET/sales/v1/orderMetrics .5 15
GET/sellers/v1/marketplaceParticipations .016 15
AppId/AppVersionId (Language=LanguageNameAndOptionallyVersion)
The following is an example of a User-Agent header that might be used by an application integrator:
If you are a large seller who is integrating through your own IT department, consider creating a User-Agent header
that contains the Host attribute, as in the following example. This can help an Amazon support engineer troubleshoot
problems for you more effectively.
To specify additional attributes, use the format AttributeName=Value;, separating each name/value pair with a
semicolon. If you need to use a backslash (\), quote it with another backslash (\\). Similarly, quote a forward slash in
the application name (\/), an opening parenthesis in the application version (\(), an equal sign in the attribute name
(\=), and both a closing parenthesis (\)), and a semicolon (\;) in attribute values.
Because the User-Agent header is transmitted in every request, it is a good practice to limit the size of the header.
Selling Partner API will reject a User-Agent header if it is longer than 500 characters.
Step 1. Get the Swagger model JSON file for the API that you want to call
1. Go to github.com/amzn.
2. Search for "amazon-marketplace-api-sdk", and then click the amazon-marketplace-api-sdk link that appears.
3. Download the JSON file for the API that you want to call.