For organizations purchasing Android, iOS, and Desktop licenses on behalf of their employees or customers without the need for centralized management, Pushover has a licensing API to permanently assign pre-paid license credits to Pushover user accounts.
Tip: Licensing credits can also be assigned without having to make an API call by viewing your application and clicking "assign licenses".
https://api.pushover.net/1/licenses/assign.json
with the
following parameters:
token
(required) - your application's API token
user
(required unless email
supplied) - the
user's Pushover user key
email
(required unless user
supplied) - the
user's e-mail address
os
- can be left blank to assign to the first operating
system the user registers with, or Android
,
iOS
, or Desktop
To get started with our licensing API, you will need to purchase a number of license credits by viewing (or creating) your application and clicking "Purchase License Credits". Volume discounts are available and will be displayed when purchasing larger quantities of credits in a single purchase.
Note: Once purchased, license credits are not refundable. Once a license has been assigned to a Pushover user account, it cannot be revoked or reassigned to another user.
Once your application has at least one license credit available, you can assign it to a Pushover user by their Pushover account e-mail address or their Pushover user key if known.
If a license is assigned to an e-mail address, it will remain pending in our systems (but deducted from your available credits) until a user signs up with that e-mail address, at which time the license will be automatically activated.
To assign a license, send a POST request to:
https://api.pushover.net/1/licenses/assign.json
Include the following parameters:
token
(required) - your application's API token
user
(required unless email
supplied) - the
user's Pushover user key
email
(required unless user
supplied) - the
user's e-mail address
os
- can be left blank, or one of Android
,
iOS
, or Desktop
If the os
parameter is left blank, the license will be
assigned to the first OS/platform on which the particular user registers
a device. If the user already exists and has unlicensed devices
registered on multiple platforms, the first unlicensed device's platform
will be licensed.
Unless you want to restrict your users to a specific platform,
we recommend not supplying the os
parameter to let the user
register on any platform.
You can check which licenses an account already has by using the user validation endpoint.
Also note that each API request assigns one license for one platform. If you wish to allow a user to register on multiple platforms, you will need to make one API call per user and per platform.
If your POST request to our API was valid and the license was assigned,
you will receive an HTTP 200 (OK) status, with a JSON object containing a
status
code of 1
. You will also receive a
credits
parameter containing the number of credits
available on your application.
{"status":1,"credits":5,"request":"4f2a071d-fc2c-4d94-9cf2-68c069a599b4"}
If assignment of the license failed for any reason (such as your
application being out of available credits, or the Pushover user being
invalid), you will get a status
of 0
and an
errors
object detailing each problem.
{"status":0, "request":"55f7df29-e2f3-4333-aeef-336334fafcee", "errors":{"token":["is out of available license credits"]}}
Due to the nature of assigning licenses, we recommend raising any errors returned from our API and never automatically retrying until human intervention has taken place.
An API call can be made to return the number of license credits remaining without assigning one, by making a GET request to:
https://api.pushover.net/1/licenses.json?token=YOUR_API_TOKEN
The response is the same format as the assign call:
{"status":1,"credits":5,"request":"142f8378-fd19-4cb7-9ea2-b18b15a07431"}