Skip to main content
Connect Upstash with your account email and a Management API key to sync team members with their roles, Redis databases, Vector and Search indexes and QStash accounts, and the account audit log, and run access reviews. Read-only. Data feeds into your Access accounts, Inventory and Changes 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 every Upstash team the account belongs to, combined into one list: a person who is in several teams appears once, with the roles they hold in each team joined together (for example Owner, Dev). Upstash’s team roster carries no name field, so each row shows the member’s email address in place of a name, together with their team roles (Owner, Admin, Dev or Finance, or Member when none is reported). Upstash has no account-level user list, so an account with no team has no roster and cannot be connected. The roster reports no account status, so every row is shown as Active and stamped with the date of the sync. Upstash 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 member list of each team the account belongs to — email addresses and roles — which appears on your Access page; your Upstash Redis databases (region, plan, type, state and whether TLS is on), Vector indexes (region, plan, dimensions and similarity function), Search indexes (region and plan) and QStash accounts (region, state, plan, daily request limit and creator), which appear on your Inventory page; and the account’s audit log, which appears on your Changes page. QStash rows are QStash accounts, not people; the credential fields that Upstash returns with Vector, Search and QStash rows are dropped before anything is stored. Each audit entry arrives as a change that has already happened — status Deployed, priority Medium when the action names a key, team, member, user, deletion, removal, password or role and Low otherwise, the action and the acting account in the title, the affected entity, source and IP address in the description, and Upstash account as the environment. Up to 1,000 entries are read, with no date window.It calls these Upstash endpoints on api.upstash.com:
  • /v2/redis/databases
  • /v2/teams
  • /v2/teams/{team_id}
  • /v2/vector/index
  • /v2/search
  • /v2/qstash/users
  • /auditlogs
Every request is a read. DSALTA has no code path that creates, modifies, or deletes anything in your Upstash environment.

Troubleshooting

Upstash answers a wrong email and a wrong key with the same refusal, so check both: the Account email is the address of the account that created the key, and the Management API key comes from Account → Management API in the console. A data-plane token such as UPSTASH_REDIS_REST_TOKEN, a Vector index token or a QStash token cannot call the Management API, and an account created through the Vercel or Fly.io marketplaces has no Developer API at all. An account with no team is rejected by name: create one under Account → Teams, invite the teammates who should appear, and connect again.
The roster is built from the teams the connected account belongs to. Someone who is not a member of any of those teams does not appear; invite them to a team under Account → Teams, then click Sync from integrations on the Integrations page.
Redis databases, Vector and Search indexes, QStash accounts and the audit log are read best-effort after the team rosters: a failure on one of those calls leaves that part of the page empty without failing the sync, and databases and indexes only appear once you have created one. 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.