Frequently Asked Questions

  1. Overview
    1. What is Pushover and how do I use it?
    2. Does Pushover use SMS/Text Messages?
    3. What platforms does Pushover support?
    4. Can I view my notifications from multiple devices?
    5. Are there any monthly fees?
    6. How many messages can I send and what are the limitations on message size?
    7. How can I purchase additional capacity to send more messages per month?
    8. Should I include my application's API token in its source code?

  2. Resolving Common Problems
    1. Why do I not receive notifications through 3rd party software configured with Pushover support?
    2. Why do I not receive instant notifications of alerts and only see them when I open the Pushover device client?
    3. Why did my device get disabled?
    4. Why do I not hear sound from the device clients when receiving notifications?
    5. Why do notifications not show up on my Pebble watch?

  3. Technical
    1. How do I get started sending Pushover notifications?
    2. How are notifications stored and delivered?
    3. Can I e-mail notifications to my device?
    4. How do I send multi-line notifications through the API?

  4. API Libraries
    1. How do I send Pushover notifications in C#/.NET?
    2. How do I send Pushover notifications in Go?
    3. How do I send Pushover notifications in Haskell?
    4. How do I send Pushover notifications in Java?
    5. How do I send Pushover notifications in Lua?
    6. How do I send Pushover notifications in Node.js?
    7. How do I send Pushover notifications in Perl?
    8. How do I send Pushover notifications in PHP?
    9. How do I send Pushover notifications in Python?
    10. How do I send Pushover notifications in R?
    11. How do I send Pushover notifications in Ruby?
    12. How do I send Pushover notifications from a Unix command line?
    13. How do I send Pushover notifications from a Windows command line?

  5. Licensing
    1. Why did I receive a notice that my Pushover app is not licensed?
    2. What will happen if I do not resolve this licensing problem?
    3. I purchased the app, but I still received a licensing notice or my device is disabled for licensing.
    4. I can't buy apps through the App Store or Play Market; can I buy it another way?
    5. Do you offer a trial version of Pushover?
    6. I purchased Pushover for one platform and want to install it on another platform. Do I need to purchase it twice?
    7. Can I use the Pushover logo or name in my library, application, or service?

  6. Security
    1. Who runs Pushover?
    2. Are messages encrypted?
    3. What is Pushover built on?
    4. How are my account password and other private information stored?
    5. How do I report a security problem or vulnerability?

