A REST API and SDKs to integrate push and in-app.
Per-app keys, idempotent sends, signed webhooks and SDKs for iOS, Android, React Native and Web. All documented in English and Portuguese.

One key for the server, another for the app.
Each app has its own keys, generated in the dashboard.
REST key
For server-to-server calls: notifications, templates, segments and webhooks.
Client key
Made to ship inside the app: it only registers and updates that client's device.
Per-app keys
Each app authenticates with its own keys, separate from the account's other apps.
What you do through the API.
The same features as the dashboard, to automate from your backend.
Notifications
Send, schedule and cancel scheduled sends.
Templates and segments
Create and reuse messages and audiences from the backend.
Devices
Register and update devices, with tags for targeting.
Signed webhooks
Get delivery and lifecycle events in your backend.
Idempotency
Idempotency-Key on notification sends: retrying does not duplicate the send.
In-app through the API
Manage the same in-app messages as the dashboard with a REST key.
SDKs for iOS, Android, React Native and Web.
Flutter and NativeScript are in development. Each SDK has an install guide in the docs.
- iOS
- Android
- React Native
- Web
- FlutterComing soon
- NativeScriptComing soon
- REST API
Rather ask an AI assistant?
The Notti MCP server connects Claude, ChatGPT, Codex and OpenCode to your data and sends.
Frequently asked questions
SDKs are available for iOS, Android, React Native and Web. Flutter and NativeScript are in development. The Web SDK is at version 0.x and, for now, has been validated with real push only on desktop Chrome; on iOS Safari, push only works for a web app added to the Home Screen. The REST API works with any backend.
Send the Idempotency-Key header on the API notifications POST. Retrying the call with the same key does not create a second notification.
The iOS and Android SDKs show in-app messages and report impressions, clicks and dismissals. The dashboard builds and targets the message; the SDK shows it in the app.
Mostly not. Notification sends and app, template, segment and device management respond with no per-request limit. Only a small set of open or sensitive routes has a per-minute budget and answers 429 with Retry-After.
Keep exploring
Start with 5,000 free MAU today.
No credit card required. You'll send your first message in minutes.
Create free account