Install the Notti SDK (or call the REST API directly) and get your first notification delivered. Follow the sections in order for a first-time setup, or jump to the area you need.
- Get Started with Notti: create an App, find your keys, and tour the dashboard
- Install SDK: install the React Native or iOS SDK, or register devices directly via REST
- Test your integration: verify delivery before going live
- Troubleshooting: debug delivery issues
Get Started with Notti
Create an App to get its ID and one-time-reveal REST/Client keys - every other call in this section needs those.
- Apps & Companies - Onboarding, the Company switcher, and the Apps list in the dashboard.
- Team Members - Invite and manage who has dashboard access.
- Emails & Account Recovery - Which emails Notti sends, password reset, email verification, and auth rate limits.
- Keys & IDs - Find your App ID and rotate REST/Client keys from the dashboard.
- In-App Messages - Create, target, schedule and measure In-App messages.
- Audit Logs - Review who did what, from the dashboard.
- Usage & Billing - MAU usage and plan status.
- Self-Hosted License - Free limits, the Ultimate plan, and how to buy and activate a license code.
Install SDK
- React Native SDK setup - Install, initialize, register devices, and handle notification events in a React Native app.
- iOS SDK setup - Install the native iOS SDK, initialize it, identify users, and handle notification events, In-App Messages and rich media.
- Android SDK setup - Install the native Android SDK, initialize it, identify users, and handle notification events, In-App Messages and your own FCM service.
Notti ships three client SDKs today: React Native, native iOS and native Android. Every other platform (web, backend jobs) registers and manages Devices directly against the REST API - there is no separate SDK required, just the Devices API Reference and a Client key.
Test your integration
- Testing Your Integration - There is no sandbox/dry-run mode - register a real test device and verify delivery before going live.
Troubleshooting
- Troubleshooting - Reading Delivery errors, auto-unsubscribe behavior, and common APNs/FCM failure codes.
After setup
- Using the REST APIs - Base URL, authentication per endpoint group, rate limits, and idempotent requests.
- API Reference - Every endpoint's method, path, auth requirement, request shape, and response shape.
FAQ
How do I identify the same person across devices?
Set the same external_user_id on every Device that person owns (POST/PATCH /v1/apps/{app_id}/devices). Target that person with target_type: "external_user_ids" on a notification send - Notti delivers to every Device carrying that ID. See the Devices and Notifications API Reference for the exact fields.
Do I need an SDK, or can I call the REST API directly?
Either works. The SDKs wrap Device registration and notification-event handling for React Native, native iOS and native Android. Any other client (a web app, a backend job) registers and updates Devices directly with a Client key - there's no functional difference in what Notti does with the Device once it's registered.
How do I send notifications from my server?
Use your App's REST key (rk_...) with POST /v1/apps/{app_id}/notifications. Never ship a REST key inside a mobile or web client - use the Client key (ck_...) there instead, scoped to Device registration only. See Using the REST APIs for the full auth model.
Is there a sandbox or test-send mode?
No - every send attempts real delivery. See Testing Your Integration for how to safely test against a real device, including the iOS sandbox-vs-production APNs credential setting.
How do I know if a push failed to deliver?
Check GET /v1/apps/{app_id}/notifications/{id}/deliveries for a per-device status and last_error, or register a Webhook to get notification.failed / device.invalid events pushed to you instead of polling. See Troubleshooting for what the common errors mean.