API keys are used to authenticate requests to the Stigg API and SDKs. Each environment has its own isolated set of keys, managed under Integrations > API keys.
Scoped API keys are available on the Stigg Scale plan. All plans include the default Full access and Publishable keys.
Every environment is provisioned with two system-managed default keys. Users on the Scale plan can also create additional scoped keys.
Key type
Type
Prefix
Scopes
Created by
Full access key
Server (Secret)
server-
All current and future permissions
System, one per environment
Publishable key
Client (Publishable)
client-
Read-only (immutable)
System, one per environment
Scoped key
Server (Secret)
server-
User-defined, restricted
Users, unlimited per environment
Full access and scoped secret keys must never be exposed in client-side code, public repositories, or frontend bundles. Use environment variables to store them securely.
The default server key has unrestricted access to the current environment and automatically inherits all future permissions as new capabilities are added to the platform. It is the only key allowed to have full access. Users cannot create additional full-access keys.
Full access means full access to the environment the key belongs to. It does not grant access to other environments or other accounts.
Designed for use in frontend and mobile SDKs. Its read-only scope is immutable. For additional protection against unauthorized data access, enable client-side security enforcement.
User-created server keys with explicitly defined, restricted permissions. Scoped keys do not automatically inherit future platform capabilities. New resource types must be manually granted.
Principle of least privilege: Instead of sharing a single full-access key everywhere, create narrow scoped keys per service or environment. If a key is compromised, the blast radius is limited to only the permissions that key holds.
Each key row shows its name, type, masked key value, status, and creation date.Use the Type filter (Default, Scoped) and Status filter (Active, Expires soon, Expired) to narrow the list.
Displays the key’s name (editable for scoped keys), description, type, masked key value with Show/Hide toggle, status, expiration (if rotating), creation date, and environment.
Shows the configured permissions. For scoped keys, permissions can be updated and saved here. Default keys and integration keys have read-only scopes that cannot be changed.
An audit log scoped to this specific key, showing only lifecycle events for the key itself:
Column
Description
Timestamp
When the event occurred
Event
Action taken on the key: Key created, Key rotated, Scope updated, Key revoked
Actor
The user or API key that triggered the event
This is different from Logs > Activity, where you can see all API activity across your environment and which key was used for each operation. For example, an entry there might read “Create customer” with the associated key shown as “Full access key” or the name of a specific scoped key.
Rotating a key generates a new secret while keeping the old secret valid for a configurable grace period, enabling zero-downtime rolling deployments.To rotate a key:
Open the context menu (⋮) next to the key, or open the key’s detail panel
Click Rotate key
Select when the old key should expire:
Now (immediately invalidated)
In 1 hour
In 24 hours
In 3 days
In 7 days
Confirm the rotation
The old key transitions to Expiring soon status and stays valid until the grace period ends. Update your services to use the new key before then.
The publishable key is visible in client-side code by design. To prevent unauthorized access to other customers’ data, Stigg supports an additional hardening layer: your backend generates a signed customer token (HMAC SHA256) that Stigg validates on every frontend request.Enable and configure client-side security from the Publishable key detail panel, under the Overview tab.
When a third-party integration (such as Salesforce) is configured, Stigg automatically provisions a dedicated server key for it. Integration keys appear in the API keys table with Default type and have immutable scopes. They are removed when the integration is disconnected.