PHPackages                             messagemedia/signingkeys-sdk - 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. messagemedia/signingkeys-sdk

ActiveLibrary[API Development](/categories/api)

messagemedia/signingkeys-sdk
============================

The MessageMedia Signature Key API provides a number of endpoints for managing key used to sign each unique request to ensure security and the requests can't (easily) be spoofed. This is similar to using HMAC in your outbound messaging (rather than HTTP Basic).

v1.1.0(7y ago)116Apache-2.0PHPPHP &gt;=5.4.0

Since Jun 27Pushed 7y ago3 watchersCompare

[ Source](https://github.com/messagemedia/signingkeys-php-sdk)[ Packagist](https://packagist.org/packages/messagemedia/signingkeys-sdk)[ Docs](https://github.com/messagemedia/signingkeys-php-sdk)[ RSS](/packages/messagemedia-signingkeys-sdk/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

MessageMedia Signature Key Management PHP SDK
=============================================

[](#messagemedia-signature-key-management-php-sdk)

[![Pull Requests Welcome](https://camo.githubusercontent.com/7d9ed3c8f22eceb1711573169b1390cc0b1194467340dc815205060c162b5309/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e7376673f7374796c653d666c6174)](http://makeapullrequest.com)[![PHP version](https://camo.githubusercontent.com/6bbfc743be17b3680069fc85a4a6380d5df0d6b99724c5e5284512b404225ffb/68747470733a2f2f62616467652e667572792e696f2f70682f6d6573736167656d656469612532467369676e696e676b6579732d73646b2e737667)](https://badge.fury.io/ph/messagemedia%2Fsigningkeys-sdk)

The MessageMedia Signature Key API provides a number of endpoints for managing key used to sign each unique request to ensure security and the requests can't (easily) be spoofed. This is similar to using HMAC in your outbound messaging (rather than HTTP Basic).

[![Isometric](https://camo.githubusercontent.com/d5e0a3185fab910359eed8258601e3105ca59d4cf874ea7ba1e4c6562796624e/687474703a2f2f6936342e74696e797069632e636f6d2f326c6f336e38702e6a7067)](https://camo.githubusercontent.com/d5e0a3185fab910359eed8258601e3105ca59d4cf874ea7ba1e4c6562796624e/687474703a2f2f6936342e74696e797069632e636f6d2f326c6f336e38702e6a7067)

Table of Contents
-----------------

[](#table-of-contents)

- [Authentication](#closed_lock_with_key-authentication)
- [Errors](#interrobang-errors)
- [Information](#newspaper-information)
    - [Slack and Mailing List](#slack-and-mailing-list)
    - [Bug Reports](#bug-reports)
    - [Contributing](#contributing)
- [Installation](#star-installation)
- [Get Started](#clapper-get-started)
- [API Documentation](#closed_book-api-documentation)
- [Need help?](#confused-need-help)
- [License](#page_with_curl-license)

🔐 Authentication
----------------

[](#closed_lock_with_key-authentication)

Authentication is done via API keys. Sign up at  to get your API keys.

Requests are authenticated using HTTP Basic Auth or HMAC. Provide your API key as the auth\_user\_name and API secret as the auth\_password.

⁉️ Errors
---------

[](#interrobang-errors)

Our API returns standard HTTP success or error status codes. For errors, we will also include extra information about what went wrong encoded in the response as JSON. The most common status codes are listed below.

#### HTTP Status Codes

[](#http-status-codes)

CodeTitleDescription201OKThe request was successful400Invalid RequestThe request was invalid401UnauthorizedYour API credentials are invalid403Disabled featureFeature not enabled404Not FoundThe resource does not exist50XInternal Server ErrorAn error occurred with our API📰 Information
-------------

[](#newspaper-information)

#### Slack and Mailing List

[](#slack-and-mailing-list)

If you have any questions, comments, or concerns, please join our Slack channel:

Alternatively you can email us at:

#### Bug reports

[](#bug-reports)

If you discover a problem with the SDK, we would like to know about it. You can raise an [issue](https://github.com/messagemedia/signingkeys-nodejs-sdk/issues) or send an email to:

#### Contributing

[](#contributing)

We welcome your thoughts on how we could best provide you with SDKs that would simplify how you consume our services in your application. You can fork and create pull requests for any features you would like to see or raise an [issue](https://github.com/messagemedia/signingkeys-nodejs-sdk/issues)

⭐ Installation
--------------

[](#star-installation)

Run the Composer command to install the latest stable version of the Messages SDK:

```
composer require messagemedia/signingkeys-sdk

```

🎬 Get Started
-------------

[](#clapper-get-started)

It's easy to get started. Simply enter the API Key and secret you obtained from the [MessageMedia Developers Portal](https://developers.messagemedia.com) into the code snippet below.

### Create a signature key

[](#create-a-signature-key)

```
require_once "../vendor/autoload.php";

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new MessageMediaSigningKeysLib\MessageMediaSigningKeysClient($basicAuthUserName, $basicAuthPassword);
$signatureKeyManagement = $client->getSignatureKeyManagement();

$bodyValue = "{
  \"digest\": \"SHA224\",
  \"cipher\": \"RSA\"
}";
$body = APIHelper::deserialize($bodyValue);

$result = $signatureKeyManagement->createSignatureKey($body);
```

### Get signature key details

[](#get-signature-key-details)

You can get a key\_id by looking at the id of the signature key created from the response of the above example.

```
require_once "../vendor/autoload.php";

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new MessageMediaSigningKeysLib\MessageMediaSigningKeysClient($basicAuthUserName, $basicAuthPassword);
$signatureKeyManagement = $client->getSignatureKeyManagement();

$keyId = 'key_id';

$result = $signatureKeyManagement->getSignatureKeyDetail($keyId);
```

### Get signature keys list

[](#get-signature-keys-list)

```
require_once "../vendor/autoload.php";

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new MessageMediaSigningKeysLib\MessageMediaSigningKeysClient($basicAuthUserName, $basicAuthPassword);
$signatureKeyManagement = $client->getSignatureKeyManagement();

$result = $signatureKeyManagement->getSignatureKeyList();
```

### Delete signature key

[](#delete-signature-key)

You can get the key\_id by looking at the ids of the signature keys returned from the response of the `Get signature keys list` example.

```
require_once "../vendor/autoload.php";

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new MessageMediaSigningKeysLib\MessageMediaSigningKeysClient($basicAuthUserName, $basicAuthPassword);
$signatureKeyManagement = $client->getSignatureKeyManagement();

$keyId = 'key_id';

$signatureKeyManagement->deleteSignatureKey($keyId);
```

### Enable a signature key

[](#enable-a-signature-key)

You can get the key\_id by looking at the ids of the signature keys returned from the response of the `Get signature keys list` example.

```
require_once "../vendor/autoload.php";

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new MessageMediaSigningKeysLib\MessageMediaSigningKeysClient($basicAuthUserName, $basicAuthPassword);
$signatureKeyManagement = $client->getSignatureKeyManagement();

$body = new EnableSignatureKeyRequest({
  "key_id": "7ca628a8-08b0-4e42-aeb8-960b37049c31"
});

$result = $signatureKeyManagement->updateEnableSignatureKey($body);
```

### Get enabled signature key

[](#get-enabled-signature-key)

```
require_once "../vendor/autoload.php";

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new MessageMediaSigningKeysLib\MessageMediaSigningKeysClient($basicAuthUserName, $basicAuthPassword);
$signatureKeyManagement = $client->getSignatureKeyManagement();

$result = $signatureKeyManagement->getEnabledSignatureKey();
```

### Disable an enabled signature key

[](#disable-an-enabled-signature-key)

```
require_once "../vendor/autoload.php";

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new MessageMediaSigningKeysLib\MessageMediaSigningKeysClient($basicAuthUserName, $basicAuthPassword);
$signatureKeyManagement = $client->getSignatureKeyManagement();

$signatureKeyManagement->deleteDisableTheCurrentEnabledSignatureKey();
```

📕 API Reference Documentation
-----------------------------

[](#closed_book-api-reference-documentation)

Check out the [full API documentation](https://developers.messagemedia.com/code/signingkeys-api-documentation/) for more detailed information.

😕 Need help?
------------

[](#confused-need-help)

Please contact developer support at  or check out the developer portal at [developers.messagemedia.com](https://developers.messagemedia.com/)

📃 License
---------

[](#page_with_curl-license)

Apache License. See the [LICENSE](LICENSE) file.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~7 days

Total

2

Last Release

2866d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/154d8755fbdd69e7e0297356c815fe61a5d9983a302b26455d96219659061655?d=identicon)[messagemedia](/maintainers/messagemedia)

---

Top Contributors

[![IbrahimTareq](https://avatars.githubusercontent.com/u/12100715?v=4)](https://github.com/IbrahimTareq "IbrahimTareq (11 commits)")

---

Tags

apinodejssignatureapisdkSignature Key Management

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/messagemedia-signingkeys-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/messagemedia-signingkeys-sdk/health.svg)](https://phpackages.com/packages/messagemedia-signingkeys-sdk)
```

###  Alternatives

[bandwidth/sdk

Bandwidth's set of APIs

16948.8k1](/packages/bandwidth-sdk)[messagemedia/messages-sdk

The MessageMedia Messages API provides a number of endpoints for building powerful two-way messaging applications.

13390.6k](/packages/messagemedia-messages-sdk)

PHPackages © 2026

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