Overview


  1. What is Pushover and how do I use it?

    In short, Pushover is a service to receive instant push notifications on your phone or tablet from a variety of sources. To quickly get started:

    1. Purchase and install our client app on your iPhone/iPad/iPod Touch, Android device, or Desktop.
    2. Run the client and it will walk you through creating a Pushover account and registering your device with our servers.
    3. You'll get a new User Key e-mailed to you (which you can always find on your dashboard or through the Settings menu of the Pushover client app on your device). Your User Key is a randomly generated identifier which allows other apps to send notifications to your account.
    4. Copy and paste your User Key into any application that supports Pushover and it will instantly be able to start sending notifications to your devices.
    5. (Optional) Use your new Pushover e-mail address (found on your dashboard) in any application or website that does not support Pushover, and any e-mails sent to that address will get forwarded to you as Pushover notifications.

    In more detail, Pushover is a platform for sending and receiving push notifications. On the server side, we provide an HTTP API for queueing messages to deliver to devices addressable by User or Group Keys. On the device side, our iOS, Android, and Desktop clients receive those push notifications, show them to the user, and store them for offline viewing.

    If you're a developer or even just have some scripting knowledge, you can integrate Pushover notifications into your application, website, server process, network monitor, or anything else.

    [Top]

  2. Does Pushover use SMS/Text Messages?

    No. Pushover does all of its communication with your device over the Internet, using the connection your phone already has to Google or Apple for receiving push notifications.

    While you will not incur per-message SMS charges for receiving Pushover notifications, it also means that Pushover requires a working WiFi or cellular data connection to receive notifications. If your phone is out of range of a data provider, it will receive all queued up notifications once it establishes a working data connection.

    [Top]

  3. What platforms does Pushover support?

    Currently we have device clients for iOS (iPhone, iPad, iPod Touch), Android, and Desktop (Chrome, Firefox, Safari, Mac OS X). We are in development of a Windows Phone client.

    [Top]

  4. Can I view my notifications from multiple devices?

    Due to the design of our systems, we do not store messages on our servers once they have been reliably received by your device client. To view a notification on multiple devices on your account, it must have been delivered to those devices. By default, all notifications sent to your account will be delivered to all active devices on your account. If you delete a message on one device, it will not affect that message stored on any of your other devices.

    [Top]

  5. Are there any monthly fees?

    No. There is an initial cost of purchasing the iOS, Android, and Desktop clients, which provide the revenue to continue operating and maintaining the servers. Users will always be able to receive unlimited messages for free.

    Once a device client is purchased through Apple App Store, Google Play, or our website (Desktop client only), you can install it on as many devices of that same platform that you own and primarily operate without having to purchase it again. The device clients for each platform must be purchased separately.

    [Top]

  6. How many messages can I send and what are the limitations on message size?

    Each application registered to send Pushover notifications may send 7,500 messages per month for free, where one message is defined as successfully sending a message through our API to one user, regardless of the number of devices on their account. For Delivery Groups, each user in the group receiving that message counts as one message towards the application's quota. For high-volume applications, please see the next question.

    For per-message size limitations, please see the limitations section of our API page.

    [Top]

  7. How can I purchase additional capacity to send more messages per month?

    On the first of each month at midnight Central Time, all application usage limits reset back to the free allowance of 7,500 messages. Once an application has sent 7,500 messages in a month, it will receive an error from our API and will no longer be able to send messages until the first of the next month when the allowance resets.

    For high-volume applications that need to send more than 7,500 messages per month, additional capacity can be purchased from our website in blocks of 10,000 additional messages for $50.00 USD. Once an application uses its free allowance, subsequent messages will start deducting from its purchased reserve until the first of the next month. An application's purchased reserve will remain available until it has been completely used. Upgraded capacity is not transferable or refundable.

    Additional message capacity can be purchased instantly through our website by viewing your specific application and clicking "Purchase Additional Message Capacity".

    [Top]

  8. Should I include my application's API token in its source code?

    Each application that uses Pushover's API must be registered to receive its own API token. For most users, this API token will be kept secret in your own application, script, or website and you will be able to monitor and restrict its use.

    For those distributing software that is installed and managed by your end-users, such as libraries and open source projects that use Pushover's API, you may wish to require that each user register their own application and then enter that unique API token in your software. This way each user will get their own monthly quota of messages without being affected by other users. For popular applications listed on our Featured Public Applications page, we can enable a special cloning URL that will simplify this registration process for your end-users. Contact us for more information.

    If you are providing a free service that uses Pushover where you are still in control of your API token (such as a website), contact us to inquire about getting a free upgrade of your permitted monthly notifications.

    [Top]

