# Common Shopify Errors and Solutions

Here is a list of common Shopify errors and common solutions. If you have any questions, please don't hesitate to contact MESA support.

## 400 Bad Request

The request was not understood by the server, generally due to bad syntax or because the `Content-Type` header was not correctly set to `application/json`. This status is also returned when the request provides an invalid `code` parameter during the [OAuth](https://shopify.dev/apps/auth/oauth) token exchange process.

## 401 Unauthorized

The necessary [authentication connections](https://shopify.dev/apps/auth) are not present in the request or are incorrect.  
**Solution**: [Double-check your connection](https://docs.getmesa.com/connect/shopify#connect) and replay the automation.

## 402 Payment Required

The requested shop is currently frozen. The shop owner needs to log in to the shop's admin and pay the outstanding balance to unfreeze the shop.

## 403 Forbidden

The server is refusing to respond to the request. This is generally because you have not [requested the appropriate scope](https://shopify.dev/apps/auth/oauth#3-ask-for-permission) for this action.  
**Solution**: [Double-check your connection](https://docs.getmesa.com/connect/shopify#connect) and replay the automation.

## 404 Not Found

The requested resource was not found but could be available again in the future.  
**Solution**: Verify that the ID you are passing is correct and exists.

## 406 Not Acceptable

The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.

## 422 Un-processable Entity

The request body was well-formed but contains semantic errors. A `422` error code can be returned from a variety of scenarios including, but not limited to:

- Incorrectly formatted input
- Checking out products that are out of stock
- Canceling an order that has fulfillments
- Creating an order with tax lines on both line items and the order
- Creating a customer without an email or name
- Creating a product without a title

The response body provides details in the `errors` or `error` parameters.  
**Solution**: Check that your configuration is correct and replay the automation.

## 423 Locked

The requested shop is currently locked. Shops are locked if they repeatedly exceed their API request limit, or if there is an issue with the account, such as a detected compromise or fraud risk. [Contact Shopify support](https://help.shopify.com/en/questions#/contact) if your shop is locked.

## 429 Too Many Requests

The request was not accepted because the application has exceeded the rate limit. Learn more about [Shopify’s API rate limits](https://shopify.dev/api/usage/rate-limits).  
**Solution**: [Try using a Shopify Custom App MESA connection](https://docs.getmesa.com/connect/shopify#connect) or replay the automation when there is less activity on your store.

## 500 Internal Server Error

An internal error occurred in Shopify. Please post in the [Shopify APIs and SDKs forum](https://community.shopify.com/c/Shopify-APIs-SDKs/bd-p/shopify-apis-and-technology) so that Shopify staff can investigate.  
**Solution**: Please replay your automation or contact Shopify for their staff to investigate.

## 501 Not Implemented

The requested endpoint is not available on that particular shop, e.g. requesting access to a Shopify Plus–only API on a non-Plus shop. This response may also indicate that this endpoint is reserved for future use.  
**Solution**: [Try using a Shopify Custom App MESA connection that has access to Plus-only APIs.](https://docs.getmesa.com/connect/shopify#connect)

## 503 Service Unavailable

The server is currently unavailable. Check the [Shopify status page](https://www.shopifystatus.com/) for reported service outages.  
**Solution**: Replay this automation.

## 504 Gateway Timeout

The request could not complete in time. Shopify waits up to 10 seconds for a response. Try breaking it down into multiple smaller requests.  
**Solution**: Try restructuring your MESA workflow to break it down into smaller parts. Reach out to MESA support if you have any questions.
