Back to Help Center

App IDs & API Access

Every application you track with SignalSplash is identified by a unique app ID. This is how events are scoped, filtered, and displayed in the dashboard.

Last updated: 2026-04-12

What is an app ID?

An app ID is a short, human-readable string you choose when creating a project — for example my-saas-app or marketing-site. It's passed as the appId config option when initializing the SDK.

<AnalyticsProvider config={{
  appId: 'my-saas-app',          // <-- this is the app ID
  endpoint: 'https://api.signalsplash.com/api/events',
}}>
  {children}
</AnalyticsProvider>

Every event sent by the SDK includes this app ID, so your data is automatically separated per project.

Creating a project

When you sign up, your first project is created automatically. To add more projects, use the project dropdown at the top of the dashboard and select "New project".

Choose an app ID that's short and descriptive. It cannot be changed after creation, since it's embedded in your SDK config and stored with every event.

Running multiple projects

You can track as many apps as you want. Each gets its own isolated data, but you can view an aggregate "All Projects" view in the dashboard to compare them side by side.

  • Each app has its own events, sessions, and users
  • The project dropdown in the dashboard header switches between them
  • Web Vitals and all dashboard data are scoped per app ID

Ingestion endpoint

All events are sent to:

https://api.signalsplash.com/api/events

No authentication is required for event ingestion — the app ID scopes the data. This keeps the SDK lightweight and avoids exposing secrets in client-side code.

Security considerations

Because the app ID is embedded in your client-side code, it's visible to anyone who inspects your page source. This is by design — the app ID is an identifier, not a secret.

  • App IDs are write-only scoped — they can send events but cannot read your data
  • Dashboard access requires authentication with your SignalSplash account
  • No PII is collected by default — user identification is opt-in via identify()

Pro API access

Read access to SignalSplash data is a Pro feature. Pro accounts can create API keys from the dashboard settings page and use either the direct REST API or the server SDK from backend code.

npm install @summoniq/signalsplash-server-sdk
import { SignalSplashServerSdk } from '@summoniq/signalsplash-server-sdk';

const sdk = new SignalSplashServerSdk({
  apiKey: process.env.SIGNALSPLASH_API_KEY!,
});

const summary = await sdk.summary({ appId: 'my-saas-app' });

Use overview() when you need the same datasets used by the dashboard overview: summary metrics, trend chart data, activity heatmap, event funnel, traffic sources, web vitals, and recent sessions.

const overview = await sdk.overview({
  appId: 'my-saas-app',
  from: Date.now() - 7 * 86400000,
  to: Date.now(),
  timezone: 'America/Los_Angeles',
});

Direct API calls use a bearer token and the same account-managed API keys:

curl https://signalsplash.com/api/public/v1/summary?appId=my-saas-app \
  -H "Authorization: Bearer $SIGNALSPLASH_API_KEY"

Public read endpoints are available for summary, daily, events, users, sessions, overview, activity-heatmap, funnel, traffic-sources, web-vitals, and clickstream.

Next steps