Skip to main content
Connect Braintrust with an API key to sync organization members, projects, API keys, datasets, and experiments, and run access reviews. Read-only. Data feeds into your Access accounts and Inventory pages.
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.
What you’ll see. The Access page lists the members of one Braintrust organization — the organization the key was created in, or, when the key can see several, the one with the lowest organization ID — with their name (or their email address when Braintrust stores no name for them), their email, their permission groups shown in the role column (for example Owners; several groups are joined with commas, and a member who belongs to no group is shown as Member) and the date their Braintrust account was created. Service accounts that sit behind service tokens are left out. Braintrust reports no account status, so every member is shown as Active. Braintrust reports no per-user MFA state, so the MFA column is blank (shown as a dash).
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.

What DSALTA reads

DSALTA reads the Braintrust organization member roster — names, emails, permission-group membership and creation dates — which appears on your Access page; and your Braintrust projects, the organization’s API keys (name, owner email, creation date and expiry, or “never expires” — never the secret), and your datasets and experiments, each labelled with its project, which appear on your Inventory page. Permission groups and service tokens are read best-effort after the roster: if the group list cannot be read, every member is shown as Member, and if the service-token list cannot be read, no service account is removed from the roster. Datasets and experiments appear once you create a dataset or run an evaluation. No last-login time is shown: the Braintrust member record carries none.It calls these Braintrust endpoints on api.braintrust.dev (or api-eu.braintrust.dev when the region is eu):
  • /v1/organization
  • /v1/user?org_name={name}
  • /v1/group?org_name={name}
  • /v1/service_token?org_name={name}
  • /v1/project?org_name={name}
  • /v1/api_key?org_name={name}
  • /v1/dataset?org_name={name}
  • /v1/experiment?org_name={name}
Every request is a read. DSALTA has no code path that creates, modifies, or deletes anything in your Braintrust environment.

Troubleshooting

Braintrust API keys are created per organization, and a key inherits the permissions of the user who created it. When a key can see several organizations, DSALTA syncs the one with the lowest organization ID. Create the key as an Owner of the organization you want reviewed, from that organization’s own Settings → API keys page, then disconnect and connect again. Note that disconnecting permanently deletes the data already collected from Braintrust.
A Braintrust API key’s expiration defaults to one year and cannot be changed after creation; when it lapses, every sync fails until you create a new key and reconnect. A key pasted from Settings → AI providers is an outbound model key, not a Braintrust credential, and is rejected. Only the value eu in the Region field selects the EU host — anything else, including a blank field, uses the US host — so a key for an EU-hosted organization is rejected until you enter eu.
Roles come from Braintrust permission groups, which are read best-effort: if the group list cannot be read, every member is shown as Member without failing the sync. Projects, API keys, datasets and experiments are read best-effort too, and datasets and experiments only exist once you have created a dataset or run an evaluation. Click Sync from integrations on the Integrations page to retry.
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.
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.
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.
There is no Reconnect, Repair or Refresh Token button. The only repair available is to disconnect and connect again.
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.
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.