OneSignal Help & Documentation

Welcome to the OneSignal New IA developer hub. You'll find comprehensive guides and documentation to help you start working with OneSignal New IA as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Discussions

Rate Limits & Disabled Apps

Safety measures for end users

In extremely rare cases, OneSignal may automatically disable an app due to a rate limit. The rate limit is meant to trigger as a safety measure in case customers accidentally make an error when integrating with the OneSignal API that causes excessive notifications. Rate limiting is designed solely as a solution to prevent end users from getting spammed with notifications that the customer did not know they were sending, and is not intended to affect customers in other cases.

How do I know if my app is disabled?

When apps reach the rate limit, there are three ways that customers are informed.

First, any email accounts associated with the app will receive an email that says the app has been disabled.

Second, an alert will be shown in the API response.

{
  errors: ['API rate limit exceeded. See the RateLimit response headers for more details.']
}

Third, an alert banner will appear above the interface anywhere in the app's OneSignal dashboard, which also includes a button to re-enable the app.

How does rate limiting work?

For an app to trigger the rate limit and become disabled, the total number of recipients for notifications sent in a 15-minute period must equal or exceed ten times the number of messageable users in the app. Further, the rate limit only applies to apps with at least 1,000 messageable users.

πŸ“˜

Messageable Users

Messageable users are users in an app that can receive push notifications. This excludes users that have a) unsubscribed from or otherwise disabled push notifications, b) uninstalled the app, or c) cleared their browser settings.

Scenarios where rate limiting triggers

The following are scenarios where rate limiting may or may not be triggered, based on an app with exactly 1000 messagable users:

Scenario

Rate limit reached?

Sending 1 notification to 1,000 recipients?

No, rate limit not reached.

If your app has 1000 messageable users, you can send up to 9,999 notifications within a 15 minute period. However, sending to one more recipient would trigger the rate limit.

Sending 10 notifications to 1,000 recipient each ?

Yes, rate limit is reached.

The rate limit is 10 x messageable users within 15 minutes.

10 x 1,000 = 10,000 you should not be sending 10 notifications per user within 15 minute periods.

Sending 10,000 notifications to 1 recipient each in a 15-minute period?

Yes, rate limit is reached.

Ten times the number of messageable recipients have been delivered to.

Sending 9 notifications to 1,000 recipients each in a 14-minute period, and then sending 1 notification to 1,000 recipients after 1 minute?

No.

The last notification is counted using a new 15-minute window.

Sending 9 notifications to 1,000 recipients each in a 14-minute period, and then sending another 9 notification to 1,000 recipients after 1 minute?

No.

The 15-minute window is static and does not roll over from minute to minute.

Will I be notified when my app is disabled?

Yes, an email is sent to all app administrators any time an app is disabled or re-enabled with the date and time each event occurred.

When will my app be automatically re-enabled?

Apps are not automatically re-enabled.

Instead, you can manually re-enable them from our dashboard. Be sure to check your app for any errors that caused it to exceed our rate limit.

How can I manually re-enable my app?

First, please check your code to make sure there aren't any bugs that would cause a large increase in the number of sent notifications.

When you've finished reviewing your code for bugs, re-enable the app by logging into our dashboard, visiting any page inside the app, and click the link on the top red notice.

Updated 29 days ago


Rate Limits & Disabled Apps


Safety measures for end users

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.