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.
204 No Content
The request has been accepted, but no content will be returned. For example, a client might use an update operation to save a document temporarily, and not refresh to a new page.
205 Reset Content
The request has been accepted, but no content will be returned. The client must reset the document from which the original request was sent. For example, if a user fills out a form and submits it, then the 205 code means that the server is making a request to the browser to clear the form.
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 wasn't understood by the server, generally due to bad syntax or because the Content-Type header wasn't correctly set to application/json.

This status is also returned when a token exchange request includes an expired or otherwise invalid session token.

This status is also returned when the request provides an invalid code parameter during authorization code grant.

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 status is generally returned if you haven't requested the appropriate scope for this action.
404 Not Found
The requested resource was not found but could be available again in the future.
405 Method Not Allowed
The server recognizes the request but rejects the specific HTTP method. This status is generally returned when a client-side error occurs.
406 Not Acceptable
The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.
409 Resource Conflict
The requested resource couldn't be processed because of conflict in the request. For example, the requested resource might not be in an expected state, or processing the request would create a conflict within the resource.
414 URI Too Long
The server is refusing to accept the request because the Uniform Resource Identifier (URI) provided was too long.
415 Unsupported Media Type
The server is refusing to accept the request because the payload format is in an unsupported format.
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.
430 Shopify Security Rejection
The request was not accepted because the request might be malicious, and Shopify has responded by rejecting it to protect the app from any possible attacks.
500 Internal Server Error
An internal error occurred in Shopify. Simplify or retry your request. If the issue persists, then please record any error codes, timestamps and contact Partner Support 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.
502 Bad Gateway
The server, while acting as a gateway or proxy, received an invalid response from the upstream server. A 502 error isn't typically something you can fix. It usually requires a fix on the web server or the proxies that you're trying to get access through.
503 Service Unavailable
The server is currently unavailable. Check the Shopify status page for reported service outages.
504 Gateway Timeout
The request couldn't complete in time. Shopify waits up to 10 seconds for a response. Try breaking it down in multiple smaller requests.
530 Origin DNS Error
Cloudflare can't resolve the requested DNS record. Check the Shopify status page for reported service outages.
540 Temporarily Disabled
The requested endpoint isn't currently available. It has been temporarily disabled, and will be back online shortly.
783 Unexpected Token
The request includes a JSON syntax error, so the API code is failing to convert some of the data that the server returned.