Skip to main content
Connect Sanity with a project API token to sync project members and datasets, and run access reviews. Read-only.
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 human members of every Sanity project the token can see, merged into one roster: each person appears once, with their name, email, the roles they hold and, when they belong to more than one project, the project names beside the role. Robot members and members without an email address are left out. Sanity reports no account status or MFA state, so every member is shown as Active with MFA Unknown; the creation date is the date Sanity created the user account.
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 Sanity project member roster — names, emails, roles and account creation dates — which appears on your Access page; and each project’s datasets, which appear on your Inventory page with their access mode (public or private). Documents are never read.It calls these Sanity endpoints on api.sanity.io, all under the dated API version /v2021-06-07:
  • /v2021-06-07/projects
  • /v2021-06-07/projects/{id}
  • /v2021-06-07/users/{ids}
  • /v2021-06-07/projects/{id}/datasets
Every request is a read. DSALTA has no code path that creates, modifies, or deletes anything in your Sanity environment.

Troubleshooting

The token must be a project API token (it starts with sk) created under the project’s API → Tokens. A space’s content Access tokens are for the Content Lake and cannot list members. A token that sees no project is rejected as well.
Members whose Sanity account has no email address, and robot members, are left out. Sanity also notes that a person who signs in with a different method than the one they were invited under arrives as a separate account with no membership — such a duplicate account does not appear until it is given a role.
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.