PHPackages                             arodygin/linode-api-php - 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. arodygin/linode-api-php

Abandoned → [webinarium/linode-api3](/?search=webinarium%2Flinode-api3)Library[API Development](/categories/api)

arodygin/linode-api-php
=======================

Linode API v3 Client Library for PHP

1.1.15(7y ago)313.8k2MITPHPPHP &gt;=5.6

Since Jan 16Pushed 7y ago5 watchersCompare

[ Source](https://github.com/arodygin/php-linode-api3)[ Packagist](https://packagist.org/packages/arodygin/linode-api-php)[ Docs](https://github.com/webinarium/linode-api3)[ RSS](/packages/arodygin-linode-api-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (20)Used By (0)

[![PHP](https://camo.githubusercontent.com/f158ce25773c5cfb6d45aa8d5887425f0102ecebbfc0696aa32d213b00e7245a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d352e362532422d626c75652e737667)](https://secure.php.net/migration56)[![Latest Stable Version](https://camo.githubusercontent.com/b5581a7c0158f68bb6e9655479ea9591108ec173e9e409328232776686ce736a/68747470733a2f2f706f7365722e707567782e6f72672f776562696e617269756d2f6c696e6f64652d617069332f762f737461626c65)](https://packagist.org/packages/webinarium/linode-api3)[![Build Status](https://camo.githubusercontent.com/8f76ba33abd46bd958f8d926de5e7a1afd067fdd0500b0040a230427909f64ed/68747470733a2f2f7472617669732d63692e6f72672f776562696e617269756d2f6c696e6f64652d617069332e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/webinarium/linode-api3)[![Code Coverage](https://camo.githubusercontent.com/835d3ee122d6ad0f264a11fbf51de0c6d9c27a4fc45cac21f1e4dcf7ef762edf/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f776562696e617269756d2f6c696e6f64652d617069332f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/webinarium/linode-api3/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/3d7dae0d49515ee32398e9e53c4633e0aa7fdab08b3a7816facad2980907337d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f776562696e617269756d2f6c696e6f64652d617069332f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/webinarium/linode-api3/?branch=master)

Linode API v3 Client Library for PHP
====================================

[](#linode-api-v3-client-library-for-php)

This library implements full spec of Linode API v3 (in accordance with ), including functions which are not described at the [Linode's site](https://www.linode.com/api) yet (the documentation seems to be slightly outdated at the moment).

The library wasn't actually implemented, but autogenerated from the [spec](https://api.linode.com/?api_action=api.spec). This approach provides several advantages as:

- we can be sure that nothing from the spec is missed,
- no implementation errors which could be caused by human factor,
- in case of the spec extension it's fast and easy to update the library's code.

Also please note that "[test.echo](https://www.linode.com/api/utility/test.echo)" is skipped from the implementation.

Warning
-------

[](#warning)

The library addresses Linode's legacy API. For most recent API please refer to [this library](https://github.com/webinarium/linode-api).

Requirements
------------

[](#requirements)

PHP needs to be a minimum version of PHP 5.6.

Installation
------------

[](#installation)

The recommended way to install is via Composer:

```
composer require "webinarium/linode-api3"
```

Usage Example
-------------

[](#usage-example)

Below is a complete example of how to create a new Linode host using the library:

```
use Linode\LinodeApi;
use Linode\LinodeException;
use Linode\PaymentTerm;

// Your API key from the Linode profile.
$key = '...';

// Hardcode some IDs to make the example shorter.
// Normally you might want to use "Linode\AvailApi" class functions.
$datacenter = 3;    // Fremont datacenter
$plan       = 1;    // we will use the cheapest plan

// Create new linode.
try {
    $api = new LinodeApi($key);
    $res = $api->create($datacenter, $plan, PaymentTerm::ONE_MONTH);

    printf("Linode #%d has been created.\n", $res['LinodeID']);
}
catch (LinodeException $e) {
    printf("Error #%d: %s.\n", $e->getCode(), $e->getMessage());
}
```

Batching Requests
-----------------

[](#batching-requests)

The Linode API also supports a batched mode, whereby you supply multiple request sets and receive back an array of responses. Example batch request using the library:

```
use Linode\Batch;
use Linode\LinodeApi;
use Linode\PaymentTerm;

// Your API key from the Linode profile.
$key = '...';

// Hardcode some IDs to make the example shorter.
// Normally you might want to use "Linode\AvailApi" class functions.
$datacenters = [2, 3, 4, 6];    // all four US datacenters
$plan        = 1;               // we will use the cheapest plan

// Create a batch.
$batch = new Batch($key);

// Create new linode on each of US datacenters.
$api = new LinodeApi($batch);

foreach ($datacenters as $datacenter) {
    $api->create($datacenter, $plan, PaymentTerm::ONE_MONTH);
}

// Execute batch.
$results = $batch->execute();

foreach ($results as $res) {
    printf("Linode #%d has been created.\n", $res['DATA']['LinodeID']);
}
```

Tests
-----

[](#tests)

Almost all tests are mocked so you don't have to use a real API key and no real linodes are affected. The only tests which make a complete API call are `TestTest` (for "[test.echo](https://www.linode.com/api/utility/test.echo)") and `ApiTest` (for "[api.spec](https://www.linode.com/api/utility/api.spec)"):

```
./bin/phpunit --coverage-text
```

Library regeneration
--------------------

[](#library-regeneration)

If you would like to regenerate the library code, you can do it with two simple steps:

```
php ./generator/generator
php ./bin/php-cs-fixer fix
```

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity67

Established project with proven stability

 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 ~70 days

Recently: every ~119 days

Total

19

Last Release

2864d ago

PHP version history (4 changes)1.0.0PHP &gt;=5.2.0

1.1.1PHP ~5.2

1.1.6PHP &gt;=5.4.0

1.1.11PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/e875e09c96006b56b5aa9d3b9d33c6da38a77ea8df59d24667a852a5fd1102f9?d=identicon)[webinarium](/maintainers/webinarium)

---

Top Contributors

[![webinarium](https://avatars.githubusercontent.com/u/741349?v=4)](https://github.com/webinarium "webinarium (111 commits)")

---

Tags

apilinodephpapilinode

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/arodygin-linode-api-php/health.svg)

```
[![Health](https://phpackages.com/badges/arodygin-linode-api-php/health.svg)](https://phpackages.com/packages/arodygin-linode-api-php)
```

###  Alternatives

[m165437/laravel-blueprint-docs

API Blueprint Renderer for Laravel

22779.0k](/packages/m165437-laravel-blueprint-docs)

PHPackages © 2026

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