Error codes
HTTP 200 with errCode = 0 means business success. The errCode values below come from the Go Error.go constants (identical to the errCode in response JSON).
Retries: only 920xxx and clearly recoverable cases such as 720404 (token expired) are worth retrying; for other codes fix the request parameters or business state first. See outbound retry rules.
801034 = no extended-warranty items, nothing to insure. 801035 (“warranty cancellation not supported”) is an unused constant. The current policy is that both shipping protection and extended warranty can be cancelled only before shipment, via CancelServiceOrder; for exceptional post-shipment needs contact the product and business teams.
Token and auth (720xxx)
Section titled “Token and auth (720xxx)”| Code | Description | Retryable | Common endpoints |
|---|---|---|---|
| 720401 | Failed to obtain token | Case by case | Request an access token |
| 720402 | Failed to verify token | No | Outbound endpoints requiring Bearer |
| 720404 | Token expired | Yes | Re-request a token |
| 720405 | Failed to refresh token | Case by case | Request token |
| 720406 | Failed to generate appSecret (legacy server message reads “appSecrect”) | No | Request token |
| 720407 | Invalid appId parameter / failed to generate app | No | Request token |
| 720408 | App not found | No | Request token; check the AppAuth |
Business errors (801xxx)
Section titled “Business errors (801xxx)”| Code | Description | Retryable | Common endpoints |
|---|---|---|---|
| 801001 | Currency error | No | Quote, sync order, cancellation — anything with currency |
| 801002 | Unsupported storefront platform | No | Sync platform order |
| 801003 | Data comparison mismatch | No | Sync endpoints |
| 801004 | ID mismatch | No | Sync, cancellation |
| 801005 | Shipment data already exists; cannot cancel (only orders without synced shipments can be cancelled) | No | Cancel coverage (service order) |
| 801011 | Quote record not found | No | Sync platform order (referencing a quote) |
| 801012 | Quote ownership mismatch | No | Sync platform order |
| 801013 | Quote error | No | Cart quote |
| 801014 | Failed to parse an amount | No | Quote / sync / cancellation with amount fields |
| 801015 | Already insured; no need to insure again | No | Sync platform order |
| 801016 | Already cancelled; cannot insure again | No | Sync platform order |
| 801017 | Already paid; no need to pay again | No | Sync platform order |
| 801018 | Refund failed; cancellation failed | Case by case | Cancel coverage |
| 801021 | Risk-control record not found | No | Quote, sync order |
| 801022 | No shipping-protection item; nothing to insure | No | Sync platform order |
| 801023 | No shipment information | No | Sync shipment, claims |
| 801024 | Shipment synced but order unpaid; becomes pending-underwriting after payment | No | Sync shipment |
| 801025 | No underwriting action needed | No | Sync platform order |
| 801026 | Empty rate; cannot complete the quote | No | Cart quote |
| 801027 | Shipping-protection price exceeds the maximum coverage | No | Quote, sync order |
| 801028 | Shipping-protection price is at or below the minimum coverage | No | Quote, sync order |
| 801029 | Shipping-protection premium is 0; possibly no insurable item | No | Quote, sync order |
| 801030 | shop auth not found | No | Auth-related outbound endpoints |
| 801031 | Failed to get the shipping-protection service switch | Case by case | Quote |
| 801032 | Shipping-protection service is not enabled | No | Quote, sync order |
| 801033 | Shipping protection: order created before app installation | No | Sync platform order |
| 801034 | No extended-warranty item; nothing to insure | No | Sync platform order |
| 801035 | Warranty cancellation not supported | — | Unused constant; should not appear in production |
| 801036 | Refund record already exists | No | Cancel coverage |
Retryable errors (920xxx)
Section titled “Retryable errors (920xxx)”These codes indicate transient failures or concurrency conflicts; retrying with exponential backoff is recommended (a retry still requires HTTP 200 and an errCode check):
| Code | Description | Retryable | Common endpoints |
|---|---|---|---|
| 920000 | Network connection timed out | Yes | All outbound |
| 920001 | Connection refused | Yes | All outbound |
| 920002 | Connection reset | Yes | All outbound |
| 920003 | Connection aborted | Yes | All outbound |
| 920004 | DNS resolution failed | Yes | All outbound |
| 920005 | TLS handshake failed | Yes | All outbound |
| 920020 | Service busy | Yes | All outbound |
| 920021 | Rate limited | Yes (slow down) | All outbound |
| 920022 | Temporarily out of resources | Yes | All outbound |
| 920023 | Internal server error | Yes | All outbound |
| 920024 | Service temporarily unavailable | Yes | All outbound |
| 920025 | Gateway timeout | Yes | All outbound |
| 920026 | System under maintenance | Yes | All outbound |
| 920040 | Data modified (optimistic lock) | Yes | All outbound |
| 920041 | Resource locked | Yes | All outbound |
| 920042 | Transaction conflict | Yes | All outbound |
| 920043 | Deadlock detected | Yes | All outbound |
| 920060 | Database connection failed | Yes | All outbound |
| 920061 | Redis connection failed | Yes | All outbound |
| 920062 | Message-queue connection failed | Yes | All outbound |
| 920063 | Object-storage connection failed | Yes | All outbound |
| 920064 | Third-party service timeout | Yes | All outbound |
| 920065 | Third-party service transient error | Yes | All outbound |
| 920080 | Data synchronization in progress | Yes | All outbound |
| 920081 | Cache stale | Yes | All outbound |
| 920082 | Version conflict | Yes | All outbound |
Delay auto-compensation error codes (design draft)
Section titled “Delay auto-compensation error codes (design draft)”| Code | Description | Retryable | Common endpoints |
|---|---|---|---|
| 801046 | Grant already confirmed for this claim; do not confirm twice | No | Grant confirmation |
| 801047 | Claim state does not allow grant confirmation (not pending-grant) | No | Grant confirmation |
| 801048 | Grant-instruction callback URL not configured; points / gift card unavailable | No | Grant instruction callback |