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

# Phrase

> Localization platform — project access

<Tabs>
  <Tab title="Overview">
    Connect Phrase with an API token to sync project collaborators 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>

    <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 collaborators on your Phrase projects — member id, name, username, email address and creation date — aggregated across every project the token can see and deduplicated by member id, and those rows appear on your **Access** page, the only page this integration populates. It is a project-membership roster: someone who holds a Phrase account but belongs to no project the token can see does not appear. The per-project member list carries no role or status field, so every collaborator is recorded as an active **Member** — review real roles, including guest and freelance accounts, in Phrase itself. Translation content, keys, locales and jobs are never read.

    It calls these Phrase endpoints:

    * `POST /idm/oauth/token`
    * `GET /v2/user`
    * `GET /v2/projects`
    * `GET /v2/projects/{id}/members`

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

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="A Phrase user is missing from the Access page entirely">
        DSALTA builds the roster from project membership, so an account holder who belongs to no project the token can see never appears. Add them to a project, or use a token that can see the projects they work on.
      </Accordion>

      <Accordion title="The connection fails to validate">
        The API token is invalid, revoked, or was truncated when copied — Phrase shows the full value only once.
      </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/data-library/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 Phrase Platform API token, pasted into DSALTA. Read-only.

    **Before you begin**

    * A Phrase account, with the Owner or Admin role recommended.
    * Somewhere safe to paste the token while you move between tabs — Phrase shows the full value only once.

    You will need:

    | Field         | Where to find it                        | Example            |
    | ------------- | --------------------------------------- | ------------------ |
    | **API Token** | Phrase → avatar → Settings → API Access | `Phrase API token` |

    <Steps>
      <Step title="Start in DSALTA">
        Open **Integrations** in the DSALTA sidebar, find **Phrase**, and click **Connect** to open the connect panel. Leave it open — it lists every value you need, and you create those in the steps below.
      </Step>

      <Step title="Open your Phrase account settings">
        In Phrase, go to your avatar → Settings → API Access (or your organization's Platform API settings).
      </Step>

      <Step title="Create an API token">
        Create a new API token. Copy it immediately — Phrase only shows the full value once.

        <Warning>
          This is a Phrase Platform credential, not a scoped read key. DSALTA exchanges it for a short-lived JWT and only ever issues GET requests, but the token itself is not restricted to the four paths DSALTA calls. Treat it as a secret, and revoke it in Phrase if you disconnect the integration.
        </Warning>
      </Step>

      <Step title="Connect Phrase">
        Paste your API token, then click Connect.

        <Info>
          You do not choose a region.
        </Info>
      </Step>
    </Steps>

    <Check>
      DSALTA verifies the token before saving it, and does so automatically when you click **Connect** — it exchanges the token for a short-lived JWT and calls `GET /v2/user`. On success you see **Successfully connected to Phrase!**, 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.** The token is wrong, revoked, or was truncated when copied.

      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/phrase/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with Phrase project access is an active employee on the People page. |
    | [Offboarded users should not have active access](/integrations/phrase/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded employees no longer have active Phrase project access.             |
  </Tab>

  <Tab title="Useful links">
    | Topic   | Link                                                                    |
    | ------- | ----------------------------------------------------------------------- |
    | Setup   | [Phrase API — authentication](https://developers.phrase.com/api/)       |
    | General | [Phrase website](https://phrase.com)                                    |
    | DSALTA  | [Connection error messages](/troubleshooting/connection-error-messages) |
  </Tab>
</Tabs>
