> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/marketing/chameleon/common-issues.md).

# Common Issues

## Connection issues

<details>

<summary>Invalid API key error on first run</summary>

Double-check that you're using the **Account Secret** from Chameleon, not a public key or token. Find it under **Settings → Integrations → API** in your Chameleon dashboard. Make sure there are no extra spaces when pasting the key into Coupler.io.

</details>

<details>

<summary>Data flow runs but returns zero records</summary>

This usually means your **start date** is set too far in the future, or the selected entity has no data yet. Check that the start date is earlier than your oldest Chameleon records. Also confirm the entity you selected actually has data in your Chameleon account — for example, if you haven't run any surveys, Survey responses will be empty.

</details>

## Missing data

<details>

<summary>Survey responses are missing the finished_at field</summary>

Chameleon only populates `finished_at` when a user completes the full survey. Partial or abandoned responses will have a null value for this field. This is expected behavior — filter on `finished_at IS NOT NULL` if you only want completed responses.

</details>

<details>

<summary>Only 50 records are returned per sync</summary>

The default record limit is 50 per page. If you have more records, increase the **Record limit** parameter in the source settings. Set it to a higher value to retrieve larger result sets per page.

</details>

<details>

<summary>Changes entity shows fewer records than expected</summary>

The Changes entity reflects edits made within the date range you've set. If your start date doesn't reach back far enough, older change records won't appear. Adjust the start date using the date picker to extend your sync window.

</details>

## Permission errors

<details>

<summary>API key works but certain entities return a 403 error</summary>

Some Chameleon plans restrict API access to specific entities. Check your Chameleon plan to confirm that API access is enabled and that your account has permission to read the entity you're trying to sync. Contact Chameleon support if you believe access should be available.

</details>

## Data discrepancies

<details>

<summary>Record counts in Coupler.io don't match what I see in Chameleon's dashboard</summary>

Chameleon's dashboard often applies its own filters (e.g., active experiences only, date-scoped views). Coupler.io returns raw API data without those filters applied. Check whether your Chameleon dashboard is filtering by status or date range that differs from your Coupler.io sync window.

</details>

## Rate limits

<details>

<summary>Sync fails partway through with a rate limit error</summary>

Chameleon enforces API rate limits that can interrupt large syncs. Try reducing the **Record limit** parameter to a lower value so each page request is smaller. If you're syncing multiple entities in one data flow, consider splitting them into separate data flows to spread out API calls.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/marketing/chameleon/common-issues.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