Resolving Common Problems


  1. Why do I not receive notifications through 3rd party software configured with Pushover support?

    An ever-increasing number of applications, websites, libraries, and packages have integrated Pushover support to make your Pushover service more useful. As most of these are created and maintained by individuals and companies not associated with our company, we are unable to provide support for them when they do not work as intended, such as when you do not receive Pushover notifications from them.

    From your dashboard (requires that you are logged into our website), enter a test message into the "Send Notification" area and click "Send". If you do not receive your test message on your device within a few minutes, please see our next FAQ entry to resolve problems with your device.

    If you do receive your test message, then your device client and your Pushover service are working properly and the problem is with the 3rd party software or website you are using.

    Before contacting the author of that software or service for support, double-check that you have entered your user key properly (which can be found on your dashboard and from within the Settings menu of your device client). It should be 30 characters long and not have any spaces.

    Finally, if you do need to contact the 3rd party software author for support, let them know that you have successfully received test messages sent from our dashboard and that you have verified your user key. If they are unable to provide support, please contact us and we'll try to help out.

    [Top]

  2. Why do I not receive instant notifications of alerts and only see them when I open the Pushover device client?

    As detailed in the technical section, we send push notifications through Apple's and Google's servers and rely on their systems and frameworks to deliver messages to your device. If the connection between your device and Apple's or Google's servers is not working properly, you will not receive push notifications when our servers send them to Apple or Google, but once you open the Pushover device client, it will synchronize and download all pending notifications from our servers.

    If you are not receiving instant push notifications on your device, try each of these steps until your device is receiving instant push notifications:

    1. Verify the Device is Enabled
      Visit the dashboard and re-enable the device if it is disabled. Close the Pushover app on your device, then send a test message to it from the dashboard. If you receive a notification on the device, then your device is working and you can continue using Pushover as usual.

    2. Verifiy WiFi Connectivity and Firewalling
      If your device is connected to a WiFi network, try disabling WiFi to force it onto the mobile data network. Then send your device a notification from the dashboard. If your device receives the new notification, then you may be on a WiFi network that is blocking access to Apple's or Google's servers. For iOS devices, outbound TCP port 5223 is required to be open to establish a persistent connection to Apple's servers. For Android devices, outbound TCP port 5228 is required. For Desktop devices, outbound TCP port 443 is required.

    3. (Android Only) Verify Data Syncing
      If your Android device receives push notifications on WiFi but not while on on a mobile data network (3G/HSPA/4G/etc.), you may have "mobile data" disabled. Open the Settings app on the device, tap "Data usage", and verify that "Mobile data" is turned on.

      If you are not receiving push notifications on WiFi or mobile data, verify that "Background data" for your Google account (2.3+) is enabled, or that "Auto-sync data" (4.0+) is enabled.

    4. (iOS Only) Verify Notification Center Settings
      For iOS devices, open the main Settings app on your device, then tap on Notification Center. Ensure that Pushover is listed and is not in the "Do Not Include" section at the bottom. Tap on Pushover and make sure that Alert Style is not "None", and that "Show in Notification Center" is on, and most likely you will want "Show on Lock Screen".

    5. Log out of the Pushover App
      If you do not receive the push notification, try logging out of the Pushover app through the Settings screen and then logging in and registering again with the same device name. This will force your device to re-register with the iOS/Android notification service and then send that new token to Pushover's servers. Close the Pushover app on your device, then send a message to it from the dashboard and verify that you receive it on your device.

    6. (Android Only) Verify Google Services Framework
      If your Android device is still not receiving push notifications after reinstalling, there may be a problem with the Google Services Framework on your device. This is a common service that runs on the phone and provides communication between Google's servers and your device and is responsible for delivering push notifications to Google Talk, Play Market, and applications like Pushover.

      If there is a problem with your Google Services Framework, there is unfortunately nothing we can do to resolve it on our end. It is a problem with your device and will affect all applications that use push notifications. An easy test is to login to Google Talk on your phone, switch out of the application, then login to Gmail on your computer and send yourself an instant message. If you don't receive it on your device, your push notifications are not working.

      To try to resolve the problem with the Google Services Framework, you can try removing your Google account from the device (in Settings -> Accounts & sync -> your Google account -> Menu -> Remove account) and then re-adding it. Next, logout of the Pushover app by tapping the Settings button and logging in again.

    7. Reinstall the Pushover App
      If you are still not receiving notifications and have verified that all of the previous items are working, try uninstalling the Pushover app. Reboot the device (or just power off, then power back on) and reinstall the Pushover app through the App Store or Play Market (you will not have to purchase it again).

    8. Contact us
      Finally, if you are still not receiving push notifications, please contact us and we'll try to help you get the device working again.

    [Top]

  3. Why did my iOS device get disabled?

    Apple's notification service requires that we poll it periodically for delivery reports. If a problem is reported with your device, we must stop sending messages to it, so we disable the device on our servers. Any applications attempting to send messages to it through our API will receive an error while your device is disabled. These error reports are usually caused by uninstalling the Pushover application or the device being offline for an extended amount of time.

    To re-enable a disabled device, try the steps in the answer above to get notifications working again.

    [Top]

  4. Why do I not hear sound from the device clients when receiving notifications?

    If you're testing out Pushover for the first time, you may have the Pushover device client (app) open while you wait for the message to arrive. In this scenario, you will not hear a notification alert sound and/or feel vibration and you might think something is wrong. The Pushover device clients do not play sound or vibrate when the device is unlocked and the Pushover application is open, because no notification is generated with the system; the message is received and displayed directly by the running Pushover application which you can see at the top of your message list.

    However, this is not how you will typically interact with Pushover. Your device will either be in sleep mode or you will be interacting with another application when a notification arrives. To properly test Pushover, turn the device's screen off or switch to another application before sending your test messages. This will more accurately represent how you will use Pushover most often: to receive notifications while your device is not in use.

    Also, ensure that your notification volume is adjusted properly. On Android and iOS, there are actually separate volume controls for notifications, ringers, alarms, and media/music. When you are using the Pushover device client and use your device's volume keys to turn the volume up, you may just be adjusting the volume for your phone ringer which does not affect the volume at which notifications play.

    On iOS, open the device's main Settings app, then go to Sounds. There is a volume slider there to adjust the "Ringer and Alerts" volume. Make sure it is at a reasonable level. Also, verify that Pushover is allowed to generate sounds by going to the device's Settings app, then Notification Center, then Pushover, and ensure Sounds is enabled.

    On Android, open the device's main Settings app, then go to Sound, then Volumes. Adjust the "Ringtone & notifications" volume to a reasonable level.

    Once you have adjusted the notification volume properly and are not in the Pushover app, you can test receiving notifications by using our dashboard to send a notification to your device with the specified sound.

    [Top]

  5. Why do notifications not show up on my Pebble watch?

    To receive Pushover notifications on your Pebble watch, you'll first need to setup the watch with your phone using Pebble's app (available for free in the App Store and Play Market). Once you have confirmed that you are able to receive Pebble notifications from standard apps like SMS and incoming phone calls, you can now get Pushover notifications displaying on your watch.

    On both iOS and Android, the Pushover device client does not actually perform the task of sending notifications to your Pebble watch. There is no Pushover app to run on the Pebble watch, but instead, the Pebble app running on your phone is responsible for communicating with your watch and forwarding notifications from other apps like Pushover.

    On Android, our Pushover device client is responsible for forwarding notifications to the Pebble app. If you are receiving notifications from Pushover on your phone but not on your Pebble watch (but you are receiving notifications from other apps like SMS), open the Pushover device client, go to Settings, and make sure "Display notifications on Pebble" is checked. Also make sure that your quiet hours are set properly, since notifications received during your quiet hours will not forward to your Pebble watch unless you enable the option in Settings.

    On iOS, our Pushover device client does not actually communicate with the Pebble app or your watch in any way. Notifications generated from Pushover are posted directly to your phone's Notification Center and the Pebble app is responsible for watching the Notification Center and forwarding new alerts to the watch. If you are receiving notifications on your Pebble watch from apps like SMS but not from Pushover, you may need to toggle Pushover in the Notification Center. If those steps do not work, unfortunately we are unable to provide any further assistance since our app does not actually communicate with the Pebble app or your watch. In this case, you will need to contact Pebble for support.

