Troubleshooting
The failures you're actually likely to hit, with the exact message you'll see, what's really going on, and the fix.
"Google rejected the Places API key."
Shown on the campaign page when a discovery run fails. It means the key is wrong, restricted to an API other than Places, or the Places API (New) product specifically isn't enabled on it — enabling the older "Places API" instead of "Places API (New)" is the most common version of this. Go to Settings → Integrations, check the key, and use Test connection to confirm before you retry discovery. See Connect Google for the exact setup steps.
"Google Places rate limit reached."
You've hit Google's own request quota for the key, not a CamoJet limit. Wait a few minutes and retry the discovery run.
"OpenRouter rejected this API key."
Shown by Test connection in Settings when the OpenRouter key is wrong or has been revoked. Generate a fresh key at OpenRouter and paste it in again.
OpenRouter is out of credits
Generation fails with a message telling you to top up your OpenRouter account. Website generation calls OpenRouter directly and is billed there at their rates — add credit to the account behind that key, then retry the failed generations.
A model becomes unavailable
Occasionally the specific model your workspace has configured stops responding on OpenRouter's side, and generation for that business fails with an OpenRouter error rather than succeeding. Pick a different model under Settings → Integrations → OpenRouter and retry.
Generation failed on a few businesses in a batch
Normal, and expected at any real volume — one model hiccup on one business never stops the rest of the batch. Each failed row gets its own Retry button, and once at least one row has failed, a Retry failed button in the batch progress panel retries all of them at once.
"Harvis deployment failed. The generated website is still available."
The site itself generated fine — only the deploy step to Harvis failed. Nothing is lost; retry the deployment and it picks up from where the generated site already is.
Discovery seems stuck
A discovery run walks up to three pages of Google results in the background — that alone can take a little while, and you can navigate away and come back without losing progress. If it's genuinely failed rather than still running, the campaign page shows the reason directly above the businesses table (one of the Google error messages above, or another concrete cause) — check there before assuming it's frozen.
Fewer than 60 businesses found
Google Places caps a single search at 60 results — three pages of twenty — so a niche with fewer than that many matching listings in that country simply won't fill the cap. Try a broader or nearby niche, or run the same niche against a different country.
Every message above is CamoJet's own copy, not a raw response body passed through from Google, OpenRouter, or Harvis — it's written to tell you what to actually do next.