Creating, Rotating, and Revoking Integration Clients
Integration clients and their API keys are managed through the TenantIntegrationClients dashboard surface. An authorized tenant administrator or an authorized platform user operating in a valid selected-tenant context can use this surface. Each client represents one external system or integration and carries its own API key and scope set.
Creating a New Integration Client
- Sign in to the dashboard using an authorized tenant or platform account.
- Open the integration-client management surface (
TenantIntegrationClients). The tenant path requires tenant-admin status and membership in the tenant-admin group. The selected-tenant platform path requires a valid selected tenant and Manage tenant integrations permission. - Click Add New Client.
- Fill in the fields:
- Client Name — a descriptive label identifying the external system (for example, "BI Dashboard" or "Nightly ETL Job").
- Description — optional context for administrators.
- Scopes — select from
ReportsRead,UsageRead, andRawResponsesRead. The plan must enable Report API access forReportsReadorUsageRead, and Raw response API access forRawResponsesRead. - Expires At — required, in the future, and no later than the configured maximum; a shorter maximum applies when
RawResponsesReadis present.
- Click Create. The system generates a new API key and displays it once at this point.
- Copy the key immediately and store it in a secrets manager. The full key value is not retrievable after this screen is closed.
The key is hashed before storage. Survanta cannot recover a lost key. If the key is lost, rotate it immediately.
Rotating an API Key
Key rotation replaces the current API key with a new one while preserving the client record and its assigned scopes. Rotate a key whenever it may have been compromised or as part of a scheduled security rotation policy.
- In the integration-client list, locate the client by name.
- Click Rotate Key on the client's action menu.
- Confirm the rotation. The old key is invalidated immediately.
- Copy and store the new key from the no-cache one-time secret view, then update the consuming system. Rotation also sets a fresh maximum permitted expiry, activates the client, and clears revocation.
There is no grace period — the old key stops working the moment rotation is confirmed. Coordinate with the integration consumer before rotating in production.
Revoking a Client
Revoking a client disables the client and invalidates its key while retaining the record for audit. Use this when an integration is decommissioned.
- In Settings → Integration Clients, locate the client.
- Click Revoke. The current controller exposes revocation, not hard deletion.
- Confirm the revocation. Any subsequent request using the old key receives
401 UnauthorizedwitherrorMessageset toAuthentication is required. Provide valid credentials or a valid API key.
Viewing Existing Clients
The integration clients list shows:
| Field | Description |
|---|---|
| ID | The client identifier |
| Client Name / Description | The label and optional description |
| Scopes | The scopes assigned to this client |
| Status | Active or Revoked, derived from the current client state |
| Last Used | The timestamp of the most recent successfully authenticated request |
| Actions | Audit, rotate, and revoke operations |
Each generated key is displayed once, after creation or rotation, and cannot be retrieved afterward.
Scope Assignment Rules
- A client may hold any combination of
ReportsRead,UsageRead, andRawResponsesRead. - Scopes are never placed inside user permission groups.
- The application service supports validated metadata/scope updates, but the current tenant controller exposes list, create, rotate, revoke, and audit actions only; do not document an Edit action that is not routed.
- Plan downgrades can revoke newer excess active clients deterministically, and expired clients do not consume quota capacity.