[Top]

Technical


  1. How do I get started sending Pushover notifications?

    Please see our API page for more information on the process of creating an application and the technical details of using our HTTP API.

    [Top]

  2. How are notifications stored and delivered?

    1. A server, application, or plugin sends a notification to our API over HTTPS (SSL), including its application key, a user or group key, and the message details.
    2. Our server queues the notification in a local database for reliability.
    3. Our server communicates with the appropriate push server (Google's, Apple's, or ours) over SSL and hands off the queued message. If successful, the message is marked as delivered in our database.
    4. Google's or Apple's push servers deliver the message to the end-user device over its proprietary, persistent SSL connection. Our Desktop push server delivers notifications to web browsers over our WebSocket connection.
      • On Android phones, the notification is received by the Pushover application, stored in its local database, and an alert is generated.
      • On iOS, if the Pushover application is running, the Pushover application stores the notification in its local database and an alert is generated. If Pushover is not running, iOS handles the notification and generates the alert. The message will not be received by the Pushover application until it is opened and can synchronize with the Pushover servers.
      • On Desktop browser devices, the notification is received by the Pushover web application, stored in its local database, and an alert is generated in the browser.
      • On Mac OS X desktops, the notification is received by Mac OS X and a notification is generated.
    5. When the Pushover device client is opened and has not synchronized recently (or a manual sync is requested), the device client communicates with the Pushover servers over SSL and downloads any new messages that were not received by push notification, usually due to transient network issues.
    6. Finally, the Pushover device client notifies the Pushover servers of the highest message ID that it has in its database that has been reliably received. The Pushover servers delete all messages up to that ID for storage and security reasons. At this point, the message is only existing on the user's device.

    Messages delivered to devices but not acknowledged will be automatically deleted from our servers after 21 days.

    [Top]

  3. Can I e-mail notifications to my device?

    Yes, our e-mail gateway allows you to send e-mails to Your-Pushover-User-Key@api.pushover.net and have them be converted into Pushover notifications. By default, notifications will go to all active devices on your account, just like other Pushover notifications. To send notifications to just one device, append a plus sign and your device's name to your user key in the e-mail address, such as:

    aaaaabbbbbcccccdddddeeeee12345+iphone@api.pushover.net
    

    You can find your specific user key and your complete e-mail gateway address on your dashboard.

    To specify a message priority of -1 (quiet) or 1 (high-priority, bypassing your quiet hours), add a plus sign, the letter p, and the priority to your e-mail gateway address, such as:

    aaaaabbbbbcccccdddddeeeee12345+p-1@api.pushover.net
    

    This can also be used in combination with a device name by adding the device name first, then the priority, such as:

    aaaaabbbbbcccccdddddeeeee12345+iphone+p1@api.pushover.net
    

    Note that the emergency priority (p2) is not available through our e-mail gateway due to the extra API parameters required.

    HTML e-mails will be converted into plain text while preserving URLs. Messages will be truncated to 512 characters to fit in a Pushover notification.

    Note: Due to delays in e-mail routing and spam filtering on mail relays between your system and Pushover's servers, as well as the lack of receipt confirmation, we do not recommend using our e-mail gateway for time-critical or sensitive Pushover notifications, such as those from network monitoring systems. Directly accessing our REST API over HTTPS is the most reliable and secure way of sending Pushover notifications.

    [Top]

  4. How do I send multi-line notifications through the API?

    To send multi-line notifications with line-breaks, send regular newline ("\n", ASCII 10) characters in your message. Your library or programming language may not interpret "\n" characters properly inside strings and may send them as a literal backspace and "n". In those cases, you may need to use your language's chr() or similar function to represent a single character with ASCII value 10.

    When using curl in shell scripts, you may find it easiest to just insert literal line breaks in your file:

    curl -s \
      -F "token=APP_TOKEN" \
      -F "user=USER_KEY" \
      -F "message=this is a
    
    message with a line break" \
      https://api.pushover.net/1/messages.json
    

    [Top]

