SP-API Errors FAQ
Frequently asked questions about SP-API errors.
Common errors
How can I avoid throttling errors?
Select to expand the answer.
In the Selling Partner API, the token bucket algorithm limits request rates. Refer to Usage Plans and Rate Limits in the SP-API for more information on avoiding throttling errors.
Batch operations
The following batch operations are available for SP-API:
Refer to the May 2022 SP-API Release Announcement for more information.
Notification API
This API sends notifications instead of you having to send multiple requests to other APIs. Refer to the Notifications API v1 Use Case Guide for more information.
Rate limiter
Please refer to the Strategies to Optimize Rate Limits for Your Application Workloads blog post to learn how to implement a client side rate limiter.
Why am I getting a “Processing” message for the Transactions API Call?
Select to expand the answer.
The transaction status will be supported for following API operations:
- Acknowledge Order
- Submit Shipment Confirmations
- Submit Shipment Status Updates
- Shipping Label Request
- Inventory Feed
If transaction status is Processing
and not updated to Failure
or Success
after five minutes, that indicates transaction not successfully completed in our system. The Success
status will be there if the transaction is successful and an error code will be provided for Failure
.
You can’t use this API for Invoice
messages as they are not supported to check and status will be always Processing
.
For Shipping Label Requests, if the transaction is failed with a reason code like Internal server error
which are terminal errors, you must contact the Selling Partner API Developer Support team via the Contact Us form to get the cause investigated. This generally happens due to operational constraints.
Why am I getting an error message for the “Submit Invoices” operation call?
Select to expand the answer.
The operation parameters must be filled out correctly. Consider these points when filling out the parameters to make the API call:
- Invoice numbers must be unique and they should never be reused (even after one year).
- If an invoice sent by API has failed due to incorrect data but paper invoice has the correct data then vendor should update it through API with correct data using the same Invoice ID.
- If invoice has wrong data (both paper and API) then invoice is cancelled and new invoice should be sent with new Invoice ID.
- No invoice with total amount
0
should be sent, as this would cause the invoice to fail. - Amazon requires the full address details in the address segments for tax compliance reasons. This is especially important for the bill-to party. For this segment the Amazon Payee system requires an exact match.
- Payment terms sent in invoice should match the payment terms agreed upon with the Amazon buyer
- Item product identifier should match the order item product identifier that were sent to the vendor in matching Purchase Order. Invoice total amount should be equal to the total sum of the items, charges and allowances.
- Total of tax amount for each line level must be equal to total of tax amount at header level.
- Invoice total quantity should match the sum of the quantity of all items. Each different charges and allowance has to be itemized on the header level.
If one of these parameters are missing or filled out incorrectly, this will lead the API call to retrieve incorrect details. Make sure to provide the required information when submitting the operation.
Why am I getting a SPDC300 error?
Select to expand the answer.
This error can be caused by the use of certain HTML tags, in particular header tags <h1><h2><h3><h4>
. Remove these header tags and only use the tags that are provided in the text editor.
This error can also indicate that the account status has moved to dormant due to lack of activity. You can update your credit card information to reactivate the account. The next time you log in to Seller Central, you will be redirected the credit card update page. Your account will be reinstated approximately 48 hours after the credit card has been updated.
Why am I getting a 500 error when I make a request to get LWA Access Token in Postman?
Select to expand the answer.
If you are receiving 500 Internal Server Error, check that Content-Type header is set to application/x-www-form-urlencoded
and the request parameters are added to the body and not as query parameters.
Why am I getting a 500 error when making a request to a sandbox endpoint?
Select to expand the answer.
The SP-API sandbox works like many mocking frameworks; it uses pattern matching to return a specified response when the specified parameters are present. A developer receives a response defined in the x-amazon-spds-sandbox-behaviors
object when they send a request that matches the specified parameters.
If the request sent to the sandbox endpoint does not match the parameter values in the x-amazon-spds-sandbox-behaviors
object, you will receive a "500 Internal Server Error" in the response. You must send the request with the exact values specified in the model.
If the API requires any parameters that are not specified in the x-amazon-spds-sandbox-behaviors
object, the sandbox provides the response regardless of the parameter values in the request, as long as the request is valid.
To learn more about making a sandbox call to SP-API, refer to The Selling Partner API sandbox.
Why am I getting an MD1000 error code?
Select to expand the answer.
OAuth is the authorization process that other Sellers will initiate to authorize your application in the Appstore.
If you include the version=beta parameter
, the workflow authorizes an application in Draft state. If you do not include the parameter version=beta
, the workflow will authorize a published version of that app ID on the Appstore, otherwise will return an error code "MD1000".
Why am I getting an MD1000 error code when I initiate OAuth workflow?
Select to expand the answer.
If you have an SP-API application that is not published but the OAuth workflow points to Production workflow, this error is returned. To resolve, confirm the application is in Draft stage. If so, add version=beta
parameter to OAuth Authorization URI constructed. After the application is published, this parameter can be removed.
Why am I getting an MD5100 error code?
Select to expand the answer.
The MD5100 could be caused by the following issues:
- Errors in the OAuth authorization URL.
- Missing redirect links in the application.
- If a user tries to authorize the hybrid application in a marketplace or region that was not added in the app.
- Fragments in the URL.
Try these solutions to resolve a MD5100 error:
- Check the application status:
- If the application is in draft status, verify the URL includes version=beta.
- If the application is published, verify the URL does not include version=beta. If version=beta is included in the URL, the OAuth process is initiated for the draft state of the application instead of the published state.
- If your application is for Amazon MWS only, and you are trying to self-authorize the application, convert the application to a hybrid application by registering for SP-API. For more information, refer to Self-authorization.
- Verify you have followed all steps for Authorizing Selling Partner API applications.
- For hybrid applications, make sure you have added the MWS Developer ID for each region (NA|EU|FE) where you operate. You can add the MWS Developer ID by editing your application in Developer Central.
- Verify that your application has a Login URI and Redirect URI. You can update the Login URI and Redirect URI by editing your application in Developer Central and updating the Login URI and Redirect URI details.
- Verify the application supports the marketplace to which the developer is being authorized. In Developer Central, choose the Edit listing option for your application, and in the Pricing section, choose the marketplaces that the application should support.
If after reviewing these details the issue persist, submit a support case.
Why am I getting a SPDC8143 error code?
Select to expand the answer.
This error occurs when you are trying to authorize an application as a secondary user. To avoid this error, contact the account owner and ask them to perform this action for you.
Why am I getting an MD9000 error code?
Select to expand the answer.
This error occurs in the following scenarios:
- When you try to self-authorize an application that only has Amazon MWS credentials, or
- When you try to use a hybrid application globally but the Amazon MWS credentials are valid only for a specific region or marketplace.
Try these solutions to resolve MD9000 errors:
-
Check the application status:
- If the application is in draft status, verify that the URL includes version=beta.
- If the application is published, verify that the URL does not include version=beta. If version=beta is included in the URL, the OAuth process is initiated for the draft state of the application instead of the published state.
- If your application is for Amazon MWS only, and you are trying to self-authorize the application, convert the application to a hybrid application by registering for SP-API. For more information, refer to Self-authorization.
-
Verify you have followed all steps for Authorizing Selling Partner API applications.
-
For hybrid applications, make sure you have added the MWS Developer ID for each region (NA|EU|FE) where you operate. You can add the MWS Developer ID by editing your application in Developer Central.
-
Verify that your application has a Login URI and Redirect URI. You can update the Login URI and Redirect URI by editing your application in Developer Central and updating the Login URI and Redirect URI details.
-
Verify that the application supports the marketplace to which the developer is being authorized. In Developer Central, choose the Edit listing option for your application, and in the Pricing section, choose the marketplaces that the application should support.
If the issue persists, submit a support case.
Why am I still getting the MWS authorization page instead of SP-API consent page when I initiate OAuth workflow?
Select to expand the answer.
Check if your application is missing Login URI and Redirect URI. You can update Login URI and Redirect URI by editing the app. Navigate to Appstore > Develop Apps and choose Edit App for the app you are using to view the App registration form and update the Login URI and Redirect URI details.
Why am I receiving an error when using a SKU with special characters?
Select to expand the answer.
The SKU you're using might have special characters, like a back or forward slash (\
, /
), that require URL encoding. This can be done programmatically in several languages. Here is an example in Java:
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.io.UnsupportedEncodingException*;*
// Method to encode a SKU using the UTF-8 encoding scheme
private static String encodeSKU(String sSKU) {
try {
return URLEncoder.encode(sSKU, StandardCharsets.UTF_8.toString());
} catch (UnsupportedEncodingException ex) {
e*.*printStackTrace*();*
}
}
Refer to URL encoding for more information.
I received a 400 error, what should I do?
Select to expand the answer.
Refer to Resolving 400 errors for more information.
Need more help?
For additional support, contact Selling Partner API Developer Support. For vendor applications, submit a support case in Vendor Central by navigating to Vendor Central > Support > Contact Us > API Integration.
Updated about 2 months ago