PHPackages                             serhiy/pushover - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. serhiy/pushover

ActiveLibrary[API Development](/categories/api)

serhiy/pushover
===============

Light, simple and fast, yet comprehensive wrapper for the Pushover API.

v1.6.0(1y ago)23108.6k↓10.7%2[2 issues](https://github.com/slunak/pushover-php/issues)[1 PRs](https://github.com/slunak/pushover-php/pulls)2MITPHPPHP &gt;=7.4CI failing

Since Jun 4Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/slunak/pushover-php)[ Packagist](https://packagist.org/packages/serhiy/pushover)[ Docs](https://github.com/slunak/pushover-php)[ RSS](/packages/serhiy-pushover/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (6)Versions (26)Used By (2)

Pushover PHP API Wrapper
========================

[](#pushover-php-api-wrapper)

[![CI](https://github.com/slunak/pushover-php/actions/workflows/ci.yaml/badge.svg)](https://github.com/slunak/pushover-php/actions/workflows/ci.yaml)[![Latest Stable Version](https://camo.githubusercontent.com/f7f9c806ec72c3783158f195c022af0cb882c15670a7be3ecec0528fd79e3c72/68747470733a2f2f706f7365722e707567782e6f72672f7365726869792f707573686f7665722f76)](https://packagist.org/packages/serhiy/pushover)[![Total Downloads](https://camo.githubusercontent.com/41405b1d44daa98fd5d0844e3a6ee27419739605b69cdad284d31254452c7132/68747470733a2f2f706f7365722e707567782e6f72672f7365726869792f707573686f7665722f646f776e6c6f616473)](https://packagist.org/packages/serhiy/pushover)[![License](https://camo.githubusercontent.com/6fba0fb72d373087ab79df9f2485a09183489fbc160aaabe58af292afd7ce6b0/68747470733a2f2f706f7365722e707567782e6f72672f7365726869792f707573686f7665722f6c6963656e7365)](LICENSE)

Light, simple and fast, yet comprehensive wrapper for the [Pushover](https://pushover.net/) API.

### Features

[](#features)

- Message API ([Example](examples/CompleteNotificationExample.php))
    - Image attachment
    - User's device name(s)
    - Message's title
    - HTML messages
    - Supplementary URL and its title
    - Notification priority
    - Notification sound (including custom sound)
    - Message time
    - Time to live
- User/Group Validation API ([Example](examples/UserGroupValidationExample.php))
    - Validation by user or group key
    - Validation by user and device
- Receipt API ([Example](examples/ReceiptExample.php))
    - Query emergency priority receipt
    - Cancel emergency priority retry
- Groups API ([Example](examples/GroupsExample.php))
    - Create a group
    - List groups
    - Retrieve information about the group
    - Add / Remove users
    - Enable / Disable users
    - Rename the group
- Glances API ([Example](examples/GlancesExample.php))
    - Title
    - Text
    - Subtext
    - Count
    - Percent
- Licensing API ([Example](examples/LicensingExample.php))
    - Check remaining credits
    - Assign license (not tested)
- Subscription API ([Example](examples/SubscriptionExample.php))
    - User Key Migration

Getting Started
---------------

[](#getting-started)

These instructions will get you a copy of the project up and running.

### Installing

[](#installing)

```
composer require serhiy/pushover

```

### Requirements

[](#requirements)

I aim to keep the project as simple as possible. All you need to run it is a PHP supported version, plus its curl and json extensions. See below the `require` section of project's composer.json file:

```
{
    "require": {
        "php": ">=8.2",
        "ext-curl": "*",
        "ext-json": "*"
    }
}
```

Pushing Messages
----------------

[](#pushing-messages)

Instantiate pushover application and recipient of the notification:

```
use Serhiy\Pushover\Application;
use Serhiy\Pushover\Recipient;

$application = new Application('replace_with_pushover_application_api_token');
$recipient = new Recipient('replace_with_pushover_user_key');
```

Or use Dependency Injection to inject them into the services of your app.

Compose a message:

```
use Serhiy\Pushover\Api\Message\Message;

$message = new Message('This is a test message', 'This is a title of the message');
```

Create notification:

```
use Serhiy\Pushover\Api\Message\Notification;

$notification = new Notification($application, $recipient, $message);
```

Push it:

```
/** @var \Serhiy\Pushover\Client\Response\MessageResponse $response */
$response = $notification->push();
```

Tip

For more code examples, see [examples](examples) folder in the root of the project.

Working with response
---------------------

[](#working-with-response)

Client returns Response object. Checking if the message was accepted is easy:

```
if ($response->isSuccessful()) {
    // ...
}
```

One can get status and token returned by Pushover:

```
$response->getRequestStatus();
$response->getRequestToken();
```

Or even unmodified json response from the API (json\_decode into an array if needed):

```
$response->getCurlResponse();
```

Response also contains original Request object:

```
/** @var \Serhiy\Pushover\Client\Request\Request $request */
$request = $response->getRequest();
```

Request contains array for CURLOPT\_POSTFIELDS curl argument and full API URL.

```
$request->getCurlPostFields();
$request->getApiUrl();
```

Tip

For complete example refer to [ResponseExample.php](examples/ResponseExample.php).

Contributing
------------

[](#contributing)

Contributions are very welcome. If you would like to add functionality, before starting your work, please open an issue to discuss the feature you would like to work on.

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

Acknowledgments
---------------

[](#acknowledgments)

There are many PHP wrappers for Pushover API. However, most of them seem abandoned, missing features or require extra libraries to work. Nevertheless, many of them inspired me to work on this project.

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance60

Regular maintenance activity

Popularity40

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 70.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~67 days

Recently: every ~142 days

Total

24

Last Release

673d ago

Major Versions

v0.10.0 → v1.0.02020-08-08

PHP version history (3 changes)v0.1.0PHP ^7.1

v1.1.0PHP &gt;=7.1

v1.3.0PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/17b11cd56dee128da0cfd793e12a06cd387ea03f087ba29aaa0d405fbf88d0a9?d=identicon)[irish\_sonas](/maintainers/irish_sonas)

---

Top Contributors

[![slunak](https://avatars.githubusercontent.com/u/8351121?v=4)](https://github.com/slunak "slunak (186 commits)")[![OskarStark](https://avatars.githubusercontent.com/u/995707?v=4)](https://github.com/OskarStark "OskarStark (63 commits)")[![Vitexus](https://avatars.githubusercontent.com/u/2621130?v=4)](https://github.com/Vitexus "Vitexus (14 commits)")

---

Tags

api-wrapperpushoverpushover-apipushover-notificationspushover-phpclientwrapperpushoverpushover.net

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/serhiy-pushover/health.svg)

```
[![Health](https://phpackages.com/badges/serhiy-pushover/health.svg)](https://phpackages.com/packages/serhiy-pushover)
```

###  Alternatives

[codedredd/laravel-soap

A SoapClient wrapper integration for Laravel

223554.0k3](/packages/codedredd-laravel-soap)[stevenmaguire/trello-php

PHP wrapper for Trello API

88329.9k2](/packages/stevenmaguire-trello-php)[swader/diffbot-php-client

A PHP wrapper for using Diffbot's API

5328.5k](/packages/swader-diffbot-php-client)[camcima/camcima-soap-client

Wrapper around PHP SoapClient class

2772.6k2](/packages/camcima-camcima-soap-client)[dhope0000/lxd

PHP-based API wrapper for LXD REST API.

136.8k](/packages/dhope0000-lxd)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