API Libraries


  1. How do I send Pushover notifications in C#/.NET?

    The built-in WebClient class can be used, replacing "APP_TOKEN" with the token of your app, and "USER_KEY" with your user's key (or your own if sending messages to your own devices).

    var parameters = new NameValueCollection {
        { "token", "APP_TOKEN" },
        { "user", "USER_KEY" },
        { "message", "hello world" }
    };
    
    using (var client = new WebClient())
    {
        client.UploadValues("https://api.pushover.net/1/messages.json", parameters);
    }
    

    Alternatively, the 3rd party Pushover.NET package written by Matthew Sawyer is available.

    [Top]

  2. How do I send Pushover notifications in Go?

    The 3rd party gopush package written by Kyle Isom is available.

    [Top]

  3. How do I send Pushover notifications in Haskell?

    The 3rd party hPushover package written by Wander Hillen is available.

    [Top]

  4. How do I send Pushover notifications in Java?

    The 3rd party pushover4j package written by Sean Scanlon is available.

    [Top]

  5. How do I send Pushover notifications in Lua?

    The 3rd party pushover-lua package written by Sven Andersson is available.

    [Top]

  6. How do I send Pushover notifications in Node.js?

    The 3rd party node-pushover package written by Sam Decrock and the 3rd party pushover-notifications package written by Aaron Bieber are both available via npm.

    [Top]

  7. How do I send Pushover notifications in Perl?

    The CPAN module LWP::UserAgent library can be used, replacing "APP_TOKEN" with the token of your app, and "USER_KEY" with your user's key (or your own if sending messages to your own devices).

    use LWP::UserAgent;
    
    LWP::UserAgent->new()->post(
      "https://api.pushover.net/1/messages.json", [
      "token" => "APP_TOKEN",
      "user" => "USER_KEY",
      "message" => "hello world",
    ]);
    

    Alternatively, the 3rd party WebService::Pushover Perl module written by Steve Huff is available in CPAN.

    [Top]

  8. How do I send Pushover notifications in PHP?

    The cURL module can be used, if installed, replacing "APP_TOKEN" with the token of your app, and "USER_KEY" with your user's key (or your own if sending messages to your own devices).

    <?php
    curl_setopt_array($ch = curl_init(), array(
      CURLOPT_URL => "https://api.pushover.net/1/messages.json",
      CURLOPT_POSTFIELDS => array(
      "token" => "APP_TOKEN",
      "user" => "USER_KEY",
      "message" => "hello world",
    )));
    curl_exec($ch);
    curl_close($ch);
    ?>
    

    Alternatively, the 3rd party php-pushover PHP class written by Chris Schalenborgh, and the Pushy PHP package written by Michael Squires are available.

    The 3rd party Laravel-pushover package for the Laravel framework written by Dyaa Eldin Moustafa is also available.

    [Top]

  9. How do I send Pushover notifications in Python?

    The standard httplib and urllib libraries can be used, replacing "APP_TOKEN" with the token of your app, and "USER_KEY" with your user's key (or your own if sending messages to your own devices).

    import httplib, urllib
    conn = httplib.HTTPSConnection("api.pushover.net:443")
    conn.request("POST", "/1/messages.json",
      urllib.urlencode({
        "token": "APP_TOKEN",
        "user": "USER_KEY",
        "message": "hello world",
      }), { "Content-type": "application/x-www-form-urlencoded" })
    conn.getresponse()
    

    For Python 3, httplib has been replaced with http.client and urlencode has moved to urllib.parse.

    import http.client, urllib
    conn = http.client.HTTPSConnection("api.pushover.net:443")
    conn.request("POST", "/1/messages.json",
      urllib.parse.urlencode({
        "token": "APP_TOKEN",
        "user": "USER_KEY",
        "message": "hello world",
      }), { "Content-type": "application/x-www-form-urlencoded" })
    conn.getresponse()
    

    Alternatively, the 3rd party pushnotify Python package written by Jeffrey Goettsch, and the pushover Python 3 package written by Wyatt Johnson are available.

    [Top]

  10. How do I send Pushover notifications in R?

    The 3rd party pushoverr R module written by Brian Connelly is available.

    [Top]

  11. How do I send Pushover notifications in Ruby?

    The standard Net::HTTPS library can be used, replacing "APP_TOKEN" with the token of your app, and "USER_KEY" with your user's key (or your own if sending messages to your own devices).

    require "net/https"
    
    url = URI.parse("https://api.pushover.net/1/messages.json")
    req = Net::HTTP::Post.new(url.path)
    req.set_form_data({
      :token => "APP_TOKEN",
      :user => "USER_KEY",
      :message => "hello world",
    })
    res = Net::HTTP.new(url.host, url.port)
    res.use_ssl = true
    res.verify_mode = OpenSSL::SSL::VERIFY_PEER
    res.start {|http| http.request(req) }
    

    Alternatively, the 3rd party rushover Ruby module written by Brendon Murphy is available through Ruby Gems.

    [Top]

  12. How do I send Pushover notifications from a Unix command line?

    The curl program may be used from the command line or integrated into shell scripts, replacing "APP_TOKEN" with the token of your app, and "USER_KEY" with your user's key (or your own if sending messages to your own devices).

    curl -s \
      -F "token=APP_TOKEN" \
      -F "user=USER_KEY" \
      -F "message=hello world" \
      https://api.pushover.net/1/messages.json
    

    [Top]

  13. How do I send Pushover notifications from a Windows command line?

    The curl program may be used, replacing "APP_TOKEN" with the token of your app, and "USER_KEY" with your user's key (or your own if sending messages to your own devices). Download a Win32 build with SSL support and run the "mk-ca-bundle" script to generate the CA bundle.

    curl -s \
      --cacert ca-bundle.crt \
      -F "token=APP_TOKEN" \
      -F "user=USER_KEY" \
      -F "message=hello world" \
      https://api.pushover.net/1/messages.json
    

    Alternatively, PowerShell can be used. For PowerShell v3, using the new Invoke-RestMethod cmdlet, courtesy of Hal Rottenberg:

    $uri = "https://api.pushover.net/1/messages.json"
    $parameters = @{
      token = "APP_TOKEN"
      user = "USER_KEY"
      message = "hello world"
    }
    $parameters | Invoke-RestMethod -Uri $uri -Method Post
    

    Or for older versions:

    $parameters = New-Object System.Collections.Specialized.NameValueCollection
    $parameters.Add("token", "APP_TOKEN")
    $parameters.Add("user", "USER_KEY")
    $parameters.Add("message", "hello world")
    $client = New-Object System.Net.WebClient
    $client.UploadValues("https://api.pushover.net/1/messages.json", $parameters)
    

    [Top]

