Error Codes
The code field in OpenAPI responses is the error code. Non-0 values are described in the table below; when a call fails, the error details can be retrieved from the msg field.
Error codes are grouped by business module. See each module below for details.
1. Common Error Codes
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1002003003 | User not found | Login state / admin user validation |
1002002000 | User group not found | Admin role validation |
1001003002 | File is empty | Empty file uploaded for avatar / verification materials |
400 | Invalid request parameter | General parameter validation failure |
2. Cloud Host and Application Services
2.1 Account / User / Customer
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004001000 | Account not found | Invalid account ID / phone number (zw customer account) |
1004003000 | Customer not found | Invalid customer ID |
1004003002 | Enterprise customer not found | Enterprise customer query |
1004001006 | Account expired | Account validity period has ended |
1004001003 | Account disabled | Account is in disabled status |
1004009100 | Insufficient permissions / Department not found | Distinguish based on the actual message |
1004004065 | Abnormal account | Abnormal account status, e.g. arrears, disabled, frozen |
2.2 Cloud Phone / Container Basics
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004004000 | Cloud phone does not exist: | Invalid / deleted cloud phone ID |
1004004001 | Cloud phone purchase not paid | Operation on a cloud phone with an unpaid purchase |
1004004002 | Incorrect cloud phone ID | Cloud phone ID format validation |
1004004003 | Incorrect cloud phone alias | Alias format / length validation |
1004004004 | Incorrect cloud phone base request path | WebSocket / remote connection base address |
1004004005 | Cloud phone parameter error: | Operation parameter validation |
1004004006 | Operation: {0} failed, connection error | Cloud phone underlying service connection exception |
1004004008 | Parameter error: | General parameter validation failure |
1004004022 | Cloud phone expired. Please renew | Cloud phone authorization period has ended |
1004004023 | Insufficient cloud phone authorization time | Prerequisite validation for renewal / operations |
1004004024 | Operation not allowed on an authorized cloud phone | Operation restriction in authorized state |
1004004030 | Authorized target cannot be the user themselves | Authorization target validation |
1004004051 | No permission | Cloud phone operation authorization failure |
1004004052 | Authorized resource not found | Authorization ID does not exist |
1004004053 | — (no i18n) | Inconsistent Android versions of cloud phones in batch operations |
1004004054 | Android version does not support this app / Operation too frequent. Please try again in {0} seconds | The former contains no placeholder; the latter contains a time placeholder |
1004004055 | Cloud phone alias parameter cannot be empty | Alias is required when creating / modifying a cloud phone alias |
1004004056 | No permission | General authorization failure |
1004004057 | Incorrect expiration time | Invalid renewal days parameter |
1004004058 | Cloud phone does not exist or no permission | Access to cross-tenant / deleted resources |
1004004065 | Abnormal account | Abnormal account status, e.g. arrears, disabled |
1004004066 | Unauthorized | Missing PAPI signature / Token authentication |
1004009507 | — (no i18n) | Invalid cloud storage ID for file upload |
1004004008 | Parameter error: | General parameter validation failure; see the message placeholder for details |
1004004000 | Cloud phone does not exist: | Invalid / deleted cloud phone ID or cross-tenant access |
1004004058 | Cloud phone does not exist or no permission | Cross-tenant access, deleted resources, or insufficient permissions |
1004004022 | Cloud phone expired. Please renew | Cloud phone authorization period has ended |
2.3 ADB Remote Debugging
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004004059 | Failed to obtain ADB account | Failed to enable ADB remote invocation |
1004004060 | Failed to disable ADB | Failed to disable ADB remote invocation |
1004004061 | Switch not enabled | Account-level openAdb switch not enabled |
1004004062 | ADB not enabled or expired | Instance-level ADB status / Redis key validation |
1004004063 | ADB expired | ADB authorization time exceeded |
1004004064 | Failed to extend ADB expiration time | ADB renewal operation failed |
1004004059 | Failed to obtain ADB account | Underlying cloud vendor callback failure when enabling ADB |
1004004061 | Switch not enabled | Account-level openAdb switch not enabled |
1004004062 | ADB not enabled or expired | Instance-level ADB Redis key does not exist or its TTL has reached zero |
1004004063 | ADB expired | ADB authorization time exceeded; the renewal interface must be called |
1004004054 | Operation too frequent. Please try again in {0} seconds | ⚠️ Shares the same error code with "Android version not supported"; the message carries a time placeholder in rate-limiting scenarios |
2.4 App Marketplace
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004009700 | None | Invalid app ID |
1004009702 | None | App category tag does not exist |
1007000003 | None | Marketplace pre-installed apps cannot be deleted |
1002004007 | None | Number of pre-installed apps has reached the limit |
1007000001 | None | APK / IPA upload failed |
1007000002 | None | Remote installation failed |
2.5 API Signature Authentication
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004080002 | None | PAPI request signature validation failed (HMAC / RSA error) |
1004080002 | — | PAPI request signature validation failed. Most common causes: incorrect key, timestamp drift, or incorrect signature string order |
1004080003 | — | Invalid signature timestamp |
1004004056 | No permission | General authorization failure; check menu permissions and team roles first |
1004004066 | Unauthorized | Missing Token; PAPI signature authentication failed |
2.6 File Upload / OSS
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004030000 | None | Local / OSS upload failed |
1004030003 | None | Downloaded file does not exist |
1004101000 | None | File cluster mapping missing |
1004101001 | None | File object not found |
1001003002 | File is empty | Empty file uploaded for avatar / verification / profile materials |
1001003002 | File is empty | File size is 0 when uploading avatar / verification materials / QR code |
1004030000 | — | File upload failed (local / OSS / cloud storage exception) |
2.7 Subtask / Work Order / Log
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004110000 | None | Invalid subtask ID |
1004009901 | None | Invalid work order ID |
1004040001 | None | Invalid operation log / access log ID |
2.8 IP Proxy (PAPI SetProxy)
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004103090 | None | The proxy IP bound to the order does not exist |
2.9 Cloud Phone Sharing
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1004092000 | None | Sharing record does not exist |
1004092001 | None | Duplicate creation of a sharing record |
1004092002 | None | Sharing link expired |
3. Payment Module (Payment / Order / Product)
3.1 Order-related
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1007009000 | Order not found | Invalid order number when querying / cancelling an order |
1007009001 | Failed to create order | Third-party payment order creation failed (Alipay / WeChat Pay / Cryptomus, etc.) |
1007009002 | Order split does not exist | Sub-order query |
1007009003 | Insufficient order inventory | SKU inventory exhausted at order placement |
1007009004 | Insufficient gift inventory | Gift inventory exhausted |
1007009005 | Order detail does not exist | Order detail query |
1007009006 | Order cannot be cancelled | Order status is not in a cancellable state, such as pending payment / pending shipment |
1007009007 | Insufficient wallet balance | Insufficient balance for wallet deduction |
1007009008 | Package does not exist | Invalid package ID |
1007009009 | Duplicate order submission | Idempotency validation intercepts duplicate requests |
1007009010 | Payment service provider information does not exist | Incorrect service provider ID |
1007009011 | Selling price cannot be lower than the SKU price | Custom selling price validation |
1007009012 | SKU-adapted app does not exist | Missing SKU-app mapping |
1007009013 | Payment configuration does not exist | Missing payment method configuration |
1007009014 | Cloud drive expired. Cannot renew | The record has expired when renewing the cloud drive |
1007009020 | Payment region does not exist | Invalid region parameter |
1007009021 | Platform package cannot be modified / Package not from this site cannot be modified | Both scenarios share the same number |
1007009022 | Payment amount is below the minimum payment amount | Minimum payment amount validation for channels such as Cryptomus |
1007009030 | Order does not belong to the current user | Cross-user order access |
1007009031 | Order already paid | Duplicate payment interception |
1007009032 | Order expired | Order exceeds the payment validity period |
1007009033 | Order parameter error | Order placement parameter validation failure |
1007009034 | Custom SKU requires the machine model sid | Custom SKU missing the machine model SID |
1007009000 | Order not found | Invalid order number or order has been cleaned up |
1007009001 | Failed to create order | Order placement exception via third-party payment channels (Alipay / WeChat Pay / Cryptomus, etc.) |
1007009003 | Insufficient order inventory | SKU inventory sold out at order placement |
1007009007 | Insufficient wallet balance | Insufficient account balance for wallet payment |
1007009009 | Duplicate order submission | Idempotency validation interception; repeated clicks within a short period |
1007009031 | Order already paid | Duplicate payment initiation interception |
1007009032 | Order expired | Order exceeds the payment validity period (usually 15–30 minutes) |
1007007000 | Product specification does not exist | Invalid or delisted SKU ID |
3.2 Product / SKU / Discount-related
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1007006008 | Product does not exist / Product delisted / Product listed | Determine based on the business context |
1007006009 | Different SKUs in the same batch of cloud phones | SKU consistency validation for batch operations |
1007007000 | Product specification does not exist | Invalid SKU ID |
1007007001 | Product gift rule does not exist | Missing gift configuration |
1007007002 | Product discount rule does not exist | Invalid discount rule ID |
1007007003 | Order payment record does not exist | Payment record query |
1007007004 | A package exists under the product specification; cannot delete | SKU deletion constraint |
1007007005 | A specification exists under the product; cannot delete | Product deletion constraint |
1007007009 | Product specification not listed; package cannot be listed | Prerequisite validation for listing |
3.3 Payment Channel / App / Merchant
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1007000000 | App does not exist | Invalid app ID |
1007001000 | Payment channel configuration does not exist | Channel query |
1007001001 | Payment channel disabled | Channel not enabled |
1007001003 | Payment channel does not exist | Invalid channel ID |
1007001014 | Payment method does not exist | Invalid payment method parameter |
1007004000 | Payment merchant information does not exist | Invalid merchant ID |
1007006000 | Refund amount exceeds the order's refundable amount | Refund amount validation |
1007006001 | Order already fully refunded | Duplicate refund interception |
1007006004 | Refund order does not exist | Refund order query |
1007002000 | Payment order does not exist | Payment main order query |
1007002001 | Payment order is not in pending payment status | Payment status validation |
1007002002 | Payment order is not in paid status | Prerequisite validation for refund |
1007002003 | Payment order user is incorrect | Cross-user access |
3.4 Wallet-related
| Error Code | Error Message | Trigger Scenario |
|---|---|---|
1007100001 | Invalid wallet request parameters | Wallet API parameter validation failed |
1007100003 | Invalid amount | Recharge/payment amount validation failed |
1007100004 | Insufficient wallet balance | Balance not enough for wallet payment or debit |
1007100005 | Wallet account unavailable | Abnormal wallet status |
1007100008 | Conflict with an existing order or fund operation | Duplicate fund operations |
1007100016 | Currency not enabled for the current standalone site | Currency configuration validation |
1007100017 | Recharge amount out of allowed range | Recharge amount limit validation |
1007100018 | Recharge payment channel unavailable | Recharge channel not enabled |
1007100031 | Invalid query time range or exceeding 90 days | Transaction/task page time range validation |
1007100034 | Resource does not support auto-renewal | Resources such as dynamic IPs that do not support auto-renewal |
1007100035 | Renewal package invalid or mismatched | Renewal package validation |
1007100036 | Payer does not have renewal permission | Renewal permission validation |
1007100037 | Renewal resource does not exist or ownership changed | Renewal resource validation |
1007100040 | Payment result pending confirmation | Keep the original order number and query; do not place a new order immediately |
1007100041 | Order payment in progress | Query the original order before further operations |
1007100042 | Current order cannot be paid | Order status validation |
