> ## Documentation Index
> Fetch the complete documentation index at: https://help.dsalta.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integration Errors

> Fix common issues with connecting and syncing integrations.

<Warning>
  **Replacing a credential currently costs you that integration's history.** There is no Reconnect, Repair, or Refresh Token button. Once an integration is connected, its card shows only **Configure scope** and **Manage**, and **Manage** offers only **Disconnect**. Disconnecting deletes the evidence DSALTA collected from that integration — access records, inventory, vulnerabilities, code changes, incidents, and device records — along with the tests themselves and all their results. Read **Before you disconnect** below before you start.
</Warning>

<AccordionGroup>
  <Accordion title="I get an error when connecting an integration" icon="circle-xmark">
    Most connection errors are caused by insufficient permissions. Check that the account you authenticate with has the role the integration requires — listed on the integration's own page — and that any token you pasted carries the required scopes. Some providers also scope a token to a single organization or workspace, so confirm you created it while viewing the right one.

    The exact message DSALTA shows you is explained in [Connection error messages](/troubleshooting/connection-error-messages).
  </Accordion>

  <Accordion title="A test shows 'Failed'" icon="triangle-exclamation">
    **Failed covers two different situations, and they have different owners.** Open the test and check the code on its **Source Data** tab:

    | Code  | Meaning                                               | Who fixes it                                            |
    | ----- | ----------------------------------------------------- | ------------------------------------------------------- |
    | `403` | DSALTA is missing a permission the check needs        | You — grant the scope, then reconnect                   |
    | `428` | The check needs configuration that isn't in place yet | You — configure it in the provider                      |
    | `500` | DSALTA could not complete the run                     | DSALTA — [contact support](/troubleshooting/contact-us) |

    A `500` is the case people expect to be labeled "Error". It is not: for integration tests DSALTA records it as **Failed**, so the Tests list looks identical whether the problem is yours or ours. The Source Data code is the only way to tell them apart.
  </Accordion>

  <Accordion title="A test shows 'Completed' but the finding is still open" icon="circle-half-stroke">
    **Completed means the check ran, not that you passed.** Three different outcomes all appear as Completed:

    | Code  | Meaning                                                              |
    | ----- | -------------------------------------------------------------------- |
    | `200` | Compliant — nothing to do                                            |
    | `204` | Not applicable to your environment                                   |
    | `207` | **Non-compliant — the check ran and found a gap you need to act on** |

    A `207` is amber on the Source Data tab and is the one to watch for. If you triage from the Tests list alone, a `207` looks finished. See [Test results](/guides/data-library/test-results) for the full code reference.
  </Accordion>

  <Accordion title="Connected but no data appearing" icon="database">
    The initial sync can take 10–20 minutes on a large environment. If nothing has appeared after that, the usual cause is the credential lacking a permission needed to list the resource — re-check the required scopes on the integration's page.

    Do not disconnect to force a refresh. It deletes what has already been collected and does not make the next sync any more likely to succeed.
  </Accordion>

  <Accordion title="Before you disconnect" icon="triangle-exclamation">
    If a credential has genuinely expired or been revoked, disconnecting and connecting again is currently the only way to replace it. Before you do:

    1. **Export anything you still need.** Disconnecting removes the integration's evidence and deletes its tests and results outright — they are not archived and cannot be restored.
    2. **Have the replacement credential ready** before you disconnect, so the integration is down for as long as it takes to paste it rather than as long as it takes to go and create it.
    3. **Expect your history to restart.** After reconnecting, the tests are recreated and run fresh. Prior results do not come back, and auditors reviewing that period will see the gap.

    If the connection is still working and you are only rotating a credential as routine hygiene, consider whether the rotation is worth the evidence loss right now, or whether it can wait for a scheduled window.
  </Accordion>

  <Accordion title="How often does data refresh?" icon="clock">
    Integration-powered checks run once a day, at 02:00 America/New\_York. DSALTA's own system tests run once a day at 15:30 Europe/Istanbul.

    Access and inventory data is refreshed by its own sync, which does not run tests. You can trigger it at any time with **Sync from integrations** on the **Integrations** page.
  </Accordion>
</AccordionGroup>

<Info>
  Still stuck? [Contact support](/troubleshooting/contact-us) with the integration name, the message shown on the integration's **Status** tab, and the Source Data code from the failing test.
</Info>
