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

# Xata

> Serverless Postgres platform — members & access

<Tabs>
  <Tab title="Overview">
    Connect Xata with a User API key to sync organization members and projects, and run access reviews. Read-only.

    <Info>
      **Read-only access.** DSALTA only reads data from this integration. It never creates, modifies, or deletes anything in your environment, and every remediation step is performed by your team directly in the third-party product.
    </Info>

    <Info>
      **What you'll see.** The Access page lists the members of one Xata **organization** — the first organization the key can see — with their name, email and organization role. Xata's members endpoint does not always return a role; a member without one is shown as **Member**. Pending invitations are not included. Xata reports no account status, join date or MFA state, so every member is shown as **Active** with MFA **Unknown**, and each row is stamped with the date of the sync.
    </Info>

    <Note>
      DSALTA collects this integration's data when you connect it — you can refresh it at any time with **Sync from integrations** on the **Integrations** page. The compliance checks below re-run once a day at 02:00 America/New\_York.
    </Note>

    ## What DSALTA reads

    DSALTA reads the Xata organization member roster — names, emails and roles — which appears on your **Access** page; and the organization's **projects**, which appear on your **Inventory** page with the project's boolean settings and last-updated date.

    It calls these Xata endpoints on `api.xata.tech`:

    * `/organizations`
    * `/organizations/{id}/members`
    * `/organizations/{id}/projects`

    Every request is a read. DSALTA has no code path that creates, modifies, or deletes anything in your Xata environment.

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="The connection is rejected">
        The key must be a **User API key** (it starts with `xau_`) created under **Account Settings → User API keys**. A key created with **Access control** switched on but without the **Organization** scope cannot list members. Create a new key and connect again.
      </Accordion>

      <Accordion title="The Access page shows the wrong organization">
        When the key can see several organizations, DSALTA syncs the first by ID and there is no field to pin another. Create the key as a user who belongs only to the organization you want reviewed, or scope the key to that organization with **Access control**, then disconnect and connect again. Note that disconnecting permanently deletes the data already collected from Xata.
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="How do I check whether the connection is healthy?">
        Open **Integrations** in the DSALTA sidebar, stay on the **Connected** tab, and click **Manage** on the integration's card. Open the **Status** tab: it shows either **Connected and working properly** or **Connection issues detected**.

        Use the **Status** tab, not **Overview** — Overview always reports **Connected** regardless of the real state.
      </Accordion>

      <Accordion title="A check shows Failed and nothing changed on my side">
        On an integration-powered check, **Failed** normally means DSALTA was blocked rather than that you are non-compliant. Open the test, go to **Source Data**, and read the result code: **403** is a missing permission, **428** is a setting DSALTA still needs, **500** is a failure on DSALTA's side.

        A real compliance gap shows **207** and leaves the test looking **Completed**. See [Understanding Test Results](/guides/compliance/test-results).
      </Accordion>

      <Accordion title="Data looks out of date">
        Compliance checks re-run once a day at 02:00 America/New\_York. To refresh sooner, open **Integrations → Connected** and click **Sync from integrations** at the top right — it refreshes every connected integration at once.
      </Accordion>

      <Accordion title="How do I repair a broken connection?">
        There is no Reconnect, Repair or Refresh Token button. The only repair available is to disconnect and connect again.

        <Warning>
          **Disconnecting is destructive and cannot be undone.** DSALTA removes the access records, inventory, vulnerabilities, code changes, incidents and device records collected from this integration, and deletes the test results tied to the connection. Export anything you still need as audit evidence first — see [Integration errors](/troubleshooting/integration-errors).
        </Warning>
      </Accordion>

      <Accordion title="Configure scope will not let me change anything">
        That is expected. **Configure scope** is read-only — it shows what DSALTA is permitted to read, and has no Save action. To change what DSALTA can see, change the permissions on the credential in the third-party product, then disconnect and connect again.
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="How to connect">
    A Xata User API key (`xau_…`) with account or Organization scope. Read-only.

    **Before you begin**

    * A Xata account that belongs to the organization you want reviewed.

    You will need:

    | Field       | Where to find it                     | Example |
    | ----------- | ------------------------------------ | ------- |
    | **API Key** | **Account Settings → User API keys** | `xau_…` |

    <Steps>
      <Step title="Start in DSALTA">
        Open **Integrations** in the DSALTA sidebar, find **Xata**, and click **Connect** to open the connect panel.
      </Step>

      <Step title="Create a User API key">
        In Xata, open **Account Settings → User API keys** and create a key. Leave the **Access control** toggle off to give the key your full account scope, or switch it on and grant the **Organization** scope for the organization you want reviewed. Copy the key (it starts with `xau_`).

        <Info>
          A key with **Access control** on and only a project scope cannot list the organization's members, so the connection will fail. Use account scope or the Organization scope.
        </Info>
      </Step>

      <Step title="Connect Xata">
        Return to the connect panel, paste the API key, and click **Connect**.
      </Step>
    </Steps>

    <Check>
      DSALTA validates the key when you click **Connect**, by listing the organizations it can see. On success the integration moves to the **Connected** tab, and **Manage → Status** reads **Connected and working properly**. Checks begin reporting after the first sync.
    </Check>

    <Warning>
      **If the connection is rejected.** Invalid or revoked key, or a key scoped below the organization.

      The on-screen message is generic — see [Connection error messages](/troubleshooting/connection-error-messages).
    </Warning>
  </Tab>

  <Tab title="Automated checks">
    Each check below re-runs once a day, at 02:00 America/New\_York, while this integration is connected. Click any check for step-by-step remediation guidance.

    | Check                                                                                                               | Severity | What it verifies                                                                |
    | ------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------- |
    | [User access to Critical System should be valid](/integrations/xata/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with Xata access is an active employee on the People page. |
    | [Offboarded users should not have active access](/integrations/xata/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded employees no longer have active Xata access.             |
  </Tab>

  <Tab title="Useful links">
    | Topic   | Link                                                                    |
    | ------- | ----------------------------------------------------------------------- |
    | Setup   | [Xata documentation](https://xata.io/docs)                              |
    | General | [Xata](https://xata.io)                                                 |
    | DSALTA  | [Connection error messages](/troubleshooting/connection-error-messages) |
  </Tab>
</Tabs>
