Lost your key?
Reissue a lost API key with an emailed one-time code.
viralquery stores only a hash of your API key, never the key itself — so a lost key can't be re-shown, by anyone. Recovery reissues: you prove you own the account's email with a one-time code, and a new key is issued. The old key stops working the moment the new one is issued.
The code — never the key — is what lands in your inbox. The key itself is only ever delivered over HTTPS, at your terminal.
Two steps
# 1. Request a code (sent to the email you subscribed with)
viralquery recover --email you@example.com
# 2. Enter the 6-digit code from the email — issues a NEW key and saves it to ~/.viralquery/config.json
viralquery reissue --email you@example.com --code 123456Or over raw HTTP (both endpoints are public):
curl -X POST https://api.viralquery.com/v1/api_keys/recover \
-H "Content-Type: application/json" -d '{"email": "you@example.com"}'
# → { "sent": true, "message": "If an account exists for that email, a verification code has been sent." }
curl -X POST https://api.viralquery.com/v1/api_keys/reissue \
-H "Content-Type: application/json" -d '{"email": "you@example.com", "code": "123456"}'
# → { "status": "completed", "apiKey": "sk_viralquery_..." } (shown once — save it)Rules
- Codes expire in 10 minutes and work once. Requesting a new code invalidates the old one.
- Requests are rate-limited per email (a handful of codes per hour; a bounded number of attempts).
- The response to
recoveris the same whether or not the email has an account. - Reissuing rotates the key: update every place the old key was configured.
- Your email is the one from your Stripe checkout. If you subscribed through an agent and don't know the email on file, it's the one on your Stripe receipt.