> 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/other/commcare/common-issues.md).

# Common Issues

## Connection issues

<details>

<summary>Authentication failed — invalid API key</summary>

Double-check that you copied your full API key from CommCare HQ without any extra spaces. To find it, log in to CommCare HQ, click your username in the top right, go to **Settings**, and look for the **API Key** section. If you've recently regenerated your key, make sure you're using the new one.

</details>

<details>

<summary>Project Space not found</summary>

The Project Space name must match exactly what appears in your CommCare HQ URL — for example, if your URL is `www.commcarehq.org/a/my-project/`, the project space is `my-project`. It's case-sensitive and must not include slashes.

</details>

<details>

<summary>Connection works but returns no data</summary>

Check your start date setting. If you've set a start date far in the future, no records will match. Use the date picker to set a date in the past — at least far enough back to capture some submissions — and run the data flow again.

</details>

## Missing data

<details>

<summary>Some form submissions are missing from the export</summary>

CommCare processes submissions asynchronously, so there can be a delay between when a form is submitted offline and when it appears in the API. If a mobile worker had poor connectivity, their submissions may arrive hours or days later. Use a start date that gives enough buffer to capture delayed syncs.

</details>

<details>

<summary>Case properties I expect are not showing up as columns</summary>

Case properties in CommCare are dynamic and depend on your app configuration. If a case has never had a particular property set, it won't appear as a column. Check that the cases in your export have actually had those properties filled in via a form submission.

</details>

<details>

<summary>Closed cases are not appearing in the export</summary>

By default, the Cases entity returns all cases including closed ones. If closed cases are missing, verify that your CommCare HQ API access level allows retrieving closed cases — this can vary by plan.

</details>

## Permission errors

<details>

<summary>403 Forbidden error when running the data flow</summary>

This usually means your CommCare account does not have API access enabled. CommCare requires a **Standard plan or higher** to use the API. Check your CommCare HQ subscription, or contact your project administrator to confirm your account has the right permissions.

</details>

<details>

<summary>Can only see some cases or forms, not all</summary>

Your CommCare user account may only have access to cases owned by your user or group, not the entire project. Ask your CommCare project admin to grant your API user account project-level data access.

</details>

## Data discrepancies

<details>

<summary>Row counts don't match what I see in CommCare HQ</summary>

CommCare HQ's reporting interface sometimes excludes test submissions or archived records. The API may return more rows than the UI shows. Check whether test users or test submissions are included in your export and filter them out in your destination if needed.

</details>

<details>

<summary>Dates look incorrect or are in the wrong timezone</summary>

CommCare stores timestamps in UTC. If your reports expect local time, you'll need to convert the timestamp columns in your destination (e.g., using a formula in Google Sheets or a transformation in BigQuery).

</details>

## Rate limits

<details>

<summary>Export is very slow or times out for large projects</summary>

CommCare's API can be slow for projects with tens of thousands of forms or cases. Use the start date filter to limit the volume of records per export. For large historical datasets, consider breaking exports into smaller date ranges using separate data flows and using the Append transformation to combine them.

</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/other/commcare/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.
