Skip to main content
This guide helps developers integrate OneSignal into mobile and web applications. Follow the sections in order for a first-time setup, or jump to the area you need.
  1. Get started — access your OneSignal App and find your API keys
  2. Set up messaging channels — install the SDK and configure channels
  3. SDK and API reference — detailed method, class, and endpoint documentation
  4. Users and identity — identify Users, manage Subscriptions, and secure access
  5. Testing and debugging — verify your integration before going live
  6. Webhooks and events — receive message events server-side

Get started

If your team already has a OneSignal account, ask an admin to invite you to the Organization. Otherwise, create an account to get started. Your OneSignal App is where User and message data lives. Each App has its own App ID, API keys, and messaging channels. You can have multiple Apps in a single Organization for different projects or environments.

Set up messaging channels

Install the OneSignal SDK to create and track user engagement for your platforms. Each message channel has its own setup guide covering credentials, SDK initialization, and tutorials.

SDK and API reference

Detailed documentation for client SDKs, server SDKs, and the REST API.

Users and identity

OneSignal assigns each person a OneSignal ID and tracks their devices, email addresses, and phone numbers as Subscriptions. Users are anonymous until you call login with an External ID to identify them. Identifying Users unifies their Subscriptions across channels and devices.

Testing and debugging

Verify your integration works before sending to your full audience.
Always test with test Subscriptions first. This lets you verify delivery, rendering, and deep links without affecting real Users.

Webhooks and events

Receive message events server-side for analytics, automation, or syncing with external systems.

FAQ

How do I authenticate REST API requests?

Include your REST API key in the Authorization header as a bearer token: Authorization: Key YOUR_REST_API_KEY. Find your key in Settings > Keys and IDs in the OneSignal dashboard. See Keys and IDs for details.

What is the difference between client SDKs and server SDKs?

Client SDKs (mobile and web) run in your app on the User’s device. They handle Subscription registration, permission prompts, in-app messages, and User identification via login. Server SDKs run on your backend and call the REST API to send messages, manage Users, and export data.

How do I identify Users across devices?

Call OneSignal.login("your_external_id") on each device after the User signs in. OneSignal merges all Subscriptions with the same External ID under a single User. See Users for implementation details.

Do I need to set up identity verification?

Identity verification is optional but strongly recommended for production apps. Without it, any client can call login with an arbitrary External ID. Enabling identity verification requires updating the OneSignal SDK to use a server-generated JWT, preventing impersonation.
Need help?Chat with our Support team or email support@onesignal.comPlease include:
  • Details of the issue you’re experiencing and steps to reproduce if available
  • Your OneSignal App ID
  • The External ID or Subscription ID if applicable
  • The URL to the message you tested in the OneSignal Dashboard if applicable
  • Any relevant logs or error messages
We’re happy to help!