Variable: ErrorCodes
constErrorCodes:object
Type Declaration
ABORTED
readonlyABORTED:"ABORTED"='ABORTED'
The caller cancelled the request via its AbortSignal — distinct from TIMEOUT
(the SDK's own deadline). A cancelled request is never retried.
GRAPHQL_ERROR
readonlyGRAPHQL_ERROR:"GRAPHQL_ERROR"='GRAPHQL_ERROR'
HTTP_ERROR
readonlyHTTP_ERROR:"HTTP_ERROR"='HTTP_ERROR'
NETWORK_ERROR
readonlyNETWORK_ERROR:"NETWORK_ERROR"='NETWORK_ERROR'
NO_DATA
readonlyNO_DATA:"NO_DATA"='NO_DATA'
NON_JSON_RESPONSE
readonlyNON_JSON_RESPONSE:"NON_JSON_RESPONSE"='NON_JSON_RESPONSE'
The response body could not be parsed as JSON — most commonly an HTML page substituted
by a proxy, a WAF challenge, or an edge block (e.g. Cloudflare) in front of the GraphQL
endpoint, rather than an actual GraphQL response. Carries the real HTTP status (this is
NOT a network failure — a response was received). See NonJsonResponseDiagnostics
for the shape carried in cause. retryMiddleware does not retry this error when
status < 500 (a deterministic block/challenge — retrying would hit the same page again);
a status >= 500 non-JSON body (e.g. an nginx/load-balancer HTML error page) is treated
as transient and retried like any other 5xx.
RATE_LIMITED
readonlyRATE_LIMITED:"RATE_LIMITED"='RATE_LIMITED'
The request was rate-limited (HTTP 429). Transient: the same request may succeed after the limit window passes — callers MUST treat it as retryable and MUST NOT tear down the session on it (e.g. a refresh rate-limit is not a logout).
SESSION_EXPIRED
readonlySESSION_EXPIRED:"SESSION_EXPIRED"='SESSION_EXPIRED'
The customer session expired and could not be renewed (proactive refresh failed on tab wake, or a reactive refresh after a 401 also failed). Surfaced to the consumer so the storefront can prompt re-authentication.
TIMEOUT
readonlyTIMEOUT:"TIMEOUT"='TIMEOUT'
USER_ERROR
readonlyUSER_ERROR:"USER_ERROR"='USER_ERROR'