Licensing


  1. Why did I receive a notice that my Pushover app is not licensed?

    Note: If you have legitimately paid for the Pushover app on your device but still received a notice, see our followup answer.

    Our Android and iOS apps attempt to verify that they have been legitimately purchased and are permitted to be running on the device they are on. Our servers periodically send alerts to users running apps that have been determined to be unlicensed and we may stop sending push notifications to those devices.

    Unlike many other iOS and Android apps and games, Pushover is not just an app, but also a service. This service is powered by servers that cost us money every month to keep running (not counting the development costs involved in further developing the apps and service, as well as the human resources required to provide great technical support). For us to be able to keep paying for and maintaining those servers, we rely on our users to pay us for the service by buying our Android, iOS, and Desktop client apps. When users use Pushover without paying for it, it costs us more money to keep those servers running.

    Rather than be forced to discontinue the service for users that have legitimately paid for it, or implement privacy-invading, obnoxious advertisements like many other free apps and services, we choose to protect our service from unauthorized use by identifying unlicensed app use and preventing those apps from accessing our service.

    Note: The Pushover app must be legitimately purchased for each platform you wish to use it on. However, once purchased, it may be installed on all of the personal devices on your same Google/Apple account without purchasing it again.

    If you have legitimately purchased our Pushover app but have received a licensing notice, please see our next answer for more information.

    If you have installed a cracked or pirated version of our apps, please purchase our Android or iOS apps if you have enjoyed using our service so far. If you do not wish to pay for our apps and continue using our service, please uninstall the apps.

    [Top]

  2. What will happen if I do not resolve this licensing problem?

    We may stop queueing and delivering push notifications to your device until the problem is resolved.

    Users that have legitimately purchased the Pushover app but have received a licensing notice are urged to resolve the problem as soon as possible. If your purchase is not being validated through the app stores, it also means that your device is not receiving updates to our apps, which are critical for reliability, security, and new features.

    To purchase our Android app, please visit Google Play Market. To purchase our iOS app, please visit Apple App Store.

    [Top]

  3. I purchased the app, but I still received a licensing notice or my device is disabled for licensing.

    If you have legitimately purchased the Pushover app for the platform you are using it on, but have received a licensing notice or your device was disabled for a licensing problem, this means your license was not able to be verified.

    On Android, please make sure the Google account setup on your device (not the e-mail address your Pushover account is registered to) is the same Google account used to purchase the app.

    On both iOS and Android, if you have previously installed a pirated/cracked version of Pushover, you must uninstall it completely and then install the legitimately purchased app directly from the App Store/Google Play. Failure to uninstall the previous verison first will cause problems with the license verification and you may not receive automatic updates.

    If you have taken these steps and you are still receiving a licensing notice or your device is showing disabled for licensing on your dashboard, please contact us with the details of your problem and when you purchased the app.

    [Top]

  4. I can't buy apps through the App Store or Play Market; can I buy it another way?

    Sorry, but our apps are only available through the Apple App Store and Google Play Market. We do not offer our apps for sale through any other distribution channels since we cannot provide timely updates through one-off sales.

    [Top]

  5. Do you offer a trial version of Pushover?

    All paid Android apps feature a 15-minute trial which allows one to request a refund and uninstall the app within 15 minutes of purchase. Unfortunately there is no such mechanism for Apple's App Store, and we cannot provide a trial version of our iOS app.

    We encourage users to view our screenshots, read user reviews, and read our documentation to evaluate our apps before purchasing.

    [Top]

  6. I purchased Pushover for one platform and want to install it on another platform. Do I need to purchase it twice?

    Yes, our iOS, Android, and Desktop apps are separate products that must be purchased separately. While you are free to install each application on as many devices as you personally own and operate without needing to purchase it multiple times, you must purchase each platform app separately.

    [Top]

  7. Can I use the Pushover logo or name in my library, application, or service?

    Please see our Logos and Usage page for copies of our logo in various sizes and the licensing terms for our logo and name.

    [Top]

