> ## Documentation Index
> Fetch the complete documentation index at: https://impossible.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Connection issues

> Troubleshoot API key, Test Connection, and builder authentication errors.

# Connection issues

Use this guide when Test Connection fails or the builder shows authentication errors.

## "Set API key in Impossible Settings"

**Cause:** Settings are incomplete or Test Connection has not succeeded.

**Fix:**

1. Go to **Impossible → Settings**
2. Paste your **API Key** (from the web app Dashboard → API Keys)
3. Click **Test Connection** and wait for "Connection successful"
4. Save settings

## "Invalid or revoked API key"

**Cause:** The API key is wrong, was revoked, or never completed validation.

**Fix:**

1. Go to the [Impossible web app](https://impossible.sh) → **Dashboard → API Keys**
2. Generate a new key
3. Copy the key (it is shown only once)
4. In WordPress, go to **Impossible → Settings**
5. Paste the new key and click **Test Connection**
6. Save

## Test Connection fails (401)

**Cause:** Key may be revoked, incorrect, or the web app cannot validate it.

**Fix:**

* Generate a new API key in the web app
* Ensure you pasted the full key (no extra spaces)
* Check that the web app and orchestrator are running (for self-hosted setups)

## Test Connection fails (network)

**Cause:** The orchestrator is not reachable from your WordPress server.

**Fix:**

* For production: ensure your WordPress server can reach `https://api.impossible.sh` (check firewall, proxy)
* For local dev: if using ngrok, ensure **Site URL Override** is set to your tunnel URL
* If using a reverse proxy, ensure the site URL in WordPress matches what the orchestrator expects

## Builder loads but prompts fail (401)

**Cause:** The plugin has not stored the site secret. This can happen after a new install or if Test Connection was never run successfully.

**Fix:**

1. Go to **Impossible → Settings**
2. Click **Test Connection** again
3. Wait for "Connection successful"
4. Save
5. Refresh the builder and try a prompt again

If you use a reverse proxy or custom domain, ensure the WordPress site URL matches what the orchestrator expects.

## Production security

* Do **not** set `WPA_DEV_MODE` in `wp-config.php` in production
* Use Test Connection so the plugin uses proper authentication for all requests
* Keep your API key private

<Note>
  For local development only, you can add `define('WPA_DEV_MODE', true);` to `wp-config.php` to skip authentication during testing. Never use this in production.
</Note>
