Shopify API response status and error codes

When Shopify receives a request to an API endpoint, a number of different HTTP status codes can be returned in the response depending on the original request.

200 OK
The request was successfully processed by Shopify.
201 Created
The request has been fulfilled and a new resource has been created.
202 Accepted
The request has been accepted, but not yet processed.
303 See Other
The response to the request can be found under a different URL in the Location header and can be retrieved using a GET method on that resource.
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 token exchange process.

401 Unauthorized
The necessary authentication credentials are not present in the request or are incorrect.
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 for this action.
404 Not Found
The requested resource was not found but could be available again in the future.
406 Not Acceptable
The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.
422 Unprocessable 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.
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 support 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.
500 Internal Server Error
An internal error occurred in Shopify. Please post in the Shopify APIs and SDKs forum so that Shopify staff can 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.
503 Service Unavailable
The server is currently unavailable. Check the Shopify status page for reported service outages.
504 Gateway Timeout
The request could not complete in time. Shopify waits up to 10 seconds for a response. Try breaking it down in multiple smaller requests.