> 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/project-management/canny/common-issues.md).

# 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>


---

# 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/project-management/canny/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.
