Authentication
Every request to the Solver API authenticates with a single clientKey passed in the JSON body. There are no headers, tokens, or sessions to manage.
The clientKey
Your clientKey is a string that starts with capzy_. Create it in the dashboard under API keys, then copy it into your integration. Treat it like a password: it authorizes solves that draw from your balance, so keep it server-side and out of client code.
Passing the key
Include clientKey as a top-level field in the JSON body of every call, alongside the request-specific fields. It is never sent as a header or query parameter.
{
"clientKey": "capzy_YOUR_KEY",
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": "https://example.com",
"websiteKey": "0x4AAAAAAA..."
}
}clientKey works across all Capzy products, not just the Solver API. You do not need a separate credential per API. Create it once and reuse it.Personal vs. organization keys
A personal key draws from your personal account balance. If you belong to a corporate or organization workspace, keys created inside that workspace draw from the organization balance instead. Which balance is billed follows the key, so pick the key that matches the account you want to charge. You can hold both kinds at once.
Checking your balance
Call /getBalance with just your key to read the current balance for whichever account that key belongs to.
curl -s https://api.capzy.ai/getBalance \
-H 'Content-Type: application/json' \
-d '{ "clientKey": "capzy_YOUR_KEY" }'
# -> { "errorId": 0, "balance": 9.50 }The balance field is the remaining amount in your account currency. When it reaches zero, /createTask returns ERROR_ZERO_BALANCE until you top up.
Authentication errors
ERROR_KEY_DOES_NOT_EXISTmeans theclientKeywas not recognized. Check for a copy-paste error or a stray whitespace, and confirm the key is still active in the dashboard.ERROR_IP_BLOCKEDmeans requests from your source IP are blocked. If you have configured an IP allowlist for the key,ERROR_IP_NOT_ALLOWEDmeans the calling IP is not on that list.
See Errors for the full list of codes, and Creating a task to build your first request.