# SuprSend, Notification infrastructure for Product teams: Developer Resources

## Developer Resources

### Developer Resources

- [Overview](https://docs.suprsend.com/docs/developer/overview.md): Learn how to use SuprSend developer tools to build integrations, test notifications, and manage your notification system programmatically.

### Updates and Versioning

- [Versioning and Support Policy](https://docs.suprsend.com/docs/developer/versioning/sdk-versioning.md): Review the SuprSend SDK versioning and support policy, including SemVer rules, deprecation windows and which SDK versions receive active updates.
- [SDK Changelog](https://docs.suprsend.com/docs/developer/versioning/sdk-changelog.md): Browse the full SuprSend SDK changelog with release notes, new features, bug fixes and breaking changes across server and client SDK versions.

### Authentication

- [API Keys and Secrets](https://docs.suprsend.com/docs/developer/api-keys.md): Generate API keys, manage workspace secrets and pick the right authentication method to securely integrate SuprSend into your application backend.
- [Service Token](https://docs.suprsend.com/docs/developer/service-tokens.md): Create and rotate Service Tokens to authenticate SuprSend Management API requests and securely automate deployments from CI and scripts.
- [Best Practices for Key & Token Management](https://docs.suprsend.com/docs/best-practices-for-api-keys-management.md): Best practices for securely managing SuprSend workspace keys, secrets, API keys, and service tokens in your backend, mobile, and frontend application code.

### Security

- [Security](https://docs.suprsend.com/docs/security.md): Learn how SuprSend protects your data with SOC 2 Type II compliance, encryption at rest and in transit, access controls, and network security policies.

### SDKs and APIs

- [Management API](https://docs.suprsend.com/docs/developer/management-api.md): Use the SuprSend Management API to programmatically create, version and deploy templates, workflows and notification assets across workspaces.
- [REST API](https://docs.suprsend.com/docs/developer/rest-api.md): Use SuprSend REST APIs to sync user profiles, trigger workflows, send broadcasts and deliver multi-channel notifications at production scale.
- [Postman Collection](https://docs.suprsend.com/docs/developer/postman-collection.md): Try SuprSend APIs from the official Postman collection, with pre-configured endpoints, sample payloads and environment variables for quick testing.

#### SDKs

- [SDK Overview](https://docs.suprsend.com/docs/developer/sdk-overview.md): Browse SuprSend server and client SDKs for Node, Python, Go, Java, PHP, iOS, Android, React and more to integrate notifications into your app.

##### SuprSend Backend SDK

###### Python SDK

- [Integrate Python SDK](https://docs.suprsend.com/docs/integrate-python-sdk.md): Install the SuprSend Python SDK, initialize it with workspace credentials, and start sending notifications, tracking events, and managing user profiles.
- [Verify Package Signature](https://docs.suprsend.com/docs/python-verify-signature.md): Cryptographically verify the SuprSend Python SDK package signature and checksum with PyPI attestations and GPG before installing to confirm authenticity.
- [Manage Users](https://docs.suprsend.com/docs/python-create-user-profile.md): Create, update, and manage user profiles, channels, and identifiers using the SuprSend Python SDK with distinct_id, email, mobile, and push token examples.
- [Objects](https://docs.suprsend.com/docs/python-objects.md): Create, update, and manage SuprSend Objects and their subscriptions from the Python SDK to model teams, organizations, and other non-user entities in code.
- [Send and Track Events](https://docs.suprsend.com/docs/python-send-event-data.md): Send and track events with the SuprSend Python SDK using track_event to trigger workflows, with code samples for properties, attachments, and idempotency.
- [Trigger a workflow from the Python SDK](https://docs.suprsend.com/docs/python-trigger-workflow-from-api.md): Use the SuprSend Python SDK to trigger a workflow directly from your application code, with examples for the workflow payload, recipients, and dynamic data.
- [Messages](https://docs.suprsend.com/docs/python-messages.md): Use the SuprSend Python SDK to list paginated messages in your workspace and bulk update message statuses like seen, read, and archived from your backend.
- [Tenants](https://docs.suprsend.com/docs/python-tenants.md): Use the SuprSend Python SDK to create, update, fetch, and list tenants for white-labelled notifications and per-tenant template content.
- [Lists](https://docs.suprsend.com/docs/python-lists.md): Manage SuprSend subscriber lists from the Python SDK to create or update lists, add, remove, and replace users, and trigger broadcast notifications to segments.
- [Send broadcast notifications with the Python SDK](https://docs.suprsend.com/docs/python-broadcast.md): Use the SuprSend Python SDK to send broadcast notifications to a list of subscribers, with code examples for setting up the broadcast request and payload.

###### Node.js SDK

- [Integrate Node SDK](https://docs.suprsend.com/docs/integrate-node-sdk.md): Install and initialize the SuprSend Node.js SDK using your workspace key and secret to start sending notifications, managing users, and triggering workflows.
- [Manage Users](https://docs.suprsend.com/docs/node-create-user-profile.md): Use the SuprSend NodeJS SDK to create, update, and delete user profiles, manage channel identifiers like email, SMS, push, and Slack.
- [Objects](https://docs.suprsend.com/docs/objects-node-sdk.md): Manage SuprSend objects and their subscriptions from your Node.js backend with the NodeJS SDK to upsert, update, delete, and add subscribers.
- [Send and Track Events](https://docs.suprsend.com/docs/node-send-event-data.md): Track and send user events from your Node.js backend using the SuprSend NodeJS SDK to trigger workflows with event properties and code samples.
- [Trigger a workflow from the Node.js SDK](https://docs.suprsend.com/docs/node-trigger-workflow-from-api.md): Use the SuprSend Node.js SDK to trigger a workflow directly from your application code, with examples for the workflow payload, recipients, and dynamic data.
- [Tenants](https://docs.suprsend.com/docs/node-tenants.md): Use the SuprSend NodeJS SDK to create, update, fetch, and list tenants for whitelabeling notifications and personalizing content per organization.
- [Lists](https://docs.suprsend.com/docs/node-lists.md): Manage subscriber lists with the SuprSend NodeJS SDK including create, update, add or remove users, replace members, and trigger list broadcasts.
- [Send broadcast notifications with the Node.js SDK](https://docs.suprsend.com/docs/node-broadcast.md): Use the SuprSend Node.js SDK to send broadcast notifications to a list of subscribers, with code examples for setting up the broadcast request and payload.

###### Java SDK

- [Integrate Java SDK](https://docs.suprsend.com/docs/integrate-java-sdk.md): Install and initialize the SuprSend Java SDK using your workspace key and secret to start sending notifications, managing users, and triggering workflows.
- [Verify Package Signature](https://docs.suprsend.com/docs/java-verify-signature.md): Cryptographically verify SuprSend Java SDK package signatures using GPG to confirm integrity and authenticity before adding the dependency to your project.
- [Manage Users](https://docs.suprsend.com/docs/java-create-user-profile.md): Create and update user profiles, set channel identifiers like email and phone, and manage subscriber data programmatically with the SuprSend Java SDK.
- [Objects](https://docs.suprsend.com/docs/java-objects.md): Create, update, and manage non-user objects and their channel subscriptions in SuprSend using the Java SDK for teams, accounts, devices, and more.
- [Send and Track Events](https://docs.suprsend.com/docs/java-send-event-data.md): Send events from your backend with the SuprSend Java SDK to trigger workflows, pass event properties, and personalize notifications with code examples.
- [Trigger a workflow from the Java SDK](https://docs.suprsend.com/docs/java-trigger-workflow-from-api.md): Use the SuprSend Java SDK to trigger a workflow directly from your application code, with examples for the workflow payload, recipients, and dynamic data.
- [Tenants](https://docs.suprsend.com/docs/tenants-java.md): Create, update, fetch, and list SuprSend tenants from your backend using the Java SDK, with code samples for white-labeling and per-tenant personalization.
- [Lists](https://docs.suprsend.com/docs/lists-java.md): Manage SuprSend subscriber lists with the Java SDK to create or update lists, add and remove users, and trigger bulk notifications and broadcast sends.
- [Send broadcast notifications with the Java SDK](https://docs.suprsend.com/docs/broadcast-java.md): Use the SuprSend Java SDK to send broadcast notifications to a list of subscribers, with code examples for setting up the broadcast request and payload.

###### Go SDK

- [Integrate Go SDK](https://docs.suprsend.com/docs/integrate-go-sdk.md): Install and initialize the SuprSend Go SDK using your workspace key and secret to start sending notifications, managing users, and triggering workflows.
- [Manage Users](https://docs.suprsend.com/docs/go-create-user-profile.md): Manage user profiles and communication channels using the SuprSend Go SDK, covering identify, update, channel add or remove, and subscriber property methods.
- [Send and Track Events](https://docs.suprsend.com/docs/go-send-event-data.md): Send and track custom events from Go backends using the SuprSend Go SDK to trigger workflows, with method signatures, examples, and event property payloads.
- [Trigger a workflow from the Go SDK](https://docs.suprsend.com/docs/go-trigger-workflow-from-api.md): Use the SuprSend Go SDK to trigger a workflow directly from your application code, with examples for the workflow payload, recipients, and dynamic data.
- [Tenants](https://docs.suprsend.com/docs/tenants-go.md): Create, update, fetch, and list SuprSend tenants from your backend using the Go SDK, with code samples for white-labeling and per-tenant personalization.
- [Lists](https://docs.suprsend.com/docs/lists-go.md): Manage SuprSend subscriber lists with the Go SDK to create or update lists, add and remove users, and power bulk notifications and broadcast campaigns.
- [Send broadcast notifications with the Go SDK](https://docs.suprsend.com/docs/broadcast-go.md): Use the SuprSend Go SDK to send broadcast notifications to a list of subscribers, with code examples for setting up the broadcast request and payload.

##### SuprSend Client SDK

- [Authentication](https://docs.suprsend.com/docs/client-authentication.md): Authenticate SuprSend client SDKs from web and mobile apps using public API keys and signed user JWT tokens for secure end user identification and access.

###### Javascript

- [Integration](https://docs.suprsend.com/docs/integrate-javascript-sdk.md): Integrate the SuprSend JavaScript Web SDK to enable WebPush, preferences, and In-app feed across React, Vue, Next.js, and other modern web frameworks.
- [WebPush](https://docs.suprsend.com/docs/js-webpush.md): Set up web push notifications in React, Vue, Angular, and Next.js websites with the SuprSend JavaScript SDK including service worker and VAPID config.
- [Preferences](https://docs.suprsend.com/docs/js-preferences.md): Add a notification preference center to React, Vue, Angular, and Next.js websites with the SuprSend JavaScript SDK methods to manage user opt-ins.
- [Events and User methods](https://docs.suprsend.com/docs/js-events-and-user-methods.md): Send events and update user profiles from React, Vue, Angular, and Next.js apps with the SuprSend JavaScript SDK to trigger workflows and sync channels.
- [InApp Feed](https://docs.suprsend.com/docs/js-inapp-feed.md): Integrate the SuprSend in-app feed in non-React JavaScript apps using headless SDK methods to fetch notifications, mark read, and render a custom UI.
- [Migration guide](https://docs.suprsend.com/docs/migration-guide-from-v1.md): Upgrade the SuprSend Web SDK between major versions with this migration guide.

###### Android

- [Integrate Android SDK](https://docs.suprsend.com/docs/integrate-android-sdk.md): SDK integration steps to enable Android push notifications in your native Android app with SuprSend, covering Gradle setup, FCM tokens, and user subscribe.
- [Mobile Push Setup](https://docs.suprsend.com/docs/android-firebase-fcm-push-integration.md): Integrate Firebase Cloud Messaging FCM push into your Android app with SuprSend, including Firebase project setup, service account keys, and SDK installation.
- [Manage Users](https://docs.suprsend.com/docs/android-create-user.md): Use the SuprSend Android SDK to create and identify users, set push tokens, attach email or SMS channels, and manage user profile properties from your app.
- [Send and Track Events](https://docs.suprsend.com/docs/android-send-event-data.md): Use the SuprSend Android SDK to send and track user events from your app, pass event properties, and trigger notification workflows on real time user actions.

###### iOS

- [Integration](https://docs.suprsend.com/docs/ios-integration.md): Install and initialize the SuprSend iOS Swift SDK in your mobile app to enable push, in-app inbox, preferences, and user identification features.
- [Events and User methods](https://docs.suprsend.com/docs/ios-events-and-user-methods.md): Track events and update user profiles from your iOS Swift app using SuprSend SDK methods to trigger workflows and sync user channels and attributes.
- [APNS Push Integration](https://docs.suprsend.com/docs/ios-apns-push.md): Configure APNS push notifications in your iOS Swift app with SuprSend by uploading your auth key, setting bundle ID, and registering device tokens.
- [Preferences](https://docs.suprsend.com/docs/ios-preferences.md): Build a notification preference center in your iOS Swift app with SuprSend SDK methods to fetch, display, and update user channel and category opt-ins.
- [InApp Feed (Headless)](https://docs.suprsend.com/docs/ios-inbox.md): Add a headless in-app inbox to your iOS Swift app with SuprSend SDK methods to fetch notifications, mark read, and build a fully custom feed UI.
- [Migration guide from v1](https://docs.suprsend.com/docs/ios-migration-from-v1.md)

###### React Native

- [Android Integration](https://docs.suprsend.com/docs/react-native-android-integration.md): Set up the SuprSend React Native SDK on Android with Gradle configuration, package installation, and initialization for push and in-app notifications.
- [iOS Integration](https://docs.suprsend.com/docs/react-native-ios-integration.md): Add the SuprSend React Native SDK to the iOS side of your app with Swift bridging headers, CocoaPods install, and AppDelegate setup for notifications.
- [Manage Users](https://docs.suprsend.com/docs/react-native-create-user.md): Methods to create user and set their mobile push token and other communication channels for sending notifications in ReactNative application.
- [Sync Events](https://docs.suprsend.com/docs/react-native-send-event-data.md): Track user events from your React Native iOS and Android app to SuprSend with event properties to trigger workflows and personalize notifications.
- [iOS Push Setup](https://docs.suprsend.com/docs/react-native-ios-push-integration.md): Set up APNs iOS push notifications in your React Native app with capabilities, certificates, background modes, and SuprSend SDK token handling.
- [Android Push (FCM)](https://docs.suprsend.com/docs/react-native-androidpush-integration.md): Configure FCM push notifications for your React Native Android app with Firebase project setup, service account upload, and SuprSend SDK integration.

###### Expo

- [Integration](https://docs.suprsend.com/docs/expo-integration.md): Install and configure the SuprSend Expo SDK, wrap your app with SuprSendExpoProvider and authenticate users for inbox feed and push delivery.
- [Push Notifications](https://docs.suprsend.com/docs/expo-push-notifications.md): Deliver native FCM and APNs push notifications in your Expo app using SuprSendPushProvider and expo-notifications from the SuprSend Expo SDK.
- [Inbox Feed](https://docs.suprsend.com/docs/expo-inbox.md): Render a headless in-app notification feed in Expo using SuprSendFeedProvider from the SuprSend Expo SDK with React Native components.
- [Preferences](https://docs.suprsend.com/docs/expo-preferences.md): Read and update user notification preferences in your Expo app using the headless preference hooks re-exported from the SuprSend React core SDK.

###### Flutter

- [Integration](https://docs.suprsend.com/docs/flutter-integration.md)
- [iOS Push Setup (APNs)](https://docs.suprsend.com/docs/flutter-apns-push.md)
- [Android Push Setup (FCM)](https://docs.suprsend.com/docs/flutter-fcm-push.md)
- [Migration guide from v2](https://docs.suprsend.com/docs/flutter-migration-from-v2.md): Upgrade suprsend_flutter_sdk from v2 to v3, covering Dart-only initialization, JWT authentication, awaitable methods, renamed classes and methods, and push setup changes.

###### React

- [Integration](https://docs.suprsend.com/docs/react-sdk.md): Install the SuprSend React SDK to enable inbox, preferences, web push, and event tracking with @suprsend/react and @suprsend/react-core packages.
- [WebPush](https://docs.suprsend.com/docs/react-webpush.md): Enable browser web push notifications in your React application by configuring SuprSendProvider, VAPID keys, and a service worker for background delivery.
- [Preferences](https://docs.suprsend.com/docs/preference-react-sdk.md): Step-by-step guide to add a SuprSend notification preference centre to your React website using the SuprSendProvider and preference hooks for opt-in controls.
- [Events and User methods](https://docs.suprsend.com/docs/react-events-and-user-methods.md): Use SuprSend React SDK methods to send events and update user channels, preferences, and properties from your frontend based on in-app user actions.
- [Embeddable Templates](https://docs.suprsend.com/docs/embeddable-template-react-sdk.md): Embed SuprSend multi-channel template editor inside your product with React SDK. Supports editing, testing and committing template variants.
- [Migration guide](https://docs.suprsend.com/docs/react-migration-from-v0.md): Upgrade the SuprSend React SDK between major versions with this migration guide.

###### InApp Feed

- [Popover feed](https://docs.suprsend.com/docs/react-in-app-feed.md): Add a SuprSend in-app popover notification feed to your React app using drop-in components, with bell icon, unread badge, and customisable notification UI.
- [Full screen or Sidesheet notifications feed](https://docs.suprsend.com/docs/react-full-screen-or-sidesheet-notifications-feed.md): Integrate the SuprSend NotificationFeed React component to render in-app notifications in a full-screen page or side sheet instead of the default popover.
- [Customising Feed](https://docs.suprsend.com/docs/react-customising-feed.md): Customise the SuprSend React in-app inbox feed with theming, tenant overrides, custom notification rendering, and component styling options.
- [Build your own feed UI (headless)](https://docs.suprsend.com/docs/react-sdk-headless-feed.md): Build a custom notification feed UI in React using SuprSend headless hooks and context providers for full control over styling, layout, and behavior.
- [Toast Notifications](https://docs.suprsend.com/docs/react-toast-notifications.md): Show toast notifications in your React app when new in-app messages arrive using the feed.new_notification event listener from the SuprSend SDK.
- [Internationalization](https://docs.suprsend.com/docs/react-language-support.md): Translate Inbox and feed UI text into your user's locale in React using SuprSendI18nProvider, custom translations, and locale switching.

### Features

- [Validate Trigger Payload](https://docs.suprsend.com/docs/validate-workflow-payload.md): Validate the data passed to the workflow API and event properties against JSON schemas to catch payload mismatch errors at the API level before delivery.
- [Type Safety](https://docs.suprsend.com/docs/type-generation.md): Generate strongly typed interfaces from your SuprSend JSON schemas to catch payload errors at compile time when triggering workflows from your backend code.

### Testing

- [Testing Templates](https://docs.suprsend.com/docs/testing-the-template.md): Send a test notification from the template editor to a real device to verify rendering, variables, and layout before publishing template changes.
- [Test Mode](https://docs.suprsend.com/docs/developer/test-mode.md): Enable test mode in SuprSend to preview and debug workflow runs, templates and channel delivery safely without sending notifications to real users.

### Monitoring and Logging

- [Analytics](https://docs.suprsend.com/docs/analytics.md): Centralize notification performance tracking, monitor delivery across channels, and gain insights to optimize your notification strategy.

#### Logs

- [Logs](https://docs.suprsend.com/docs/logging.md): Track, debug, and audit notification activity in SuprSend with detailed logs for requests, workflow executions, broadcasts, and per-message delivery events.
- [Request logs](https://docs.suprsend.com/docs/request-logs.md): View request payload, response, status, and errors for all API/SDK requests made to SuprSend.
- [Workflow execution logs](https://docs.suprsend.com/docs/workflow-execution-logs.md): Step-by-step workflow execution details per user — node execution, channel computation, template rendering, and error tracking.
- [Broadcast execution logs](https://docs.suprsend.com/docs/broadcast-execution-logs.md): Aggregate execution summary for broadcast campaigns — processing steps, user statistics, and delivery status across lists.
- [Message logs](https://docs.suprsend.com/docs/message-logs.md): Individual message delivery status, engagement tracking (delivered, seen, clicked), message preview, and vendor error details.

#### Data Out

- [Webhook](https://docs.suprsend.com/docs/outbound-webhook.md): Configure outbound webhooks in SuprSend to receive real-time JSON payloads for notification status updates, delivery events, and error alerts to your endpoint.
- [OpenTelemetry](https://docs.suprsend.com/docs/opentelemetry.md): Stream real-time notification metrics from SuprSend to any OpenTelemetry-compatible observability platform via OTLP for API, delivery, and vendor tracking.
- [New Relic](https://docs.suprsend.com/docs/new-relic.md): Stream SuprSend notification metrics to New Relic via OpenTelemetry OTLP to monitor API requests, delivery, and engagement with under a minute latency.
- [Datadog](https://docs.suprsend.com/docs/datadog.md): Stream real time SuprSend notification metrics, API requests, and delivery events to your Datadog account via OpenTelemetry OTLP with sub minute latency.

##### Amazon S3 v2.0

- [Overview](https://docs.suprsend.com/docs/amazon_s3_v2.md): Use the Amazon S3 v2 connector to export notification logs, delivery events, and analytics from SuprSend to S3 for debugging, reporting, and compliance audits.
- [Query with Athena](https://docs.suprsend.com/docs/athena_s3_query.md): Run SQL on your SuprSend logs in S3 — no warehouse, no ETL. Set up the database, register external tables, and run your first query.
