Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



62 Commits

Repository files navigation

Nimbusec, PHP API Client

Total Downloads Latest Stable Version License

The official Nimbusec API client written in PHP.

It provides an interface for communicating and requesting our internal system, easily and securely. The authentication is done through OAuth and it uses GuzzleHTTP for HTTP requests. Fully integrable with Composer, the client conforms to PSR-4 for autoloading.

It covers most of our interal resources and gives the functionality for quering and submit to them, respectively.

More information about the structure of our API can be found at our knowledge base.


The API client requires PHP >=5.6.0 to run successfully.

Installing Client

The recommended way is through Composer.

# Install Composer in the current directory (the default name will be composer.phar)
$ curl -sS | php

# or install it globally
curl -sS | sudo php -- --install-dir=/usr/local/bin --filename=composer

Next, run the composer command to install the latest stable version of the API client.

# Local installation
php composer.phar require nimbusec/nimbusec-php

# or
composer require nimbusec/nimbusec-php

After installing, use Composer's autoloader to get it running:

require ("vendor/autoload.php")

use Nimbusec\API as API;

// put code in here

Keep the client up-to-date by running Composer's update command:

composer update nimbusec/nimbusec-php

Basic usage


// Include autoloader to load Nimbusec API automatically.

// Write alias for Nimbusec API.
use Nimbusec\API as API;

// Set credentials.

// Create a Nimbusec API client instance.
// The default URL parameter can be omitted.

try {
    // Fetch domains.
    $domains = $api->findDomains();
    foreach ($domains as $domain) {
        echo $domain["name"] . "\n";

} catch (Exception $e) {
    echo "[x] an error occured: {$e->getMessage()}\n";

Take a look at our provided example scripts for futher usages. Note that some examples cannot be executed dynamically, whenever this is the case, you'll find a "TODO:"-comment with a short description on how to use the corresponding endpoint. Mind that these examples do naturally change entries in the database! They should only be used as a reference in combination with our swagger documentation


Want to help improving our API client by finding bugs? Great! Then clone or fork this repository and install the development dependencies with Composer:

git clone cumulodev/nimbusec-php
cd cumulodev/nimbusec-php
composer update

This installs all PHPUnit dependencies that you need to run our Unittest.

Our Unittests can be found at /tests and expect three environment variables to be set:

export SDK_KEY="your key"
export SDK_SECRET="your key"
export SDK_URL=""

# another one is optional but not required for all tests
export SDK_BUNDLE="the id of your bundle"

When having them set, run the Composer script to test them:

composer test

# alternatively
./vendor/bin/phpunit --verbose

Did you encouter any problems? Then contact us at via email (see below), write an issue or even provide a solution by a pull request. Of course, you are also free to investigate our code and report anything suspicious.

Thank you for help. We appreciate it.

Further Information

For further information please visit or you can write us an e-mail to