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

# Common Issues

## Connection issues

<details>

<summary>Authentication fails when entering API credentials</summary>

Coassemble requires **two** tokens: a User Token and an Organization Token. If either is missing or entered in the wrong field, the connection will fail. Double-check that you've copied both tokens from Coassemble's Settings → API section and pasted them into the correct fields in Coupler.io.

{% hint style="warning" %}
Tokens are case-sensitive and may contain special characters — copy-paste rather than retyping them manually.
{% endhint %}

</details>

<details>

<summary>Connection succeeds but no data appears in the destination</summary>

This usually means the connected Coassemble account has no data for the selected entity. For example, if you select Trackings but no learners have started any courses yet, the result will be an empty table. Try switching to the Courses entity to confirm the connection is working.

</details>

## Missing data

<details>

<summary>Some courses are missing from the Courses entity</summary>

Only courses that are visible to the authenticated user's organization will be returned. If you have courses in a different organization or workspace, you'll need to create a separate data flow using that organization's token.

</details>

<details>

<summary>Tracking records are missing for some users</summary>

Trackings are only created when a learner actively starts a course. Users who have been assigned a course but haven't opened it yet won't appear in the Trackings entity. This is expected behavior — there's no record until the learner takes action.

</details>

<details>

<summary>completed_at field is empty for some tracking records</summary>

If a learner has started a course but not finished it, `completed_at` will be null. This is correct — only fully completed courses have a value in this field. Use the `status` and `progress` fields to identify in-progress learners.

</details>

## Permission errors

<details>

<summary>"Unauthorized" or "403" error when connecting</summary>

This typically means the User Token belongs to an account that doesn't have API access enabled, or the Organization Token doesn't match the user's organization. Verify in Coassemble that API access is enabled for your account and that both tokens are from the same organization.

{% hint style="danger" %}
If your Coassemble plan doesn't include API access, you won't be able to connect via Coupler.io. Check with your Coassemble account administrator or plan details.
{% endhint %}

</details>

## Data discrepancies

<details>

<summary>Progress percentages don't match what I see in Coassemble</summary>

Coupler.io pulls a snapshot of data at the time of the sync. If a learner completed more of a course after your last data flow run, the progress field in your destination will be out of date. Run the data flow again or increase your refresh frequency to keep the data current.

</details>

## Rate limits

<details>

<summary>Data flow fails or times out with large tracking datasets</summary>

Coassemble's API may throttle requests when pulling large volumes of tracking data. If this happens, try syncing individual entities in separate data flows rather than combining multiple sources in a single run. Splitting the load can help avoid timeout errors.

</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/coassemble/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.
