PHPackages                             transip/tipctl - 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. [CLI &amp; Console](/categories/cli)
4. /
5. transip/tipctl

ActiveLibrary[CLI &amp; Console](/categories/cli)

transip/tipctl
==============

TransIP REST API CLI client

v6.34.4(2mo ago)15782↓50%4[5 issues](https://github.com/transip/tipctl/issues)Apache-2.0PHPPHP ^7.2.5|^8.0

Since Feb 21Pushed 2mo ago10 watchersCompare

[ Source](https://github.com/transip/tipctl)[ Packagist](https://packagist.org/packages/transip/tipctl)[ RSS](/packages/transip-tipctl/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (52)Used By (0)

[ ![](https://camo.githubusercontent.com/f4a6ab4507548751f9c11bceccb36ede693307ef8ac19b700fc47d058eae9509/68747470733a2f2f7777772e7472616e7369702e6e6c2f696d672f63702f7472616e7369702d6c6f676f2e737667)](https://transip.eu)Tipctl
======

[](#tipctl)

TransIP Control (tipctl) is a tool that connects to the TransIP API from your terminal. It has all available resources implemented from the [TransIP RestAPI](https://api.transip.nl/rest/docs.html), and offers you commands to order, update and remove products from your TransIP account.

[![Latest Stable Version](https://camo.githubusercontent.com/1b066a691f03fdf503b60a2653adabdb74e659383c522818bb19aac3ce72a767/68747470733a2f2f706f7365722e707567782e6f72672f7472616e7369702f74697063746c2f762f737461626c653f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/transip/tipctl)[![License](https://camo.githubusercontent.com/65bde920694f8b4852cbc77d22607807a942b93df0b5d54d22eab52ad4ead351/68747470733a2f2f706f7365722e707567782e6f72672f7472616e7369702f74697063746c2f6c6963656e73653f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/transip/tipctl)

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

[](#requirements)

- PHP 7.2.0 or later.
- [json](https://www.php.net/manual/en/book.json.php) (php extension)
- [openssl](https://www.php.net/manual/en/book.openssl.php) (php extension)

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

[](#installation)

There are two ways you can install Tipctl.

### Download and install the PHAR file

[](#download-and-install-the-phar-file)

This can be downloaded from our most recent [GitHub Release](https://github.com/transip/tipctl/releases).

Once the file has been downloaded, you must make sure that the phar file has a correct permission for it to be an executable.

```
# Go to tipctl.phar
cd /path/to/tipctl

# Make phar file executable
chmod +x ./tipctl.phar

# Test if the tipctl is executable
./tipctl.phar --version
```

It is important to note that you must use `./` every time to indicate you are using the tipctl executable from your current directory. This is because the command line (bash) interprets all commands by looking for commands in locations described in the environment variable `$PATH`. If you want to use the tipctl command globally, then we recommend installing using composer.

### Install with Composer

[](#install-with-composer)

You can install Tipctl using [Composer](http://getcomposer.org/). Run the following command:

```
composer global require transip/tipctl
```

Now that the tipctl binary is available globally, make sure that your global vendor binaries directory is included in your environment `$PATH` variable. You can get the vendor binaries directory by using the following command:

```
composer global config bin-dir --absolute
```

Now execute the following command to see the version of tipctl installed:

```
tipctl --version
```

Getting started
---------------

[](#getting-started)

Run the user interactive setup script

```
tipctl setup
```

You can also run the setup script with no user interaction

```
tipctl setup --no-interaction --apiUrl='https://api.transip.nl/v6' --loginName='yourUsername' --apiPrivateKey='yourKeyPair' --apiUseWhitelist=true

# When using spaces to separate an option from its value, you must escape the beginning of your private key
tipctl setup --no-interaction --apiUrl 'https://api.transip.nl/v6' --loginName 'yourUsername' --apiPrivateKey '\-----BEGIN PRIVATE KEY-----...' --apiUseWhitelist=true
```

Usage / Commands
----------------

[](#usage--commands)

### List all available commands

[](#list-all-available-commands)

```
tipctl list
```

### List all of your domains

[](#list-all-of-your-domains)

```
tipctl domain:getall
```

### Update a single DNS record on your domain

[](#update-a-single-dns-record-on-your-domain)

```
# See usage information
tipctl domain:dns:updatednsentry -h

# Update a DNS record
tipctl domain:dns:updatednsentry example.com subdomain 300 A 37.97.254.1
```

### Understanding how to use the help argument

[](#understanding-how-to-use-the-help-argument)

When using tipctl you can use a `-h` argument to get information about how a specified command works.

```
# Passing a help argument to any command
# tipctl  -h
```

From the above example, the help argument should be used and interpeted like this:

```
# Example for attach vps command
tipctl bigstorage:attachvps -h
```

And this will output the following:

```
Description:
  Attach your big storage to your vps

Usage:
  bigstorage:attachvps [options] [--]

Arguments:
  BigStorageName         The name of the big storage
  VpsName                Name of the vps that the big storage should attach to.

```

Usage example and how it should be interpeted

```
# We look at the following usage example:
# bigstorage:attachvps [options] [--]

# Interpertation of the above
tipctl bigstorage:attachvps example-bigstorage3 examples-vps4
```

Demo / Read Only Modes
----------------------

[](#demo--read-only-modes)

### Test mode

[](#test-mode)

Test mode allows you to connect to your TransIP account and execute actions without making any changes to your products or your account. In the test process, all actions are evaluated as best as possible, comparable to production mode. If any given argument is incorrect, then you will see errors that explain why a query was unsuccessful.

While executing any command, you can provide an argument called `--test`. This lets our API know that the command you executed is a test and no changes will occur in your TransIP account.

```
# Example for all commands
# tipctl --test

# How you should use this
tipctl --test vps:order vps-bladevps-x1 debian-9
```

### Demo mode

[](#demo-mode)

Demo mode allows you to connect to the [TransIP demo account](https://www.transip.nl/demo-account/) and interact with the demo account to give you perspective on how you can use Tipctl with a TransIP account.

```
# Example for all commands
# tipctl --demo

# How this should be used
tipctl --demo vps:getall
```

RestAPI Library
===============

[](#restapi-library)

How PHP resource calls are implemented
--------------------------------------

[](#how-php-resource-calls-are-implemented)

Since this project is built on the RestAPI PHP library, in the [library README.md](https://github.com/transip/transip-api-php/blob/master/README.md) we recommend to look in to this CLI project for examples on how we have implemented the available resource calls that exist in the RestAPI library.

### Where to find the implementations

[](#where-to-find-the-implementations)

All commands implemented in this project are located inside the `src/Command/` directory. Each class represents a command for Tipctl.

Every class has a execute method that will look like this:

```
protected function execute(InputInterface $input, OutputInterface $output)
{
    $domains = $this->getTransipApi()->domains()->getAll();
    $this->output($domains);
}
```

The code snippet in the code above is equivalent to this library example:

```
$domains = $api->domains()->getAll();
```

To see how to retrieve all invoices in your TransIP account, you would look in to the file: `src/Command/Invoice/GetAll.php`

The code example for this should be interpreted like this:

```
/**
* Implementation in tipctl
 */
protected function execute(InputInterface $input, OutputInterface $output)
{
    $page = $input->getArgument(Field::PAGE);
    $itemsPerPage = $input->getArgument(Field::ITEMS_PER_PAGE);

    $invoices = $this->getTransipApi()->invoice()->getSelection($page, $itemsPerPage);

    $this->output($invoices);
}

/**
* How this implementation should be interpreted and used when using the RestAPI library
 */
$page = 1;
$itemsPerPage = 25;
$invoices = $api->invoice()->getSelection($page, $itemsPerPage);
print_r($invoices);
```

To see all implementations in this project, you can see what commands are available by downloading Tipctl and listing all available commands. You can then use this as a reference point to find your desired class.

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance77

Regular maintenance activity

Popularity26

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Recently: every ~180 days

Total

47

Last Release

83d ago

PHP version history (3 changes)v6.0.0PHP ^7.2.0

v6.6.1PHP ^7.2.0|^8.0

v6.22.0PHP ^7.2.5|^8.0

### Community

Maintainers

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

---

Top Contributors

[![samihsoylu](https://avatars.githubusercontent.com/u/7690781?v=4)](https://github.com/samihsoylu "samihsoylu (180 commits)")[![conFrituur](https://avatars.githubusercontent.com/u/8106368?v=4)](https://github.com/conFrituur "conFrituur (108 commits)")[![dionbosschieter](https://avatars.githubusercontent.com/u/1027768?v=4)](https://github.com/dionbosschieter "dionbosschieter (48 commits)")[![svenwiltink](https://avatars.githubusercontent.com/u/5948093?v=4)](https://github.com/svenwiltink "svenwiltink (15 commits)")[![roeldijkstra](https://avatars.githubusercontent.com/u/54985654?v=4)](https://github.com/roeldijkstra "roeldijkstra (11 commits)")[![phorick](https://avatars.githubusercontent.com/u/55977794?v=4)](https://github.com/phorick "phorick (10 commits)")[![roald-teamblue](https://avatars.githubusercontent.com/u/106533747?v=4)](https://github.com/roald-teamblue "roald-teamblue (8 commits)")[![fvanmaldegem](https://avatars.githubusercontent.com/u/1346546?v=4)](https://github.com/fvanmaldegem "fvanmaldegem (6 commits)")[![tgooren](https://avatars.githubusercontent.com/u/81308953?v=4)](https://github.com/tgooren "tgooren (6 commits)")

---

Tags

apicliclientresttransiptransip-api-v6

###  Code Quality

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/transip-tipctl/health.svg)

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

###  Alternatives

[drush/drush

Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.

2.4k57.4M685](/packages/drush-drush)[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k12.4M193](/packages/simplesamlphp-simplesamlphp)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[silverstripe/framework

The SilverStripe framework

7213.5M2.5k](/packages/silverstripe-framework)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)

PHPackages © 2026

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