Security


  1. Who runs Pushover?

    Pushover is a service of Superblock, LLC, a software development and network services company with an established track record of providing secure application development and hosting since 1999.

    [Top]

  2. Are messages encrypted?

    We use industry-standard SSL encryption for all communication in Pushover, in every step of the process between applications and our servers, our servers and carrier push servers, push servers to device clients, and device clients back to our servers.

    Unfortunately due to limitations of the iOS push notification system, we are not able to implement actual message encryption, where messages are sent to our API encrypted by your server and then decrypted only by the device client configured with the encryption key. This may be an Android-only feature available at a later time.

    [Top]

  3. What is Pushover built on?

    We use modern servers running on physical hardware leased only to us (not virtualized/cloud servers). Our servers run the ultra-secure OpenBSD operating system, our website and API use Ruby on Rails behind nginx, and we use MySQL and Redis for data storage.

    Our iOS and Android device clients are written in native Objective C and Java, respectively.

    Our Desktop browser client is written in Javascript, HTML, and CSS and makes use of WebSocket and IndexedDB technologies.

    [Top]

  4. How are my account password and other private information stored?

    As with most of our products and services, we use bcrypt for one-way password hashing. For device identifiers, we create a one-way hash of a stable device identifier available from the operating system together with a randomly generated identifier specific to each Pushover account. We do not use "UDIDs" or other cross-app personal identifiers.

    Access to our servers and databases is tightly controlled, logged, and monitored. Encrypted backups of our entire systems with separate database snapshots are done off-site every day.

    Credit card information (for purchasing additional message capacity) is handled by our PCI-compliant payment processor and is never transmitted through or stored on our servers.

    For security reasons, we do not backup the contents of the temporary message queue database table (but we do backup all of the other tables, of course). We would much rather lose a few transient notifications that can be re-sent later than to accidentally lose control of a backup of those messages should one of them contain a password or other sensitive information.

    [Top]

  5. How do I report a security problem or vulnerability?

    We are always happy to work with independent researchers or customers that find security vulnerabilities in our products and services. Please see Superblock's security page for vulnerability disclosure and other information.

    [Top]