A clear way forward.
Understand errors, retry intentionally, and keep your integration predictable.
Pre-launch documentation. HexSolver is under development. Check Service status and confirm access with support before sending live requests.
Task API error format.
A successful task API response has errorId: 0. A nonzero errorId means the operation failed. Check errorCode before deciding to retry; never retry configuration or authentication failures in a tight loop.
{ "errorId": 1, "errorCode": "ERROR_INSUFFICIENT_BALANCE", "errorDescription": "Your available balance is too low for this task."}Error reference.
| Code | What to do |
|---|---|
ERROR_KEY_DOES_NOT_EXIST | Check the key and whether it has been revoked. |
ERROR_INSUFFICIENT_BALANCE | Check Billing for deposit options or contact support. |
ERROR_TASK_NOT_SUPPORTED | Use one of the documented task types. |
DOMAIN_NOT_ALLOWED | Contact support to approve your authorized target hostname. |
SERVICE_NOT_CONFIGURED | Check Service status and contact support before retrying. |
ERROR_TASK_NOT_FOUND | Check task ID, ownership, and expiration. |
ERROR_TASK_SOLVE_FAILED | Inspect the request. Failed tasks are not charged. |
ERROR_TASK_EXPIRED | Create a new task after reviewing the previous request. |
RATE_LIMITED | Reduce traffic and retry after the indicated delay. |
SERVICE_UNAVAILABLE | Retry with exponential backoff and check service status. |
Retry without duplicating work.
Task creation supports optional Idempotency-Key retry keys. Persist one key for a logical task and send it with an identical body on each retry. Reusing it with different input returns IDEMPOTENCY_CONFLICT. Requests without a key are separate tasks; inspect history after an ambiguous timeout.
Result polling is safe to repeat. Use a bounded loop with at least two seconds between polls. When rate-limited, wait for Retry-After. The default limit is 120 task API calls per account per minute and 25 concurrent processing tasks. Unfinished reservations expire after ten minutes and are reconciled by the background worker, as well as on account/task activity.
EMAIL_NOT_VERIFIED requires confirming your mailbox. ACCOUNT_ON_HOLD means a billing review is pending. CONCURRENCY_LIMIT means you should wait for existing tasks. These errors never create a new charge.