# Common Issues

## Connection issues

<details>

<summary>My API key is rejected and the connection fails</summary>

Double-check that you copied the full API key from **Settings → API** in Canny — it's easy to accidentally include a trailing space. Also confirm that the API key belongs to an admin account, since restricted users may not have API access. If the key still doesn't work, try regenerating it in Canny and entering the new one in Coupler.io.

</details>

<details>

<summary>The data flow saves but returns no data</summary>

This usually means the entity you selected is empty in your Canny workspace. For example, if you select **Tags** but haven't created any tags in Canny, the result will be blank. Try switching to **Posts** or **Votes** to confirm the connection is working, then revisit the original entity.

</details>

## Missing data

<details>

<summary>Some posts are missing from my export</summary>

Canny's API may not return posts from private boards if your API key doesn't have access to them. Also check whether any posts have been archived — archived posts are excluded from the default API response. If you're missing older posts, Canny's API paginates results, and very large boards may require multiple syncs to fully load.

</details>

<details>

<summary>The monthly_spend field is empty for all companies</summary>

The `monthly_spend` field on the Companies entity is only populated if you explicitly pass that value to Canny via their API, Segment integration, or a CRM sync. If you haven't configured that data pipeline on the Canny side, the field will be blank in every export.

</details>

<details>

<summary>Status changes are missing for some posts</summary>

Canny only logs status changes that occurred after a certain point in your account's history. If a post was created and moved through statuses before Canny began tracking that history for your plan, those earlier transitions won't appear in the **Status changes** entity.

</details>

## Permission errors

<details>

<summary>I get a 401 or 403 error when running the data flow</summary>

A 401 error means the API key is invalid or expired. A 403 error usually means the key belongs to a user without admin permissions. In Canny, API access is typically limited to workspace admins — ask your Canny admin to generate a key or grant you the appropriate role.

</details>

## Data discrepancies

<details>

<summary>Vote counts in my export don't match what I see in the Canny UI</summary>

Canny sometimes deduplicates or filters votes from the same user across multiple accounts. The number shown in the Canny dashboard may reflect this deduplication, while the raw **Votes** entity in Coupler.io returns individual vote records. Join the **Votes** entity with **Users** to identify duplicate voter accounts if needed.

</details>

<details>

<summary>The score field doesn't match my expected ranking order</summary>

Canny's `score` is a weighted metric that accounts for vote recency and voter influence — it's not a simple vote count. A post with fewer votes but more recent activity can outscore an older post with more total votes. Use `vote_count` directly if you want a raw ranking.

</details>

## Rate limits

<details>

<summary>My data flow fails with a rate limit error</summary>

Canny's API enforces rate limits that vary by plan. If you're exporting many entities or very large boards, you may hit these limits during a single run. Try splitting your data flow into separate flows per entity, or reduce the frequency of scheduled runs. Coupler.io will surface the rate limit error in the run log so you can identify which entity triggered it.

</details>
