API v7.0

This page contains a list of resources available in API v7.0, their actions, description, parameters and example usage.

This API is based on the HaveAPI framework. You can access it using existing clients:

The code examples found on this page are for HaveAPI v0.26.0, so be sure to use clients of the same version.

Initialization

Ruby

require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

JavaScript

import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

PHP

$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

CLI

$ haveapi-cli -u https://api.vpsfree.cz --version 7.0

File system

# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

curl

$ curl --request OPTIONS 'https://api.vpsfree.cz/v7.0/'

HTTP

OPTIONS /v7.0/ HTTP/1.1
Host: api.vpsfree.cz

Authentication methods

Basic


Authentication using HTTP basic. Username and password is passed via HTTP header. Its use is forbidden from web browsers.

Ruby

require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")


client.authenticate(:basic, user: "user", password: "secret")

JavaScript

import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});


api.authenticate("basic", {
  user: "user",
  password: "secret"
}, function (client, status) {
  console.log("Authenticated?", status);
});

PHP

$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");


$api->authenticate("basic", ["user" => "user", "password" => "secret"]);

CLI

# Provide credentials on command line
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 --auth basic --user user --password secret

# If username or password isn't provided, the user is asked on stdin
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 --auth basic --user user
Password: secret

File system

# Provide credentials as file system options
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0 -o auth_method=basic,user=myuser,password=secret

# If username or password isn't provided, the user is asked on stdin
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0 -o auth_method=basic,user=myuser
Password: secret

curl

# Password is asked on standard input
$ curl --request OPTIONS \
       --user username \
       'https://api.vpsfree.cz'
Password: secret

# Password given on the command line
$ curl --request OPTIONS \
       --user username:secret \
       'https://api.vpsfree.cz'

HTTP

GET / HTTP/1.1
Host: api.vpsfree.cz
Authorization: Basic dXNlcjpzZWNyZXQ=

Token


The client authenticates with credentials, usually username and password, and gets a token. From this point, the credentials can be forgotten and the token is used instead. Tokens can have different lifetimes, can be renewed and revoked. The token is passed either via HTTP header or query parameter.

HTTP header:
X-HaveAPI-Auth-Token
Query parameter:
_auth_token

Resources

Token


Token # Renew

Path:
POST /_auth/token/tokens/renew
Description:
Authentication required:
yes
Scope:
token#renew
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
hash
Namespace:
token
Label Name Type Description
Valid_to valid_to Datetime

Token # Request

Path:
POST /_auth/token/tokens
Description:
Authentication required:
no
Scope:
token#request
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
token
Label Name Required Type Validators Default Description
User user yes String
Present
empty
false
message
must be present and non-empty
Password password yes String
Present
empty
false
message
must be present and non-empty
Scope scope no String all
Lifetime lifetime yes String
Present
empty
false
message
must be present and non-empty
Include
values
["fixed", "renewable_manual", "renewable_auto", "permanent"]
message
%{value} cannot be used
fixed - the token has a fixed validity period, it cannot be renewed renewable_manual - the token can be renewed, but it must be done manually via renew action renewable_auto - the token is renewed automatically to now+interval every time it is used permanent - the token will be valid forever, unless deleted
Interval interval no Integer 300 How long will requested token be valid, in seconds.

Output parameters

Layout:
hash
Namespace:
token
Label Name Type Description
Token token String
Valid_to valid_to Datetime
Complete complete Boolean
Next_action next_action String

Token # Revoke

Path:
POST /_auth/token/tokens/revoke
Description:
Authentication required:
yes
Scope:
token#revoke
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Token # Totp

Path:
POST /_auth/token/tokens/totp
Description:
Authentication required:
no
Scope:
token#totp
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
token
Label Name Required Type Validators Default Description
Token token yes String
Present
empty
false
message
must be present and non-empty
TOTP code code yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
hash
Namespace:
token
Label Name Type Description
Token token String
Valid_to valid_to Datetime
Complete complete Boolean
Next_action next_action String

Ruby

require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")


# Get token using username and password
client.authenticate(:token, user: "user", password: "secret", scope: "scope")

puts "Token = #{client.auth.token}"

# Next time, the client can authenticate using the token directly
client.authenticate(:token, token: saved_token)

JavaScript

import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});


// Request a new token
api.authenticate("token", {
  user: "user",
  password: "secret",
  scope: "scope"
}, function (client, status) {
  console.log("Authenticated?", status);

  if (status)
    console.log("Token is", client.authProvider.token);
});

// Use an existing token
api.authenticate("token", {
  token: "qwertyuiop..."
}, function (client, status) {
  console.log("Authenticated?", status);
});

PHP

$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");


// Get token using username and password
$api->authenticate("token", ["user" => "user", "password" => "secret", "scope" => "scope"]);

echo "Token = ".$api->getAuthenticationProvider()->getToken();

// Next time, the client can authenticate using the token directly
$api->authenticate("token", ["token" => $savedToken]);

CLI

# Get token using username and password and save it to disk
# Note that the client always has to call some action. APIs should provide
# an action to get information about the current user, so that's what we're
# calling now.
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 --auth token --user user --scope scope --save user current
Password: secret

# Now the token is read from disk and the user does not have to provide username
# nor password and be authenticated
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 user current

File system

# Authenticate using username and password
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0 -o auth_method=token,user=myuser
Password: secret

# If you have generated a token, you can use it
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0 -o auth_method=token,token=yourtoken

# Note that the file system can read config file from haveapi-client, so if
# you set up authentication there, the file system will use it.

curl

# Acquire the token
$ curl --request POST \
       --header 'Content-Type: application/json' \
       --data-binary "{
  \"token\": {
    \"user\": \"user\",
    \"password\": \"secret\",
    \"scope\": \"scope\",
    \"lifetime\": \"fixed\"
  }
}" \
       'https://api.vpsfree.cz/_auth/token/tokens'

# Use a previously acquired token
$ curl --request OPTIONS \
       --header 'X-HaveAPI-Auth-Token: thetoken' \
       'https://api.vpsfree.cz'

HTTP

POST /_auth/token/tokens HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

{
  "token": {
    "user": "user",
    "password": "secret",
    "scope": "scope",
    "lifetime": "fixed"
  }
}

Oauth2


OAuth2 authorization provider. While OAuth2 support in HaveAPI clients is limited, it is possible to use your API as an authentication source and to use OAuth2 tokens to access the API. HaveAPI partially implements RFC 6749: authorization response type "code" and token grant types "authorization_code" and "refresh_token". Other response and grant types are not supported at this time. The access token can be passed as bearer token according to RFC 6750, or using a custom HTTP header when the Authorization header is not practical. The access and refresh tokens can be revoked as per RFC 7009.

Authorize URL:
https://auth.vpsfree.cz/_auth/oauth2/authorize
Token URL:
https://auth.vpsfree.cz/_auth/oauth2/token
Revoke URL:
https://auth.vpsfree.cz/_auth/oauth2/revoke

Ruby

# OAuth2 is not supported by HaveAPI Ruby client.

JavaScript

import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

// The JavaScript client must be configured with OAuth2 access token, it does not
// support the authorization procedure to obtain a new access token.
var accessToken = {
  access_token: "the access token"
};

// The client is authenticated immediately, no need for a callback
api.authenticate("oauth2", {access_token: accessToken});

PHP

// OAuth2 requires session
session_start();

// Client instance
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

// Check if we already have an access token
if (isset($_SESSION["access_token"])) {
  // We're already authenticated, reuse the existing access token
  $api->authenticate("oauth2", ["access_token" => $_SESSION["access_token"]]);

} else {
  // Follow the OAuth2 authorization process to get an access token using
  // authorization code
  $api->authenticate("oauth2", [
    // Client id and secret are given by the API server
    "client_id" => "your client id",
    "client_secret" => "your client secret",

    // This example code should run on the URL below
    "redirect_uri" => "https://your-client.tld/oauth2-callback",

    // Scopes are specific to the API implementation
    "scope" => "all",
  ]);

  $provider = $api->getAuthenticationProvider();

  // We don't have authorization code yet, request one
  if (!isset($_GET['code'])) {
    // Redirect the user to the authorization endpoint
    $provider->requestAuthorizationCode();
    exit;

  } else {
    // Request access token using the token endpoint
    $provider->requestAccessToken();

    // Store the access token in the session
    $_SESSION['access_token'] = $provider->jsonSerialize();
  }
}

CLI

# OAuth2 is not supported by HaveAPI Ruby CLI.

File system

# OAuth2 is not supported by haveapi-fs.

curl

# See RFC 6749 for authorization process and RFC 6750 for access token usage.

HTTP

# 1) Request authorization code
GET /_auth/oauth2/authorize?response_type=code&client_id=$client_id&state=$state&redirect_uri=$client_redirect_uri HTTP/1.1
Host: api.vpsfree.cz

# 2) The user logs in using this API

# 3) The API then redirects the user back to the client application
GET $client_redirect_uri?code=$authorization_code&state=$state
Host: client-application

# 4) The client application requests access token
POST /_auth/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=$authorization_code&redirect_uri=$client_redirect_uri&client_id=$client_id&client_secret=$client_secret

Resources

Follows a list of all resources in this API and their actions.

Action state


Browse states of blocking actions

Action state # Cancel

Path:
POST /v7.0/action_states/{action_state_id}/cancel
Description:
Authentication required:
no
Scope:
action_state#cancel
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Action state # Index

Path:
GET /v7.0/action_states
Description:
List states of pending actions
Authentication required:
no
Scope:
action_state#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
hash
Namespace:
action_state
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Order order no String
Include
values
["newest", "oldest"]
message
%{value} cannot be used
newest

Output parameters

Layout:
hash_list
Namespace:
action_states
Label Name Type Description
Id id Integer
Label label String
Finished finished Boolean
Status status Boolean Determines whether the action is proceeding or failing
Current progress current Integer
Total total Integer The action is finished when current equals to total
Unit unit String Unit of current and total
Can cancel can_cancel Boolean When true, execution of this action can be cancelled
Created at created_at Datetime
Updated at updated_at Datetime When was the progress last updated

Action state # Poll

Path:
GET /v7.0/action_states/{action_state_id}/poll
Description:
Returns when the action is completed or timeout occurs
Authentication required:
no
Scope:
action_state#poll
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
action_state
Label Name Required Type Validators Default Description
Timeout timeout no Float 15 in seconds
Progress update_in no Float number of seconds after which the state is returned if the progress has changed
Status status no Boolean status to check with if update_in is set
Current current no Integer progress to check with if update_in is set
Total total no Integer progress to check with if update_in is set

Output parameters

Layout:
hash
Namespace:
action_state
Label Name Type Description
Id id Integer
Label label String
Finished finished Boolean
Status status Boolean Determines whether the action is proceeding or failing
Current progress current Integer
Total total Integer The action is finished when current equals to total
Unit unit String Unit of current and total
Can cancel can_cancel Boolean When true, execution of this action can be cancelled
Created at created_at Datetime
Updated at updated_at Datetime When was the progress last updated

Action state # Show

Path:
GET /v7.0/action_states/{action_state_id}
Description:
Show state of a pending action
Authentication required:
no
Scope:
action_state#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
hash
Namespace:
action_state
Label Name Type Description
Id id Integer
Label label String
Finished finished Boolean
Status status Boolean Determines whether the action is proceeding or failing
Current progress current Integer
Total total Integer The action is finished when current equals to total
Unit unit String Unit of current and total
Can cancel can_cancel Boolean When true, execution of this action can be cancelled
Created at created_at Datetime
Updated at updated_at Datetime When was the progress last updated

Api server


Manage the API server itself

Api server # Unlock_transaction_signing_key

Path:
GET /v7.0/api_servers/unlock_transaction_signing_key
Description:
Unlock private key used for signing transactions
Authentication required:
yes
Scope:
api_server#unlock_transaction_signing_key
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
api_server
Label Name Required Type Validators Default Description
Passphrase passphrase yes String
Present
empty
false
message
must be present and non-empty

Output parameters

No parameters.

Cluster


Manage cluster

Cluster # Full_stats

Path:
GET /v7.0/cluster/full_stats
Description:
Full statistics information
Authentication required:
yes
Scope:
cluster#full_stats
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
hash
Namespace:
cluster
Label Name Type Description
Nodes_online nodes_online Integer
Node_count node_count Integer
Vps_running vps_running Integer
Vps_stopped vps_stopped Integer
Vps_suspended vps_suspended Integer
Vps_deleted vps_deleted Integer
Vps_count vps_count Integer
User_active user_active Integer
User_suspended user_suspended Integer
User_deleted user_deleted Integer
User_count user_count Integer
Ipv4_used ipv4_used Integer
Ipv4_count ipv4_count Integer

Cluster # Generate_migration_keys

Path:
POST /v7.0/cluster/generate_migration_keys
Description:
Generate ssh keys for VPS migrations where applicable
Authentication required:
yes
Scope:
cluster#generate_migration_keys
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Cluster # Public_stats

Path:
GET /v7.0/cluster/public_stats
Description:
Public statistics information
Authentication required:
no
Scope:
cluster#public_stats
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
cluster
Label Name Type Description
Number of users user_count Integer
Number of VPSes vps_count Integer
Number of free public IPv4 addresses ipv4_left Integer

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.cluster.public_stats

# reply is an instance of HaveAPI::Client::ResourceInstance
# reply.user_count = 1100
# reply.vps_count = 1560
# reply.ipv4_left = 256
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.cluster.public_stats(function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
  // reply.user_count = 1100
  // reply.vps_count = 1560
  // reply.ipv4_left = 256
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->cluster->public_stats();

// $reply is an instance of \HaveAPI\Client\ResourceInstance
// $reply->user_count = 1100
// $reply->vps_count = 1560
// $reply->ipv4_left = 256
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 cluster public_stats
                      Number of users:  1100
                      Number of VPSes:  1560
 Number of free public IPv4 addresses:  256

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/cluster/actions/public_stats

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1

# Query the output parameters
$ cat output/user_count
1100


$ cat output/vps_count
1560


$ cat output/ipv4_left
256

curl
Request
$ curl --request GET \
       --data-binary "{
  \"cluster\": {}
}" \
       'https://api.vpsfree.cz/v7.0/cluster/public_stats'
Response
{
  "status": true,
  "message": null,
  "response": {
    "cluster": {
      "user_count": 1100,
      "vps_count": 1560,
      "ipv4_left": 256
    }
  },
  "errors": null
}
HTTP
Request
GET /v7.0/cluster/public_stats HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 175

{
  "status": true,
  "message": null,
  "response": {
    "cluster": {
      "user_count": 1100,
      "vps_count": 1560,
      "ipv4_left": 256
    }
  },
  "errors": null
}
Path:
POST /v7.0/cluster/search
Description:
Search users and VPSes by IDs, names and owned objects
Authentication required:
yes
Scope:
cluster#search
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
cluster
Label Name Required Type Validators Default Description
Value value yes String
Present
empty
false
message
must be present and non-empty
Value to be searched for

Output parameters

Layout:
hash_list
Namespace:
clusters
Label Name Type Description
Resource resource String Resource name of the located object
ID id Integer Identifier of the located object
Attribute attribute String Name of the attribute containing the searched value
Value value String Located value

Cluster # Set_maintenance

Path:
POST /v7.0/cluster/set_maintenance
Description:
Set maintenance lock
Authentication required:
yes
Scope:
cluster#set_maintenance
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
cluster
Label Name Required Type Validators Default Description
Lock lock yes Boolean
Present
empty
false
message
must be present and non-empty
Reason reason no String

Output parameters

No parameters.

Cluster # Show

Path:
GET /v7.0/cluster
Description:
Cluster information
Authentication required:
yes
Scope:
cluster#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
cluster
Label Name Type Description
Maintenance_lock maintenance_lock Boolean
Maintenance_lock_reason maintenance_lock_reason String

Cluster resource


Manage environment resources

Cluster resource # Create

Path:
POST /v7.0/cluster_resources
Description:
Create an environment resource
Authentication required:
yes
Scope:
cluster_resource#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource
Label Name Required Type Validators Default Description
Resource name for internal purposes name no String
Label label no String
Minimum value min no Integer When an object is allocating a resource, it must use more than minimum
Maximum value max no Integer When an object is allocating a resource, it must not use more than maximum
Step size stepsize no Integer Steps in which the objects allocated resource value may be iterated

Output parameters

No parameters.

Cluster resource # Index

Path:
GET /v7.0/cluster_resources
Description:
List environment resources
Authentication required:
yes
Scope:
cluster_resource#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
cluster_resources
Label Name Type Description
Id id Integer
Resource name for internal purposes name String
Label label String
Minimum value min Integer When an object is allocating a resource, it must use more than minimum
Maximum value max Integer When an object is allocating a resource, it must not use more than maximum
Step size stepsize Integer Steps in which the objects allocated resource value may be iterated

Cluster resource # Show

Path:
GET /v7.0/cluster_resources/{cluster_resource_id}
Description:
Show environment resource
Authentication required:
yes
Scope:
cluster_resource#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
cluster_resource
Label Name Type Description
Id id Integer
Resource name for internal purposes name String
Label label String
Minimum value min Integer When an object is allocating a resource, it must use more than minimum
Maximum value max Integer When an object is allocating a resource, it must not use more than maximum
Step size stepsize Integer Steps in which the objects allocated resource value may be iterated

Cluster resource # Update

Path:
PUT /v7.0/cluster_resources/{cluster_resource_id}
Description:
Update an environment resource
Authentication required:
yes
Scope:
cluster_resource#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource
Label Name Required Type Validators Default Description
Resource name for internal purposes name no String
Label label no String
Minimum value min no Integer When an object is allocating a resource, it must use more than minimum
Maximum value max no Integer When an object is allocating a resource, it must not use more than maximum
Step size stepsize no Integer Steps in which the objects allocated resource value may be iterated

Output parameters

Layout:
object
Namespace:
cluster_resource
Label Name Type Description
Id id Integer
Resource name for internal purposes name String
Label label String
Minimum value min Integer When an object is allocating a resource, it must use more than minimum
Maximum value max Integer When an object is allocating a resource, it must not use more than maximum
Step size stepsize Integer Steps in which the objects allocated resource value may be iterated

Cluster resource package


Manage cluster resource packages

Cluster resource package # Create

Path:
POST /v7.0/cluster_resource_packages
Description:
Create a cluster resource package
Authentication required:
yes
Scope:
cluster_resource_package#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource_package
Label Name Required Type Validators Default Description
Label label yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be minimally 2
min
2

Output parameters

Layout:
object
Namespace:
cluster_resource_package
Label Name Type Description
Id id Integer
Label label String
Environment environment Resource
User user Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Cluster resource package # Delete

Path:
DELETE /v7.0/cluster_resource_packages/{cluster_resource_package_id}
Description:
Delete a cluster resource package
Authentication required:
yes
Scope:
cluster_resource_package#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Cluster resource package # Index

Path:
GET /v7.0/cluster_resource_packages
Description:
List cluster resource packages
Authentication required:
yes
Scope:
cluster_resource_package#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource_package
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Environment environment no Resource
User user no Resource

Output parameters

Layout:
object_list
Namespace:
cluster_resource_packages
Label Name Type Description
Id id Integer
Label label String
Environment environment Resource
User user Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Cluster resource package # Show

Path:
GET /v7.0/cluster_resource_packages/{cluster_resource_package_id}
Description:
Show cluster resource package
Authentication required:
yes
Scope:
cluster_resource_package#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
cluster_resource_package
Label Name Type Description
Id id Integer
Label label String
Environment environment Resource
User user Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Cluster resource package # Update

Path:
PUT /v7.0/cluster_resource_packages/{cluster_resource_package_id}
Description:
Update a cluster resource package
Authentication required:
yes
Scope:
cluster_resource_package#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource_package
Label Name Required Type Validators Default Description
Label label yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be minimally 2
min
2

Output parameters

Layout:
object
Namespace:
cluster_resource_package
Label Name Type Description
Id id Integer
Label label String
Environment environment Resource
User user Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Item


Manage cluster resource package contents

Cluster resource package.Item # Create

Path:
POST /v7.0/cluster_resource_packages/{cluster_resource_package_id}/items
Description:
Add item to a cluster resource package
Authentication required:
yes
Scope:
cluster_resource_package.item#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
item
Label Name Required Type Validators Default Description
ClusterResource cluster_resource no Resource
Value value no Integer

Output parameters

Layout:
object
Namespace:
item
Label Name Type Description
Id id Integer
ClusterResource cluster_resource Resource
Value value Integer

Cluster resource package.Item # Delete

Path:
DELETE /v7.0/cluster_resource_packages/{cluster_resource_package_id}/items/{item_id}
Description:
Delete an item from a cluster resource package
Authentication required:
yes
Scope:
cluster_resource_package.item#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Cluster resource package.Item # Index

Path:
GET /v7.0/cluster_resource_packages/{cluster_resource_package_id}/items
Description:
List cluster resource package contents
Authentication required:
yes
Scope:
cluster_resource_package.item#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
item
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
items
Label Name Type Description
Id id Integer
ClusterResource cluster_resource Resource
Value value Integer

Cluster resource package.Item # Show

Path:
GET /v7.0/cluster_resource_packages/{cluster_resource_package_id}/items/{item_id}
Description:
Show cluster resource package item
Authentication required:
yes
Scope:
cluster_resource_package.item#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
item
Label Name Type Description
Id id Integer
ClusterResource cluster_resource Resource
Value value Integer

Cluster resource package.Item # Update

Path:
PUT /v7.0/cluster_resource_packages/{cluster_resource_package_id}/items/{item_id}
Description:
Update item in a cluster resource package
Authentication required:
yes
Scope:
cluster_resource_package.item#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
item
Label Name Required Type Validators Default Description
Value value no Integer

Output parameters

Layout:
object
Namespace:
item
Label Name Type Description
Id id Integer
ClusterResource cluster_resource Resource
Value value Integer

Component


Browse vpsAdmin components

Component # Index

Path:
GET /v7.0/components
Description:
List vpsAdmin components
Authentication required:
no
Scope:
component#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
component
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
components
Label Name Type Description
Id id Integer
Name name String
Label label String
Description description Text

Component # Show

Path:
GET /v7.0/components/{component_id}
Description:
Show vpsAdmin component
Authentication required:
no
Scope:
component#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
component
Label Name Type Description
Id id Integer
Name name String
Label label String
Description description Text

Dataset


Manage datasets

Dataset # Create

Path:
POST /v7.0/datasets
Description:
Create a subdataset
Authentication required:
yes
Scope:
dataset#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dataset
Label Name Required Type Validators Default Description
Name name yes String
Present
empty
false
message
must be present and non-empty
Format
rx
\A[a-zA-Z0-9][a-zA-Z0-9_\-:./]{0,254}\z
match
true
description
message
'%{value}' is not a valid dataset name
Parent dataset dataset no Resource
Automount automount no Boolean false Automatically mount newly created datasets under all its parents
Access time atime no Boolean false Controls whether the access time for files is updated when they are read
Compression compression no Boolean true Toggle data compression in this dataset
Record size recordsize no Integer 131072 Specifies a suggested block size for files in the file system
Quota quota no Integer 0 Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota no Integer 0 Limits the amount of space a dataset can consume
Relative access time relatime no Boolean false Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync no String
Include
values
["standard", "disabled"]
message
%{value} cannot be used
standard Controls the behavior of synchronous requests
NFS share sharenfs no String Controls NFS sharing

Output parameters

Layout:
object
Namespace:
dataset
Label Name Type Description
Id id Integer
Name name String
Parent parent Resource
User user Resource Dataset owner
Environment environment Resource The environment in which the dataset is
Current_history_id current_history_id Integer
Access time atime Boolean Controls whether the access time for files is updated when they are read
Compression compression Boolean Toggle data compression in this dataset
Record size recordsize Integer Specifies a suggested block size for files in the file system
Quota quota Integer Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota Integer Limits the amount of space a dataset can consume
Relative access time relatime Boolean Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync String Controls the behavior of synchronous requests
NFS share sharenfs String Controls NFS sharing
Used space used Integer Amount of space used by dataset
Referenced space referenced Integer Amount of space that is accessible to this dataset
Available space avail Integer Amount of space left in dataset
Used compression ratio compressratio Float Compression ratio for used space of this dataset
Referenced compression ratio refcompressratio Float Compression ratio for referenced space of this dataset
VPS vps Resource
Export export Resource
DatasetExpansion dataset_expansion Resource

Dataset # Delete

Path:
DELETE /v7.0/datasets/{dataset_id}
Description:
Destroy a dataset with all its subdatasets and snapshots
Authentication required:
yes
Scope:
dataset#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Dataset # Find_by_name

Path:
GET /v7.0/datasets/find_by_name
Description:
Look up dataset by its name, possibly with a label
Authentication required:
yes
Scope:
dataset#find_by_name
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
dataset
Label Name Required Type Validators Default Description
Name name no String
User user no Resource Dataset owner

Output parameters

Layout:
object
Namespace:
dataset
Label Name Type Description
Id id Integer
Name name String
Parent parent Resource
User user Resource Dataset owner
Environment environment Resource The environment in which the dataset is
Current_history_id current_history_id Integer
Access time atime Boolean Controls whether the access time for files is updated when they are read
Compression compression Boolean Toggle data compression in this dataset
Record size recordsize Integer Specifies a suggested block size for files in the file system
Quota quota Integer Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota Integer Limits the amount of space a dataset can consume
Relative access time relatime Boolean Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync String Controls the behavior of synchronous requests
NFS share sharenfs String Controls NFS sharing
Used space used Integer Amount of space used by dataset
Referenced space referenced Integer Amount of space that is accessible to this dataset
Available space avail Integer Amount of space left in dataset
Used compression ratio compressratio Float Compression ratio for used space of this dataset
Referenced compression ratio refcompressratio Float Compression ratio for referenced space of this dataset
VPS vps Resource
Export export Resource
DatasetExpansion dataset_expansion Resource

Dataset # Index

Path:
GET /v7.0/datasets
Description:
List datasets
Authentication required:
yes
Scope:
dataset#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dataset
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource Dataset owner
VPS vps no Resource
Subtree dataset no Resource
Role role no String
Include
values
["hypervisor", "primary", "backup"]
message
%{value} cannot be used
Show only datasets of certain role
To depth to_depth no Integer Show only datasets to certain depth

Output parameters

Layout:
object_list
Namespace:
datasets
Label Name Type Description
Id id Integer
Name name String
Parent parent Resource
User user Resource Dataset owner
Environment environment Resource The environment in which the dataset is
Current_history_id current_history_id Integer
Access time atime Boolean Controls whether the access time for files is updated when they are read
Compression compression Boolean Toggle data compression in this dataset
Record size recordsize Integer Specifies a suggested block size for files in the file system
Quota quota Integer Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota Integer Limits the amount of space a dataset can consume
Relative access time relatime Boolean Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync String Controls the behavior of synchronous requests
NFS share sharenfs String Controls NFS sharing
Used space used Integer Amount of space used by dataset
Referenced space referenced Integer Amount of space that is accessible to this dataset
Available space avail Integer Amount of space left in dataset
Used compression ratio compressratio Float Compression ratio for used space of this dataset
Referenced compression ratio refcompressratio Float Compression ratio for referenced space of this dataset
VPS vps Resource
Export export Resource
DatasetExpansion dataset_expansion Resource

Dataset # Inherit

Path:
POST /v7.0/datasets/{dataset_id}/inherit
Description:
Inherit dataset property
Authentication required:
yes
Scope:
dataset#inherit
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dataset
Label Name Required Type Validators Default Description
Property property yes String
Present
empty
false
message
must be present and non-empty
Name of property to inherit from parent, multiple properties may be separated by a comma

Output parameters

No parameters.

Dataset # Show

Path:
GET /v7.0/datasets/{dataset_id}
Description:
Show a dataset
Authentication required:
yes
Scope:
dataset#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dataset
Label Name Type Description
Id id Integer
Name name String
Parent parent Resource
User user Resource Dataset owner
Environment environment Resource The environment in which the dataset is
Current_history_id current_history_id Integer
Access time atime Boolean Controls whether the access time for files is updated when they are read
Compression compression Boolean Toggle data compression in this dataset
Record size recordsize Integer Specifies a suggested block size for files in the file system
Quota quota Integer Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota Integer Limits the amount of space a dataset can consume
Relative access time relatime Boolean Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync String Controls the behavior of synchronous requests
NFS share sharenfs String Controls NFS sharing
Used space used Integer Amount of space used by dataset
Referenced space referenced Integer Amount of space that is accessible to this dataset
Available space avail Integer Amount of space left in dataset
Used compression ratio compressratio Float Compression ratio for used space of this dataset
Referenced compression ratio refcompressratio Float Compression ratio for referenced space of this dataset
VPS vps Resource
Export export Resource
DatasetExpansion dataset_expansion Resource

Dataset # Update

Path:
PUT /v7.0/datasets/{dataset_id}
Description:
Update a dataset
Authentication required:
yes
Scope:
dataset#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dataset
Label Name Required Type Validators Default Description
Access time atime no Boolean false Controls whether the access time for files is updated when they are read
Compression compression no Boolean true Toggle data compression in this dataset
Record size recordsize no Integer 131072 Specifies a suggested block size for files in the file system
Quota quota no Integer 0 Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota no Integer 0 Limits the amount of space a dataset can consume
Relative access time relatime no Boolean false Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync no String
Include
values
["standard", "disabled"]
message
%{value} cannot be used
standard Controls the behavior of synchronous requests
NFS share sharenfs no String Controls NFS sharing
Admin override admin_override no Boolean Make it possible to assign more resource than the user actually has
Admin lock type admin_lock_type no String
Include
values
["no_lock", "absolute", "not_less", "not_more"]
message
%{value} cannot be used
How is the admin lock enforced

Output parameters

No parameters.

Plan


Manage dataset plans

Dataset.Plan # Create

Path:
POST /v7.0/datasets/{dataset_id}/plans
Description:
Assign new dataset plan
Authentication required:
yes
Scope:
dataset.plan#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
plan
Label Name Required Type Validators Default Description
Environment_dataset_plan environment_dataset_plan yes Resource

Output parameters

Layout:
object
Namespace:
plan
Label Name Type Description
Id id Integer
Environment_dataset_plan environment_dataset_plan Resource

Dataset.Plan # Delete

Path:
DELETE /v7.0/datasets/{dataset_id}/plans/{plan_id}
Description:
Remove dataset plan
Authentication required:
yes
Scope:
dataset.plan#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Dataset.Plan # Index

Path:
GET /v7.0/datasets/{dataset_id}/plans
Description:
Authentication required:
yes
Scope:
dataset.plan#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
plan
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
plans
Label Name Type Description
Id id Integer
Environment_dataset_plan environment_dataset_plan Resource

Dataset.Plan # Show

Path:
GET /v7.0/datasets/{dataset_id}/plans/{plan_id}
Description:
Show dataset plan
Authentication required:
yes
Scope:
dataset.plan#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
plan
Label Name Type Description
Id id Integer
Environment_dataset_plan environment_dataset_plan Resource

Property history


View property history

Dataset.Property history # Index

Path:
GET /v7.0/datasets/{dataset_id}/property_history
Description:
Authentication required:
yes
Scope:
dataset.property_history#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
property_history
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
From from no Datetime
To to no Datetime
Name name no String

Output parameters

Layout:
object_list
Namespace:
property_histories
Label Name Type Description
Id id Integer
Name name String
Value value Integer
Created_at created_at Datetime

Dataset.Property history # Show

Path:
GET /v7.0/datasets/{dataset_id}/property_history/{property_history_id}
Description:
Authentication required:
yes
Scope:
dataset.property_history#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
property_history
Label Name Type Description
Id id Integer
Name name String
Value value Integer
Created_at created_at Datetime

Snapshot


Manage dataset snapshots

Dataset.Snapshot # Create

Path:
POST /v7.0/datasets/{dataset_id}/snapshots
Description:
Create snapshot
Authentication required:
yes
Scope:
dataset.snapshot#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
snapshot
Label Name Required Type Validators Default Description
Label label no String

Output parameters

Layout:
object
Namespace:
snapshot
Label Name Type Description
Id id Integer
Dataset dataset Resource
Name name String
Label label String
Created_at created_at Datetime
History_id history_id Integer
Mount mount Resource
Export export Resource

Dataset.Snapshot # Delete

Path:
DELETE /v7.0/datasets/{dataset_id}/snapshots/{snapshot_id}
Description:
Destroy a snapshot
Authentication required:
yes
Scope:
dataset.snapshot#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Dataset.Snapshot # Index

Path:
GET /v7.0/datasets/{dataset_id}/snapshots
Description:
List snapshots
Authentication required:
yes
Scope:
dataset.snapshot#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
snapshot
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
snapshots
Label Name Type Description
Id id Integer
Dataset dataset Resource
Name name String
Label label String
Created_at created_at Datetime
History_id history_id Integer
Mount mount Resource
Export export Resource

Dataset.Snapshot # Rollback

Path:
POST /v7.0/datasets/{dataset_id}/snapshots/{snapshot_id}/rollback
Description:
Rollback to a snapshot
Authentication required:
yes
Scope:
dataset.snapshot#rollback
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Dataset.Snapshot # Show

Path:
GET /v7.0/datasets/{dataset_id}/snapshots/{snapshot_id}
Description:
Show snapshot
Authentication required:
yes
Scope:
dataset.snapshot#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
snapshot
Label Name Type Description
Id id Integer
Dataset dataset Resource
Name name String
Label label String
Created_at created_at Datetime
History_id history_id Integer
Mount mount Resource
Export export Resource

Dataset expansion


Browse dataset expansions

Dataset expansion # Create

Path:
POST /v7.0/dataset_expansions
Description:
Create dataset expansion
Authentication required:
yes
Scope:
dataset_expansion#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Required Type Validators Default Description
Dataset dataset no Resource
Added space added_space no Integer
Number
message
has to be minimally 1
min
1
Enable notifications enable_notifications no Boolean Send emails about the expansion
Enable shrink enable_shrink no Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps no Boolean Stop the VPS after extra space is used too long or there are too many expansions
Max_over_refquota_seconds max_over_refquota_seconds no Integer

Output parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Type Description
ID id Integer
VPS vps Resource
Dataset dataset Resource
State state String
Original reference quota original_refquota Integer
Added space added_space Integer
Enable notifications enable_notifications Boolean Send emails about the expansion
Enable shrink enable_shrink Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps Boolean Stop the VPS after extra space is used too long or there are too many expansions
Over_refquota_seconds over_refquota_seconds Integer
Max_over_refquota_seconds max_over_refquota_seconds Integer
Created_at created_at Datetime

Dataset expansion # Index

Path:
GET /v7.0/dataset_expansions
Description:
List dataset expansions
Authentication required:
yes
Scope:
dataset_expansion#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
dataset_expansions
Label Name Type Description
ID id Integer
VPS vps Resource
Dataset dataset Resource
State state String
Original reference quota original_refquota Integer
Added space added_space Integer
Enable notifications enable_notifications Boolean Send emails about the expansion
Enable shrink enable_shrink Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps Boolean Stop the VPS after extra space is used too long or there are too many expansions
Over_refquota_seconds over_refquota_seconds Integer
Max_over_refquota_seconds max_over_refquota_seconds Integer
Created_at created_at Datetime

Dataset expansion # Register_expanded

Path:
POST /v7.0/dataset_expansions/register_expanded
Description:
Create dataset expansion for an already expanded dataset
Authentication required:
yes
Scope:
dataset_expansion#register_expanded
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Required Type Validators Default Description
Dataset dataset no Resource
Original reference quota original_refquota no Integer
Number
message
has to be minimally 1
min
1
Enable notifications enable_notifications no Boolean Send emails about the expansion
Enable shrink enable_shrink no Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps no Boolean Stop the VPS after extra space is used too long or there are too many expansions
Max_over_refquota_seconds max_over_refquota_seconds no Integer

Output parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Type Description
ID id Integer
VPS vps Resource
Dataset dataset Resource
State state String
Original reference quota original_refquota Integer
Added space added_space Integer
Enable notifications enable_notifications Boolean Send emails about the expansion
Enable shrink enable_shrink Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps Boolean Stop the VPS after extra space is used too long or there are too many expansions
Over_refquota_seconds over_refquota_seconds Integer
Max_over_refquota_seconds max_over_refquota_seconds Integer
Created_at created_at Datetime

Dataset expansion # Show

Path:
GET /v7.0/dataset_expansions/{dataset_expansion_id}
Description:
Show dataset expansion
Authentication required:
yes
Scope:
dataset_expansion#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Type Description
ID id Integer
VPS vps Resource
Dataset dataset Resource
State state String
Original reference quota original_refquota Integer
Added space added_space Integer
Enable notifications enable_notifications Boolean Send emails about the expansion
Enable shrink enable_shrink Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps Boolean Stop the VPS after extra space is used too long or there are too many expansions
Over_refquota_seconds over_refquota_seconds Integer
Max_over_refquota_seconds max_over_refquota_seconds Integer
Created_at created_at Datetime

Dataset expansion # Update

Path:
PUT /v7.0/dataset_expansions/{dataset_expansion_id}
Description:
Update dataset expansion
Authentication required:
yes
Scope:
dataset_expansion#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Required Type Validators Default Description
Enable notifications enable_notifications no Boolean Send emails about the expansion
Enable shrink enable_shrink no Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps no Boolean Stop the VPS after extra space is used too long or there are too many expansions
Max_over_refquota_seconds max_over_refquota_seconds no Integer

Output parameters

Layout:
object
Namespace:
dataset_expansion
Label Name Type Description
ID id Integer
VPS vps Resource
Dataset dataset Resource
State state String
Original reference quota original_refquota Integer
Added space added_space Integer
Enable notifications enable_notifications Boolean Send emails about the expansion
Enable shrink enable_shrink Boolean Automatically shrink the dataset when possible
Stop VPS stop_vps Boolean Stop the VPS after extra space is used too long or there are too many expansions
Over_refquota_seconds over_refquota_seconds Integer
Max_over_refquota_seconds max_over_refquota_seconds Integer
Created_at created_at Datetime

History


Browse dataset expansion history

Dataset expansion.History # Create

Path:
POST /v7.0/dataset_expansions/{dataset_expansion_id}/history
Description:
Add extra space to the dataset
Authentication required:
yes
Scope:
dataset_expansion.history#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
history
Label Name Required Type Validators Default Description
Added space added_space no Integer

Output parameters

Layout:
object
Namespace:
history
Label Name Type Description
Id id Integer
Added space added_space Integer
Original refquota original_refquota Integer
New refquota new_refquota Integer
Created at created_at Datetime
Admin admin Resource

Dataset expansion.History # Index

Path:
GET /v7.0/dataset_expansions/{dataset_expansion_id}/history
Description:
List dataset expansion history
Authentication required:
yes
Scope:
dataset_expansion.history#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
history
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
histories
Label Name Type Description
Id id Integer
Added space added_space Integer
Original refquota original_refquota Integer
New refquota new_refquota Integer
Created at created_at Datetime
Admin admin Resource

Dataset expansion.History # Show

Path:
GET /v7.0/dataset_expansions/{dataset_expansion_id}/history/{history_id}
Description:
Show dataset expansion history
Authentication required:
yes
Scope:
dataset_expansion.history#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
history
Label Name Type Description
Id id Integer
Added space added_space Integer
Original refquota original_refquota Integer
New refquota new_refquota Integer
Created at created_at Datetime
Admin admin Resource

Dataset plan


See dataset plans

Dataset plan # Index

Path:
GET /v7.0/dataset_plans
Description:
List dataset plans
Authentication required:
yes
Scope:
dataset_plan#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dataset_plan
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
dataset_plans
Label Name Type Description
ID id Integer
Label label String
Description description String

Dataset plan # Show

Path:
GET /v7.0/dataset_plans/{dataset_plan_id}
Description:
Show dataset plan
Authentication required:
yes
Scope:
dataset_plan#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dataset_plan
Label Name Type Description
ID id Integer
Label label String
Description description String

Debug


Internal debug actions

Debug # Array_top

Path:
GET /v7.0/debugs/array_top
Description:
List largest Ruby arrays
Authentication required:
yes
Scope:
debug#array_top
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
debug
Label Name Required Type Validators Default Description
Limit limit no Integer 10

Output parameters

Layout:
hash_list
Namespace:
debugs
Label Name Type Description
Size size Integer
Sample sample Custom

Debug # Hash_top

Path:
GET /v7.0/debugs/hash_top
Description:
List largest Ruby hashes
Authentication required:
yes
Scope:
debug#hash_top
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
debug
Label Name Required Type Validators Default Description
Limit limit no Integer 10

Output parameters

Layout:
hash_list
Namespace:
debugs
Label Name Type Description
Size size Integer
Sample sample Custom

Debug # List_object_counts

Path:
GET /v7.0/debugs/list_object_counts
Description:
List Ruby objects and their counts
Authentication required:
yes
Scope:
debug#list_object_counts
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
hash_list
Namespace:
debugs
Label Name Type Description
Object object String
Count count Integer

Default object cluster resource


Manage default cluster resources values for objects

Default object cluster resource # Create

Path:
POST /v7.0/default_object_cluster_resources
Description:
Create a default cluster resource value for object
Authentication required:
yes
Scope:
default_object_cluster_resource#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
default_object_cluster_resource
Label Name Required Type Validators Default Description
Environment environment yes Resource
ClusterResource cluster_resource yes Resource
Class_name class_name yes String
Present
empty
false
message
must be present and non-empty
Value value yes Integer
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
default_object_cluster_resource
Label Name Type Description
ID id Integer
Environment environment Resource
ClusterResource cluster_resource Resource
Class_name class_name String
Value value Integer

Default object cluster resource # Delete

Path:
DELETE /v7.0/default_object_cluster_resources/{default_object_cluster_resource_id}
Description:
Delete default cluster resource value for object
Authentication required:
yes
Scope:
default_object_cluster_resource#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Default object cluster resource # Index

Path:
GET /v7.0/default_object_cluster_resources
Description:
List default cluster resource values for objects
Authentication required:
yes
Scope:
default_object_cluster_resource#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
default_object_cluster_resource
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Environment environment no Resource
ClusterResource cluster_resource no Resource
Class_name class_name no String

Output parameters

Layout:
object_list
Namespace:
default_object_cluster_resources
Label Name Type Description
ID id Integer
Environment environment Resource
ClusterResource cluster_resource Resource
Class_name class_name String
Value value Integer

Default object cluster resource # Show

Path:
GET /v7.0/default_object_cluster_resources/{default_object_cluster_resource_id}
Description:
Show default cluster resource values for object
Authentication required:
yes
Scope:
default_object_cluster_resource#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
default_object_cluster_resource
Label Name Type Description
ID id Integer
Environment environment Resource
ClusterResource cluster_resource Resource
Class_name class_name String
Value value Integer

Default object cluster resource # Update

Path:
PUT /v7.0/default_object_cluster_resources/{default_object_cluster_resource_id}
Description:
Update default cluster resource value for object
Authentication required:
yes
Scope:
default_object_cluster_resource#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
default_object_cluster_resource
Label Name Required Type Validators Default Description
Value value yes Integer
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
default_object_cluster_resource
Label Name Type Description
ID id Integer
Environment environment Resource
ClusterResource cluster_resource Resource
Class_name class_name String
Value value Integer

Dns record


Manage DNS records

Dns record # Create

Path:
POST /v7.0/dns_records
Description:
Create a DNS record
Authentication required:
yes
Scope:
dns_record#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_record
Label Name Required Type Validators Default Description
DnsZone dns_zone yes Resource
User user no Resource
Name name no String Domain name, @ as alias to origin, * for wildcards
Type type yes String
Present
empty
false
message
must be present and non-empty
Include
values
["A", "AAAA", "CNAME", "DS", "MX", "NS", "PTR", "SRV", "TXT"]
message
%{value} cannot be used
Content content yes String
Present
empty
false
message
must be present and non-empty
TTL ttl no Integer Optional TTL in seconds, defaults to zone TTL
Priority priority no Integer Optional priority, used for MX and SRV records
Comment comment no Text
Length
message
length has to be maximally 255
max
255
Optional comment
Enabled enabled no Boolean true
Enable dynamic update dynamic_update_enabled no Boolean false Only for A and AAAA records

Output parameters

Layout:
object
Namespace:
dns_record
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
User user Resource
Name name String Domain name, @ as alias to origin, * for wildcards
Type type String
Content content String
TTL ttl Integer Optional TTL in seconds, defaults to zone TTL
Priority priority Integer Optional priority, used for MX and SRV records
Comment comment Text Optional comment
Enabled enabled Boolean
Enable dynamic update dynamic_update_enabled Boolean Only for A and AAAA records
Managed managed Boolean
Dynamic update URL dynamic_update_url String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns record # Delete

Path:
DELETE /v7.0/dns_records/{dns_record_id}
Description:
Delete DNS record
Authentication required:
yes
Scope:
dns_record#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Dns record # Dynamic_update

Path:
GET /v7.0/dns_records/dynamic_update/{access_token}
Description:
Update DNS record with the client's address
Authentication required:
no
Scope:
dns_record#dynamic_update
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_record
Label Name Type Description
Content content String

Dns record # Index

Path:
GET /v7.0/dns_records
Description:
List DNS records
Authentication required:
yes
Scope:
dns_record#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_record
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
DnsZone dns_zone no Resource
User user no Resource

Output parameters

Layout:
object_list
Namespace:
dns_records
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
User user Resource
Name name String Domain name, @ as alias to origin, * for wildcards
Type type String
Content content String
TTL ttl Integer Optional TTL in seconds, defaults to zone TTL
Priority priority Integer Optional priority, used for MX and SRV records
Comment comment Text Optional comment
Enabled enabled Boolean
Enable dynamic update dynamic_update_enabled Boolean Only for A and AAAA records
Managed managed Boolean
Dynamic update URL dynamic_update_url String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns record # Show

Path:
GET /v7.0/dns_records/{dns_record_id}
Description:
Show DNS record
Authentication required:
yes
Scope:
dns_record#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_record
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
User user Resource
Name name String Domain name, @ as alias to origin, * for wildcards
Type type String
Content content String
TTL ttl Integer Optional TTL in seconds, defaults to zone TTL
Priority priority Integer Optional priority, used for MX and SRV records
Comment comment Text Optional comment
Enabled enabled Boolean
Enable dynamic update dynamic_update_enabled Boolean Only for A and AAAA records
Managed managed Boolean
Dynamic update URL dynamic_update_url String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns record # Update

Path:
PUT /v7.0/dns_records/{dns_record_id}
Description:
Update DNS record
Authentication required:
yes
Scope:
dns_record#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_record
Label Name Required Type Validators Default Description
User user no Resource
Content content no String
TTL ttl no Integer Optional TTL in seconds, defaults to zone TTL
Priority priority no Integer Optional priority, used for MX and SRV records
Comment comment no Text
Length
message
length has to be maximally 255
max
255
Optional comment
Enabled enabled no Boolean true
Enable dynamic update dynamic_update_enabled no Boolean false Only for A and AAAA records

Output parameters

Layout:
object
Namespace:
dns_record
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
User user Resource
Name name String Domain name, @ as alias to origin, * for wildcards
Type type String
Content content String
TTL ttl Integer Optional TTL in seconds, defaults to zone TTL
Priority priority Integer Optional priority, used for MX and SRV records
Comment comment Text Optional comment
Enabled enabled Boolean
Enable dynamic update dynamic_update_enabled Boolean Only for A and AAAA records
Managed managed Boolean
Dynamic update URL dynamic_update_url String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns record log


Browse DNS record logs

Dns record log # Index

Path:
GET /v7.0/dns_record_logs
Description:
List DNS record logs
Authentication required:
yes
Scope:
dns_record_log#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_record_log
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
DNS zone dns_zone no Resource
DNS zone name dns_zone_name no String
Change type change_type no String
Include
values
["create_record", "update_record", "delete_record"]
message
%{value} cannot be used
Name name no String
Type type no String
Include
values
["A", "AAAA", "CNAME", "MX", "NS", "PTR", "SRV", "TXT"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
dns_record_logs
Label Name Type Description
ID id Integer
User user Resource
Raw_user_id raw_user_id Integer
DNS zone dns_zone Resource
DNS zone name dns_zone_name String
Change type change_type String
Name name String
Type type String
Attribute changes attr_changes Custom
TransactionChain transaction_chain Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns record log # Show

Path:
GET /v7.0/dns_record_logs/{dns_record_log_id}
Description:
Show DNS record log
Authentication required:
yes
Scope:
dns_record_log#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_record_log
Label Name Type Description
ID id Integer
User user Resource
Raw_user_id raw_user_id Integer
DNS zone dns_zone Resource
DNS zone name dns_zone_name String
Change type change_type String
Name name String
Type type String
Attribute changes attr_changes Custom
TransactionChain transaction_chain Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns resolver


Manage DNS resolvers

Dns resolver # Create

Path:
POST /v7.0/dns_resolvers
Description:
Create a DNS resolver
Authentication required:
yes
Scope:
dns_resolver#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_resolver
Label Name Required Type Validators Default Description
IP address ip_addr yes String
Present
empty
false
message
must be present and non-empty
Multiple addresses separated by comma
Label label yes String
Present
empty
false
message
must be present and non-empty
Is universal? is_universal yes Boolean
Present
empty
false
message
must be present and non-empty
Universal resolver is independent on location
Location location no Resource Location this resolver can be used on

Output parameters

Layout:
object
Namespace:
dns_resolver
Label Name Type Description
ID id Integer DNS resolver ID
IP address ip_addr String Multiple addresses separated by comma
Label label String
Is universal? is_universal Boolean Universal resolver is independent on location
Location location Resource Location this resolver can be used on

Dns resolver # Delete

Path:
DELETE /v7.0/dns_resolvers/{dns_resolver_id}
Description:
Authentication required:
yes
Scope:
dns_resolver#delete
Aliases:
destroy
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_resolver
Label Name Required Type Validators Default Description
Force deletion force no Boolean Delete the DNS resolver even it is in use. Affected VPSes get a new DNS resolver.

Output parameters

No parameters.

Dns resolver # Index

Path:
GET /v7.0/dns_resolvers
Description:
List DNS resolvers
Authentication required:
yes
Scope:
dns_resolver#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_resolver
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
VPS vps no Resource List DNS resolvers usable for a specific VPS

Output parameters

Layout:
object_list
Namespace:
dns_resolvers
Label Name Type Description
ID id Integer DNS resolver ID
IP address ip_addr String Multiple addresses separated by comma
Label label String
Is universal? is_universal Boolean Universal resolver is independent on location
Location location Resource Location this resolver can be used on

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.dns_resolver.index

# reply is an instance of HaveAPI::Client::ResourceInstanceList,
# which is a subclass of Array
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.dns_resolver.index(function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstanceList
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->dns_resolver->index();

// $reply is an instance of \HaveAPI\Client\ResourceInstanceList
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 dns_resolver index
            ID:  26
    IP address:  8.8.8.8
         Label:  Google DNS
 Is universal?:  true
      Location:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/dns_resolver/actions/index

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request GET \
       --data-binary "{
  \"dns_resolver\": {}
}" \
       'https://api.vpsfree.cz/v7.0/dns_resolvers'
Response
{
  "status": true,
  "message": null,
  "response": {
    "dns_resolvers": [
      {
        "id": 26,
        "ip_addr": "8.8.8.8",
        "label": "Google DNS",
        "is_universal": true,
        "location": null
      }
    ]
  },
  "errors": null
}
HTTP
Request
GET /v7.0/dns_resolvers HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 257

{
  "status": true,
  "message": null,
  "response": {
    "dns_resolvers": [
      {
        "id": 26,
        "ip_addr": "8.8.8.8",
        "label": "Google DNS",
        "is_universal": true,
        "location": null
      }
    ]
  },
  "errors": null
}

Dns resolver # Show

Path:
GET /v7.0/dns_resolvers/{dns_resolver_id}
Description:
Show DNS resolver
Authentication required:
yes
Scope:
dns_resolver#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_resolver
Label Name Type Description
ID id Integer DNS resolver ID
IP address ip_addr String Multiple addresses separated by comma
Label label String
Is universal? is_universal Boolean Universal resolver is independent on location
Location location Resource Location this resolver can be used on

Dns resolver # Update

Path:
PUT /v7.0/dns_resolvers/{dns_resolver_id}
Description:
Authentication required:
yes
Scope:
dns_resolver#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_resolver
Label Name Required Type Validators Default Description
IP address ip_addr no String Multiple addresses separated by comma
Label label no String
Is universal? is_universal no Boolean Universal resolver is independent on location
Location location no Resource Location this resolver can be used on

Output parameters

Layout:
object
Namespace:
dns_resolver
Label Name Type Description
ID id Integer DNS resolver ID
IP address ip_addr String Multiple addresses separated by comma
Label label String
Is universal? is_universal Boolean Universal resolver is independent on location
Location location Resource Location this resolver can be used on

Dns server


Manage authoritative DNS servers

Dns server # Create

Path:
POST /v7.0/dns_servers
Description:
Create an authoritative DNS server
Authentication required:
yes
Scope:
dns_server#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_server
Label Name Required Type Validators Default Description
Node node yes Resource
Name name yes String
Present
empty
false
message
must be present and non-empty
Ipv4_addr ipv4_addr no String
Ipv6_addr ipv6_addr no String
Hidden hidden no Boolean
Enable_user_dns_zones enable_user_dns_zones no Boolean
User_dns_zone_type user_dns_zone_type no String
Include
values
["primary_type", "secondary_type"]
message
%{value} cannot be used

Output parameters

Layout:
object
Namespace:
dns_server
Label Name Type Description
ID id Integer
Node node Resource
Name name String
Ipv4_addr ipv4_addr String
Ipv6_addr ipv6_addr String
Hidden hidden Boolean
Enable_user_dns_zones enable_user_dns_zones Boolean
User_dns_zone_type user_dns_zone_type String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns server # Delete

Path:
DELETE /v7.0/dns_servers/{dns_server_id}
Description:
Delete authoritative DNS server
Authentication required:
yes
Scope:
dns_server#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Dns server # Index

Path:
GET /v7.0/dns_servers
Description:
List authoritative DNS servers
Authentication required:
yes
Scope:
dns_server#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_server
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
dns_servers
Label Name Type Description
ID id Integer
Node node Resource
Name name String
Ipv4_addr ipv4_addr String
Ipv6_addr ipv6_addr String
Hidden hidden Boolean
Enable_user_dns_zones enable_user_dns_zones Boolean
User_dns_zone_type user_dns_zone_type String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns server # Show

Path:
GET /v7.0/dns_servers/{dns_server_id}
Description:
Show authoritative DNS server
Authentication required:
yes
Scope:
dns_server#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_server
Label Name Type Description
ID id Integer
Node node Resource
Name name String
Ipv4_addr ipv4_addr String
Ipv6_addr ipv6_addr String
Hidden hidden Boolean
Enable_user_dns_zones enable_user_dns_zones Boolean
User_dns_zone_type user_dns_zone_type String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns server # Update

Path:
PUT /v7.0/dns_servers/{dns_server_id}
Description:
Update authoritative DNS server
Authentication required:
yes
Scope:
dns_server#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_server
Label Name Required Type Validators Default Description
Node node no Resource
Name name no String
Ipv4_addr ipv4_addr no String
Ipv6_addr ipv6_addr no String
Hidden hidden no Boolean
Enable_user_dns_zones enable_user_dns_zones no Boolean
User_dns_zone_type user_dns_zone_type no String
Include
values
["primary_type", "secondary_type"]
message
%{value} cannot be used

Output parameters

Layout:
object
Namespace:
dns_server
Label Name Type Description
ID id Integer
Node node Resource
Name name String
Ipv4_addr ipv4_addr String
Ipv6_addr ipv6_addr String
Hidden hidden Boolean
Enable_user_dns_zones enable_user_dns_zones Boolean
User_dns_zone_type user_dns_zone_type String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns server zone


Manage authoritative DNS zones on servers

Dns server zone # Create

Path:
POST /v7.0/dns_server_zones
Description:
Add DNS zone to a server
Authentication required:
yes
Scope:
dns_server_zone#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_server_zone
Label Name Required Type Validators Default Description
DnsServer dns_server no Resource
DnsZone dns_zone yes Resource
Type type no String
Include
values
["primary_type", "secondary_type"]
message
%{value} cannot be used

Output parameters

Layout:
object
Namespace:
dns_server_zone
Label Name Type Description
ID id Integer
DnsServer dns_server Resource
DnsZone dns_zone Resource
Type type String
Serial serial Integer
Loaded_at loaded_at Datetime
Expires_at expires_at Datetime
Refresh_at refresh_at Datetime
Last_check_at last_check_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns server zone # Delete

Path:
DELETE /v7.0/dns_server_zones/{dns_server_zone_id}
Description:
Delete DNS zone from server
Authentication required:
yes
Scope:
dns_server_zone#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Dns server zone # Index

Path:
GET /v7.0/dns_server_zones
Description:
List DNS zones on servers
Authentication required:
yes
Scope:
dns_server_zone#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_server_zone
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
DnsServer dns_server no Resource
DnsZone dns_zone no Resource
Type type no String
Include
values
["primary_type", "secondary_type"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
dns_server_zones
Label Name Type Description
ID id Integer
DnsServer dns_server Resource
DnsZone dns_zone Resource
Type type String
Serial serial Integer
Loaded_at loaded_at Datetime
Expires_at expires_at Datetime
Refresh_at refresh_at Datetime
Last_check_at last_check_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns server zone # Show

Path:
GET /v7.0/dns_server_zones/{dns_server_zone_id}
Description:
Show DNS zone on server
Authentication required:
yes
Scope:
dns_server_zone#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_server_zone
Label Name Type Description
ID id Integer
DnsServer dns_server Resource
DnsZone dns_zone Resource
Type type String
Serial serial Integer
Loaded_at loaded_at Datetime
Expires_at expires_at Datetime
Refresh_at refresh_at Datetime
Last_check_at last_check_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns tsig key


Manage DNS TSIG key transfers

Dns tsig key # Create

Path:
POST /v7.0/dns_tsig_keys
Description:
Create a DNS TSIG key
Authentication required:
yes
Scope:
dns_tsig_key#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_tsig_key
Label Name Required Type Validators Default Description
User user no Resource
Name name no String
Format
rx
\A[a-zA-Z0-9\-\.]+\z
match
true
description
message
%{value} is not a valid TSIG key name
Algorithm algorithm no String
Include
values
["hmac-sha224", "hmac-sha256", "hmac-sha384", "hmac-sha512"]
message
%{value} is not a valid TSIG algorithm
hmac-sha256

Output parameters

Layout:
object
Namespace:
dns_tsig_key
Label Name Type Description
ID id Integer
User user Resource
Name name String
Algorithm algorithm String
Secret secret String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns tsig key # Delete

Path:
DELETE /v7.0/dns_tsig_keys/{dns_tsig_key_id}
Description:
Delete DNS TSIG key
Authentication required:
yes
Scope:
dns_tsig_key#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Dns tsig key # Index

Path:
GET /v7.0/dns_tsig_keys
Description:
List DNS TSIG key
Authentication required:
yes
Scope:
dns_tsig_key#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_tsig_key
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
Algorithm algorithm no String
Include
values
["hmac-sha224", "hmac-sha256", "hmac-sha384", "hmac-sha512"]
message
%{value} is not a valid TSIG algorithm
hmac-256

Output parameters

Layout:
object_list
Namespace:
dns_tsig_keys
Label Name Type Description
ID id Integer
User user Resource
Name name String
Algorithm algorithm String
Secret secret String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns tsig key # Show

Path:
GET /v7.0/dns_tsig_keys/{dns_tsig_key_id}
Description:
Show DNS TSIG key
Authentication required:
yes
Scope:
dns_tsig_key#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_tsig_key
Label Name Type Description
ID id Integer
User user Resource
Name name String
Algorithm algorithm String
Secret secret String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns zone


Manage DNS zones

Dns zone # Create

Path:
POST /v7.0/dns_zones
Description:
Create a DNS zone
Authentication required:
yes
Scope:
dns_zone#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_zone
Label Name Required Type Validators Default Description
Name name no String
Format
rx
\A((?!-)[A-Za-z0-9\-_]{1,63}(?<!-)\.)+[A-Za-z]{2,63}\.\z
match
true
description
message
%{value} is not a valid zone name
Fully qualified domain name
User user no Resource
Reverse_network_address reverse_network_address no String
Reverse_network_prefix reverse_network_prefix no String
Label label no String
Role role no String
Include
values
["forward_role", "reverse_role"]
message
%{value} cannot be used
Source source no String
Include
values
["internal_source", "external_source"]
message
%{value} cannot be used
Default TTL default_ttl no Integer Default TTL for records, in seconds
E-mail email no String
Format
rx
\A[^@\s]+@[^\s]+\z
match
true
description
message
%{value} is not a valid email address
Administrator of this zone
Enable DNSSEC dnssec_enabled no Boolean Requires DNSKEY/DS records to be configured in the parent zone
Enabled enabled no Boolean
Seed VPS seed_vps no Resource Seed the zone with basic records pointing to the VPS

Output parameters

Layout:
object
Namespace:
dns_zone
Label Name Type Description
ID id Integer
Name name String Fully qualified domain name
User user Resource
Reverse_network_address reverse_network_address String
Reverse_network_prefix reverse_network_prefix String
Label label String
Role role String
Source source String
Default TTL default_ttl Integer Default TTL for records, in seconds
E-mail email String Administrator of this zone
Enable DNSSEC dnssec_enabled Boolean Requires DNSKEY/DS records to be configured in the parent zone
Enabled enabled Boolean
Serial serial Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns zone # Delete

Path:
DELETE /v7.0/dns_zones/{dns_zone_id}
Description:
Delete DNS zone
Authentication required:
yes
Scope:
dns_zone#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Dns zone # Index

Path:
GET /v7.0/dns_zones
Description:
List DNS zones
Authentication required:
yes
Scope:
dns_zone#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_zone
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
Role role no String
Include
values
["forward_role", "reverse_role"]
message
%{value} cannot be used
Source source no String
Include
values
["internal_source", "external_source"]
message
%{value} cannot be used
Enable DNSSEC dnssec_enabled no Boolean Requires DNSKEY/DS records to be configured in the parent zone
Enabled enabled no Boolean

Output parameters

Layout:
object_list
Namespace:
dns_zones
Label Name Type Description
ID id Integer
Name name String Fully qualified domain name
User user Resource
Reverse_network_address reverse_network_address String
Reverse_network_prefix reverse_network_prefix String
Label label String
Role role String
Source source String
Default TTL default_ttl Integer Default TTL for records, in seconds
E-mail email String Administrator of this zone
Enable DNSSEC dnssec_enabled Boolean Requires DNSKEY/DS records to be configured in the parent zone
Enabled enabled Boolean
Serial serial Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns zone # Show

Path:
GET /v7.0/dns_zones/{dns_zone_id}
Description:
Show DNS zone
Authentication required:
yes
Scope:
dns_zone#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_zone
Label Name Type Description
ID id Integer
Name name String Fully qualified domain name
User user Resource
Reverse_network_address reverse_network_address String
Reverse_network_prefix reverse_network_prefix String
Label label String
Role role String
Source source String
Default TTL default_ttl Integer Default TTL for records, in seconds
E-mail email String Administrator of this zone
Enable DNSSEC dnssec_enabled Boolean Requires DNSKEY/DS records to be configured in the parent zone
Enabled enabled Boolean
Serial serial Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns zone # Update

Path:
PUT /v7.0/dns_zones/{dns_zone_id}
Description:
Update DNS zone
Authentication required:
yes
Scope:
dns_zone#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_zone
Label Name Required Type Validators Default Description
Label label no String
Default TTL default_ttl no Integer Default TTL for records, in seconds
E-mail email no String
Format
rx
\A[^@\s]+@[^\s]+\z
match
true
description
message
%{value} is not a valid email address
Administrator of this zone
Enable DNSSEC dnssec_enabled no Boolean Requires DNSKEY/DS records to be configured in the parent zone
Enabled enabled no Boolean

Output parameters

Layout:
object
Namespace:
dns_zone
Label Name Type Description
ID id Integer
Name name String Fully qualified domain name
User user Resource
Reverse_network_address reverse_network_address String
Reverse_network_prefix reverse_network_prefix String
Label label String
Role role String
Source source String
Default TTL default_ttl Integer Default TTL for records, in seconds
E-mail email String Administrator of this zone
Enable DNSSEC dnssec_enabled Boolean Requires DNSKEY/DS records to be configured in the parent zone
Enabled enabled Boolean
Serial serial Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns zone transfer


Manage DNS zone transfers

Dns zone transfer # Create

Path:
POST /v7.0/dns_zone_transfers
Description:
Create a DNS zone transfer
Authentication required:
yes
Scope:
dns_zone_transfer#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
dns_zone_transfer
Label Name Required Type Validators Default Description
DnsZone dns_zone no Resource
HostIpAddress host_ip_address yes Resource
Peer_type peer_type no String
Include
values
["primary_type", "secondary_type"]
message
%{value} cannot be used
DnsTsigKey dns_tsig_key no Resource

Output parameters

Layout:
object
Namespace:
dns_zone_transfer
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
HostIpAddress host_ip_address Resource
Peer_type peer_type String
DnsTsigKey dns_tsig_key Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns zone transfer # Delete

Path:
DELETE /v7.0/dns_zone_transfers/{dns_zone_transfer_id}
Description:
Delete DNS zone transfer
Authentication required:
yes
Scope:
dns_zone_transfer#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Dns zone transfer # Index

Path:
GET /v7.0/dns_zone_transfers
Description:
List DNS zone transfers
Authentication required:
yes
Scope:
dns_zone_transfer#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dns_zone_transfer
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
DnsZone dns_zone no Resource
HostIpAddress host_ip_address no Resource
Peer_type peer_type no String
Include
values
["primary_type", "secondary_type"]
message
%{value} cannot be used
DnsTsigKey dns_tsig_key no Resource

Output parameters

Layout:
object_list
Namespace:
dns_zone_transfers
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
HostIpAddress host_ip_address Resource
Peer_type peer_type String
DnsTsigKey dns_tsig_key Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Dns zone transfer # Show

Path:
GET /v7.0/dns_zone_transfers/{dns_zone_transfer_id}
Description:
Show DNS zone transfer
Authentication required:
yes
Scope:
dns_zone_transfer#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dns_zone_transfer
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
HostIpAddress host_ip_address Resource
Peer_type peer_type String
DnsTsigKey dns_tsig_key Resource
Created_at created_at Datetime
Updated_at updated_at Datetime

Dnssec record


View DNSSEC DNSKEY/DS records

Dnssec record # Index

Path:
GET /v7.0/dnssec_records
Description:
List DNSSEC records
Authentication required:
yes
Scope:
dnssec_record#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dnssec_record
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
DnsZone dns_zone no Resource

Output parameters

Layout:
object_list
Namespace:
dnssec_records
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
Key ID keyid Integer
DNSKEY algorithm dnskey_algorithm Integer
DNSKEY public key dnskey_pubkey String
DS algorithm ds_algorithm Integer
DS digest type ds_digest_type Integer
DS digest ds_digest String
Created_at created_at Datetime
Updated_at updated_at Datetime

Dnssec record # Show

Path:
GET /v7.0/dnssec_records/{dnssec_record_id}
Description:
Show DNSSEC record
Authentication required:
yes
Scope:
dnssec_record#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dnssec_record
Label Name Type Description
ID id Integer
DnsZone dns_zone Resource
Key ID keyid Integer
DNSKEY algorithm dnskey_algorithm Integer
DNSKEY public key dnskey_pubkey String
DS algorithm ds_algorithm Integer
DS digest type ds_digest_type Integer
DS digest ds_digest String
Created_at created_at Datetime
Updated_at updated_at Datetime

Environment


Manage environments

Environment # Create

Path:
POST /v7.0/environments
Description:
Create new environment
Authentication required:
yes
Scope:
environment#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
environment
Label Name Required Type Validators Default Description
Label label no String Environment label
Description description no String Environment description
Domain domain no String
Format
rx
[0-9a-zA-Z\-.]{3,255}
match
true
description
message
invalid format
Environment FQDN, should be subject's root domain
Can create a VPS can_create_vps no Boolean false
Can destroy a VPS can_destroy_vps no Boolean false
Default VPS lifetime vps_lifetime no Integer 0 in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count no Integer 1 0 is unlimited
User owns IP addresses user_ip_ownership no Boolean true

Output parameters

Layout:
object
Namespace:
environment
Label Name Type Description
ID id Integer Environment ID
Label label String Environment label
Description description String Environment description
Domain domain String Environment FQDN, should be subject's root domain
Can create a VPS can_create_vps Boolean
Can destroy a VPS can_destroy_vps Boolean
Default VPS lifetime vps_lifetime Integer in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count Integer 0 is unlimited
User owns IP addresses user_ip_ownership Boolean

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.environment.create({:label=>"Devel", :domain=>"vpsfree.cz"})

# reply is an instance of HaveAPI::Client::ResourceInstance
# reply.id = 2
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.environment.create({
  "label": "Devel",
  "domain": "vpsfree.cz"
}, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
  // reply.id = 2
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->environment->create([
  "label" => "Devel",
  "domain" => "vpsfree.cz"
]);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
// $reply->id = 2
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 environment create -- \
              --label 'Devel' \
              --domain 'vpsfree.cz'
                             ID:  2
                          Label:  -
                    Description:  -
                         Domain:  -
               Can create a VPS:  -
              Can destroy a VPS:  -
           Default VPS lifetime:  -
 Maximum number of VPS per user:  -
         User owns IP addresses:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/environment/actions/create

# Prepare input parameters
$ echo 'Devel' > input/label
$ echo 'vpsfree.cz' > input/domain

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1

# Query the output parameters
$ cat output/id
2

curl
Request
$ curl --request POST \
       --data-binary "{
  \"environment\": {
    \"label\": \"Devel\",
    \"domain\": \"vpsfree.cz\"
  }
}" \
       'https://api.vpsfree.cz/v7.0/environments'
Response
{
  "status": true,
  "message": null,
  "response": {
    "environment": {
      "id": 2
    }
  },
  "errors": null
}
HTTP
Request
POST /v7.0/environments HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

{
  "environment": {
    "label": "Devel",
    "domain": "vpsfree.cz"
  }
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 119

{
  "status": true,
  "message": null,
  "response": {
    "environment": {
      "id": 2
    }
  },
  "errors": null
}

Environment # Index

Path:
GET /v7.0/environments
Description:
List environments
Authentication required:
yes
Scope:
environment#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
environment
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Has hypervisor has_hypervisor no Boolean List only environments having at least one hypervisor
Has storage has_storage no Boolean List only environments having at least one storage

Output parameters

Layout:
object_list
Namespace:
environments
Label Name Type Description
ID id Integer Environment ID
Label label String Environment label
Description description String Environment description
Domain domain String Environment FQDN, should be subject's root domain
Can create a VPS can_create_vps Boolean
Can destroy a VPS can_destroy_vps Boolean
Default VPS lifetime vps_lifetime Integer in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count Integer 0 is unlimited
User owns IP addresses user_ip_ownership Boolean
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.environment.index

# reply is an instance of HaveAPI::Client::ResourceInstanceList,
# which is a subclass of Array
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.environment.index(function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstanceList
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->environment->index();

// $reply is an instance of \HaveAPI\Client\ResourceInstanceList
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 environment index
                             ID:  1
                          Label:  Production
                    Description:  -
                         Domain:  vpsfree.cz
               Can create a VPS:  -
              Can destroy a VPS:  -
           Default VPS lifetime:  -
 Maximum number of VPS per user:  -
         User owns IP addresses:  -
               Maintenance lock:  -
             Maintenance reason:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/environment/actions/index

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request GET \
       --data-binary "{
  \"environment\": {}
}" \
       'https://api.vpsfree.cz/v7.0/environments'
Response
{
  "status": true,
  "message": null,
  "response": {
    "environments": [
      {
        "id": 1,
        "label": "Production",
        "domain": "vpsfree.cz"
      }
    ]
  },
  "errors": null
}
HTTP
Request
GET /v7.0/environments HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 201

{
  "status": true,
  "message": null,
  "response": {
    "environments": [
      {
        "id": 1,
        "label": "Production",
        "domain": "vpsfree.cz"
      }
    ]
  },
  "errors": null
}

Environment # Set_maintenance

Path:
POST /v7.0/environments/{environment_id}/set_maintenance
Description:
Set maintenance lock
Authentication required:
yes
Scope:
environment#set_maintenance
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
environment
Label Name Required Type Validators Default Description
Lock lock yes Boolean
Present
empty
false
message
must be present and non-empty
Reason reason no String

Output parameters

No parameters.

Environment # Show

Path:
GET /v7.0/environments/{environment_id}
Description:
Show environment
Authentication required:
yes
Scope:
environment#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
environment
Label Name Type Description
ID id Integer Environment ID
Label label String Environment label
Description description String Environment description
Domain domain String Environment FQDN, should be subject's root domain
Can create a VPS can_create_vps Boolean
Can destroy a VPS can_destroy_vps Boolean
Default VPS lifetime vps_lifetime Integer in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count Integer 0 is unlimited
User owns IP addresses user_ip_ownership Boolean
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.environment.show(1)

# reply is an instance of HaveAPI::Client::ResourceInstance
# reply.id = 1
# reply.label = "Production"
# reply.domain = "vpsfree.cz"
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.environment.show(1, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
  // reply.id = 1
  // reply.label = "Production"
  // reply.domain = "vpsfree.cz"
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->environment->show(1);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
// $reply->id = 1
// $reply->label = "Production"
// $reply->domain = "vpsfree.cz"
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 environment show 1
                             ID:  1
                          Label:  Production
                    Description:  -
                         Domain:  vpsfree.cz
               Can create a VPS:  -
              Can destroy a VPS:  -
           Default VPS lifetime:  -
 Maximum number of VPS per user:  -
         User owns IP addresses:  -
               Maintenance lock:  -
             Maintenance reason:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/environment/actions/show

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1

# Query the output parameters
$ cat output/id
1


$ cat output/label
Production


$ cat output/domain
vpsfree.cz

curl
Request
$ curl --request GET \
       --data-binary "{
  \"environment\": {}
}" \
       'https://api.vpsfree.cz/v7.0/environments/1'
Response
{
  "status": true,
  "message": null,
  "response": {
    "environment": {
      "id": 1,
      "label": "Production",
      "domain": "vpsfree.cz"
    }
  },
  "errors": null
}
HTTP
Request
GET /v7.0/environments/1 HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 178

{
  "status": true,
  "message": null,
  "response": {
    "environment": {
      "id": 1,
      "label": "Production",
      "domain": "vpsfree.cz"
    }
  },
  "errors": null
}

Environment # Update

Path:
PUT /v7.0/environments/{environment_id}
Description:
Update environment
Authentication required:
yes
Scope:
environment#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
environment
Label Name Required Type Validators Default Description
Label label no String Environment label
Description description no String Environment description
Domain domain no String
Format
rx
[0-9a-zA-Z\-.]{3,255}
match
true
description
message
invalid format
Environment FQDN, should be subject's root domain
Can create a VPS can_create_vps no Boolean false
Can destroy a VPS can_destroy_vps no Boolean false
Default VPS lifetime vps_lifetime no Integer 0 in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count no Integer 1 0 is unlimited
User owns IP addresses user_ip_ownership no Boolean true

Output parameters

Layout:
object
Namespace:
environment
Label Name Type Description
ID id Integer Environment ID
Label label String Environment label
Description description String Environment description
Domain domain String Environment FQDN, should be subject's root domain
Can create a VPS can_create_vps Boolean
Can destroy a VPS can_destroy_vps Boolean
Default VPS lifetime vps_lifetime Integer in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count Integer 0 is unlimited
User owns IP addresses user_ip_ownership Boolean

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.environment.update(1, {:label=>"My new name", :domain=>"new.domain"})

# reply is an instance of HaveAPI::Client::ResourceInstance
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.environment.update(1, {
  "label": "My new name",
  "domain": "new.domain"
}, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->environment->update(1, [
  "label" => "My new name",
  "domain" => "new.domain"
]);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 environment update 1 -- \
              --label 'My new name' \
              --domain 'new.domain'
File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/environment/actions/update

# Prepare input parameters
$ echo 'My new name' > input/label
$ echo 'new.domain' > input/domain

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request PUT \
       --data-binary "{
  \"environment\": {
    \"label\": \"My new name\",
    \"domain\": \"new.domain\"
  }
}" \
       'https://api.vpsfree.cz/v7.0/environments/1'
Response
{
  "status": true,
  "message": null,
  "response": {
    "environment": {}
  },
  "errors": null
}
HTTP
Request
PUT /v7.0/environments/1 HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

{
  "environment": {
    "label": "My new name",
    "domain": "new.domain"
  }
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 100

{
  "status": true,
  "message": null,
  "response": {
    "environment": {}
  },
  "errors": null
}

Dataset plan


Manage environment dataset plans

Environment.Dataset plan # Index

Path:
GET /v7.0/environments/{environment_id}/dataset_plans
Description:
List dataset plans
Authentication required:
yes
Scope:
environment.dataset_plan#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
dataset_plan
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
dataset_plans
Label Name Type Description
ID id Integer
Label label String
DatasetPlan dataset_plan Resource
User add user_add Boolean If true, the user can add this plan to a dataset
User remove user_remove Boolean If true, the user can remove this plan from a dataset

Environment.Dataset plan # Show

Path:
GET /v7.0/environments/{environment_id}/dataset_plans/{dataset_plan_id}
Description:
Show dataset plan
Authentication required:
yes
Scope:
environment.dataset_plan#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
dataset_plan
Label Name Type Description
ID id Integer
Label label String
DatasetPlan dataset_plan Resource
User add user_add Boolean If true, the user can add this plan to a dataset
User remove user_remove Boolean If true, the user can remove this plan from a dataset

Export


Manage NFS exports

Export # Create

Path:
POST /v7.0/exports
Description:
Create a new export
Authentication required:
yes
Scope:
export#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
export
Label Name Required Type Validators Default Description
Dataset dataset no Resource
Snapshot snapshot no Resource
All VPS all_vps no Boolean true Let all user's VPS to mount this export. Changes to the user's IP addresses will automatically add or remove allowed hosts on the export.
Read-write rw no Boolean true Allow the export to be mounted as read-write.
Sync sync no Boolean true Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check no Boolean false See man exports(5).
Root squash root_squash no Boolean false Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.
Threads threads no Integer
Number
message
has to be in range <1, 64>
min
1
max
64
8 Number of NFS server threads.
Enabled enabled no Boolean true

Output parameters

Layout:
object
Namespace:
export
Label Name Type Description
Export ID id Integer
Dataset dataset Resource
Snapshot snapshot Resource
User user Resource
IpAddress ip_address Resource
HostIpAddress host_ip_address Resource
Path path String
All VPS all_vps Boolean Let all user's VPS to mount this export. Changes to the user's IP addresses will automatically add or remove allowed hosts on the export.
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.
Threads threads Integer Number of NFS server threads.
Enabled enabled Boolean
Expiration date expiration_date Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Export # Delete

Path:
DELETE /v7.0/exports/{export_id}
Description:
Delete export
Authentication required:
yes
Scope:
export#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Export # Index

Path:
GET /v7.0/exports
Description:
List exports
Authentication required:
yes
Scope:
export#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
export
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource

Output parameters

Layout:
object_list
Namespace:
exports
Label Name Type Description
Export ID id Integer
Dataset dataset Resource
Snapshot snapshot Resource
User user Resource
IpAddress ip_address Resource
HostIpAddress host_ip_address Resource
Path path String
All VPS all_vps Boolean Let all user's VPS to mount this export. Changes to the user's IP addresses will automatically add or remove allowed hosts on the export.
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.
Threads threads Integer Number of NFS server threads.
Enabled enabled Boolean
Expiration date expiration_date Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Export # Show

Path:
GET /v7.0/exports/{export_id}
Description:
Authentication required:
yes
Scope:
export#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
export
Label Name Type Description
Export ID id Integer
Dataset dataset Resource
Snapshot snapshot Resource
User user Resource
IpAddress ip_address Resource
HostIpAddress host_ip_address Resource
Path path String
All VPS all_vps Boolean Let all user's VPS to mount this export. Changes to the user's IP addresses will automatically add or remove allowed hosts on the export.
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.
Threads threads Integer Number of NFS server threads.
Enabled enabled Boolean
Expiration date expiration_date Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Export # Update

Path:
PUT /v7.0/exports/{export_id}
Description:
Edit export
Authentication required:
yes
Scope:
export#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
export
Label Name Required Type Validators Default Description
All VPS all_vps no Boolean Let all user's VPS to mount this export. Changes to the user's IP addresses will automatically add or remove allowed hosts on the export.
Read-write rw no Boolean Allow the export to be mounted as read-write.
Sync sync no Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check no Boolean See man exports(5).
Root squash root_squash no Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.
Threads threads no Integer
Number
message
has to be in range <1, 64>
min
1
max
64
Number of NFS server threads.
Enabled enabled no Boolean

Output parameters

Layout:
object
Namespace:
export
Label Name Type Description
Export ID id Integer
Dataset dataset Resource
Snapshot snapshot Resource
User user Resource
IpAddress ip_address Resource
HostIpAddress host_ip_address Resource
Path path String
All VPS all_vps Boolean Let all user's VPS to mount this export. Changes to the user's IP addresses will automatically add or remove allowed hosts on the export.
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.
Threads threads Integer Number of NFS server threads.
Enabled enabled Boolean
Expiration date expiration_date Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Host


Manage allowed hosts

Export.Host # Create

Path:
POST /v7.0/exports/{export_id}/hosts
Description:
Add a new host
Authentication required:
yes
Scope:
export.host#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
host
Label Name Required Type Validators Default Description
IpAddress ip_address no Resource
Read-write rw no Boolean Allow the export to be mounted as read-write.
Sync sync no Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check no Boolean See man exports(5).
Root squash root_squash no Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.

Output parameters

Layout:
object
Namespace:
host
Label Name Type Description
Id id Integer
IpAddress ip_address Resource
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.

Export.Host # Delete

Path:
DELETE /v7.0/exports/{export_id}/hosts/{host_id}
Description:
Delete host
Authentication required:
yes
Scope:
export.host#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Export.Host # Index

Path:
GET /v7.0/exports/{export_id}/hosts
Description:
List hosts
Authentication required:
yes
Scope:
export.host#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
host
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
hosts
Label Name Type Description
Id id Integer
IpAddress ip_address Resource
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.

Export.Host # Show

Path:
GET /v7.0/exports/{export_id}/hosts/{host_id}
Description:
Authentication required:
yes
Scope:
export.host#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
host
Label Name Type Description
Id id Integer
IpAddress ip_address Resource
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.

Export.Host # Update

Path:
PUT /v7.0/exports/{export_id}/hosts/{host_id}
Description:
Edit host options
Authentication required:
yes
Scope:
export.host#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
host
Label Name Required Type Validators Default Description
Read-write rw no Boolean Allow the export to be mounted as read-write.
Sync sync no Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check no Boolean See man exports(5).
Root squash root_squash no Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.

Output parameters

Layout:
object
Namespace:
host
Label Name Type Description
Id id Integer
IpAddress ip_address Resource
Read-write rw Boolean Allow the export to be mounted as read-write.
Sync sync Boolean Determines whether the server replies to requests only after the changes have been committed to stable storage.
Subtree check subtree_check Boolean See man exports(5).
Root squash root_squash Boolean Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive.

Export outage


Browse exports affected by outages

Export outage # Index

Path:
GET /v7.0/export_outages
Description:
List exports affected by outage
Authentication required:
yes
Scope:
export_outage#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
export_outage
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Outage outage no Resource
Export export no Resource
User user no Resource
Environment environment no Resource
Location location no Resource
Node node no Resource

Output parameters

Layout:
object_list
Namespace:
export_outages
Label Name Type Description
Id id Integer
Outage outage Resource
Export export Resource
User user Resource
Environment environment Resource
Location location Resource
Node node Resource

Export outage # Show

Path:
GET /v7.0/export_outages/{export_outage_id}
Description:
Show export affected by an outage
Authentication required:
yes
Scope:
export_outage#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
export_outage
Label Name Type Description
Id id Integer
Outage outage Resource
Export export Resource
User user Resource
Environment environment Resource
Location location Resource
Node node Resource

Help box


Browse and manage help boxes

Help box # Create

Path:
POST /v7.0/help_boxes
Description:
Create a help box
Authentication required:
yes
Scope:
help_box#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
help_box
Label Name Required Type Validators Default Description
Page page no String
Action action no String
Language language no Resource
Content content yes Text
Present
empty
false
message
must be present and non-empty
Order order no Integer

Output parameters

Layout:
object
Namespace:
help_box
Label Name Type Description
Id id Integer
Page page String
Action action String
Language language Resource
Content content Text
Order order Integer

Help box # Delete

Path:
DELETE /v7.0/help_boxes/{help_box_id}
Description:
Delete help box
Authentication required:
yes
Scope:
help_box#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Help box # Index

Path:
GET /v7.0/help_boxes
Description:
List help boxes
Authentication required:
no
Scope:
help_box#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
help_box
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Page page no String
Action action no String
Language language no Resource
View view no Boolean false When enabled, list help boxes for the current user, including page/action filters

Output parameters

Layout:
object_list
Namespace:
help_boxes
Label Name Type Description
Id id Integer
Page page String
Action action String
Language language Resource
Content content Text
Order order Integer

Help box # Show

Path:
GET /v7.0/help_boxes/{help_box_id}
Description:
Show helpbox
Authentication required:
no
Scope:
help_box#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
help_box
Label Name Type Description
Id id Integer
Page page String
Action action String
Language language Resource
Content content Text
Order order Integer

Help box # Update

Path:
PUT /v7.0/help_boxes/{help_box_id}
Description:
Update help box
Authentication required:
yes
Scope:
help_box#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
help_box
Label Name Required Type Validators Default Description
Page page no String
Action action no String
Language language no Resource
Content content no Text
Order order no Integer

Output parameters

Layout:
object
Namespace:
help_box
Label Name Type Description
Id id Integer
Page page String
Action action String
Language language Resource
Content content Text
Order order Integer

Host ip address


Manage interface IP addresses

Host ip address # Assign

Path:
POST /v7.0/host_ip_addresses/{host_ip_address_id}/assign
Description:
Assign the address to an interface
Authentication required:
yes
Scope:
host_ip_address#assign
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
host_ip_address
Label Name Type Description
ID id Integer IP address ID
IpAddress ip_address Resource
Address addr String
Assigned assigned Boolean
User_created user_created Boolean
Reverse_record_value reverse_record_value String

Host ip address # Create

Path:
POST /v7.0/host_ip_addresses
Description:
Add host IP address
Authentication required:
yes
Scope:
host_ip_address#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
host_ip_address
Label Name Required Type Validators Default Description
IpAddress ip_address yes Resource
Network address addr yes String
Present
empty
false
message
must be present and non-empty
Assigned assigned no Boolean

Output parameters

Layout:
object
Namespace:
host_ip_address
Label Name Type Description
ID id Integer IP address ID
IpAddress ip_address Resource
Address addr String
Assigned assigned Boolean
User_created user_created Boolean
Reverse_record_value reverse_record_value String

Host ip address # Delete

Path:
DELETE /v7.0/host_ip_addresses/{host_ip_address_id}
Description:
Delete host IP address
Authentication required:
yes
Scope:
host_ip_address#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Host ip address # Free

Path:
POST /v7.0/host_ip_addresses/{host_ip_address_id}/free
Description:
Remove the address from its interface
Authentication required:
yes
Scope:
host_ip_address#free
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
host_ip_address
Label Name Type Description
ID id Integer IP address ID
IpAddress ip_address Resource
Address addr String
Assigned assigned Boolean
User_created user_created Boolean
Reverse_record_value reverse_record_value String

Host ip address # Index

Path:
GET /v7.0/host_ip_addresses
Description:
List IP addresses
Authentication required:
yes
Scope:
host_ip_address#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
host_ip_address
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
IpAddress ip_address no Resource
NetworkInterface network_interface no Resource
VPS vps no Resource VPS this IP is assigned to, can be null
IP version version no Integer 4 or 6
Network network no Resource
Location location no Resource Location this IP address is available in
User user no Resource Filter by owner
Role role no String
Include
values
["public_access", "private_access"]
message
%{value} cannot be used
Purpose purpose no String
Include
values
["any", "vps", "export"]
message
%{value} cannot be used
Network address addr no String
Prefix prefix no Integer
Size size no Integer
Assigned assigned no Boolean
Routed routed no Boolean
Order order no String
Include
values
["asc", "interface"]
message
%{value} cannot be used
asc

Output parameters

Layout:
object_list
Namespace:
host_ip_addresses
Label Name Type Description
ID id Integer IP address ID
IpAddress ip_address Resource
Address addr String
Assigned assigned Boolean
User_created user_created Boolean
Reverse_record_value reverse_record_value String

Host ip address # Show

Path:
GET /v7.0/host_ip_addresses/{host_ip_address_id}
Description:
Show interface IP address
Authentication required:
yes
Scope:
host_ip_address#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
host_ip_address
Label Name Type Description
ID id Integer IP address ID
IpAddress ip_address Resource
Address addr String
Assigned assigned Boolean
User_created user_created Boolean
Reverse_record_value reverse_record_value String

Host ip address # Update

Path:
PUT /v7.0/host_ip_addresses/{host_ip_address_id}
Description:
Update host IP address
Authentication required:
yes
Scope:
host_ip_address#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
host_ip_address
Label Name Required Type Validators Default Description
IpAddress ip_address no Resource
Address addr no String
Assigned assigned no Boolean
Reverse_record_value reverse_record_value no String

Output parameters

Layout:
object
Namespace:
host_ip_address
Label Name Type Description
ID id Integer IP address ID
IpAddress ip_address Resource
Address addr String
Assigned assigned Boolean
User_created user_created Boolean
Reverse_record_value reverse_record_value String

Incident report


Manage incident reports

Incident report # Create

Path:
POST /v7.0/incident_reports
Description:
Create incident report
Authentication required:
yes
Scope:
incident_report#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
incident_report
Label Name Required Type Validators Default Description
VPS vps yes Resource
IP address assignment ip_address_assignment no Resource
Subject subject yes String
Present
empty
false
message
must be present and non-empty
Text text yes Text
Present
empty
false
message
must be present and non-empty
Codename codename no String
CPU limit cpu_limit no Integer
VPS action vps_action no String
Include
values
["none", "stop", "suspend", "disable_network"]
message
%{value} cannot be used
none
Detected_at detected_at no Datetime

Output parameters

Layout:
object
Namespace:
incident_report
Label Name Type Description
ID id Integer
User user Resource
VPS vps Resource
IP address assignment ip_address_assignment Resource
Filed_by filed_by Resource
Mailbox mailbox Resource
Subject subject String
Text text Text
Codename codename String
CPU limit cpu_limit Integer
VPS action vps_action String
Raw_user_id raw_user_id Integer
Raw_vps_id raw_vps_id Integer
Detected_at detected_at Datetime
Created_at created_at Datetime
Reported_at reported_at Datetime

Incident report # Index

Path:
GET /v7.0/incident_reports
Description:
List incident reports
Authentication required:
yes
Scope:
incident_report#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
incident_report
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
VPS vps no Resource
IP address assignment ip_address_assignment no Resource
Filed_by filed_by no Resource
Mailbox mailbox no Resource
Codename codename no String
IP address ip_addr no String

Output parameters

Layout:
object_list
Namespace:
incident_reports
Label Name Type Description
ID id Integer
User user Resource
VPS vps Resource
IP address assignment ip_address_assignment Resource
Filed_by filed_by Resource
Mailbox mailbox Resource
Subject subject String
Text text Text
Codename codename String
CPU limit cpu_limit Integer
VPS action vps_action String
Raw_user_id raw_user_id Integer
Raw_vps_id raw_vps_id Integer
Detected_at detected_at Datetime
Created_at created_at Datetime
Reported_at reported_at Datetime

Incident report # Show

Path:
GET /v7.0/incident_reports/{incident_report_id}
Description:
Show incident report
Authentication required:
yes
Scope:
incident_report#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
incident_report
Label Name Type Description
ID id Integer
User user Resource
VPS vps Resource
IP address assignment ip_address_assignment Resource
Filed_by filed_by Resource
Mailbox mailbox Resource
Subject subject String
Text text Text
Codename codename String
CPU limit cpu_limit Integer
VPS action vps_action String
Raw_user_id raw_user_id Integer
Raw_vps_id raw_vps_id Integer
Detected_at detected_at Datetime
Created_at created_at Datetime
Reported_at reported_at Datetime

Incoming payment


Browse incoming payments

Incoming payment # Index

Path:
GET /v7.0/incoming_payments
Description:
List incoming payments
Authentication required:
yes
Scope:
incoming_payment#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
incoming_payment
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
State state no String
Include
values
["queued", "unmatched", "processed", "ignored"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
incoming_payments
Label Name Type Description
Id id Integer
Transaction_id transaction_id String
State state String
Date date Datetime
Amount amount Integer
Currency currency String
Src_amount src_amount Integer
Src_currency src_currency String
Account_name account_name String
User_ident user_ident String
User_message user_message String
Vs vs String
Ks ks String
Ss ss String
Transaction_type transaction_type String
Comment comment String
Created_at created_at Datetime

Incoming payment # Show

Path:
GET /v7.0/incoming_payments/{incoming_payment_id}
Description:
Show incoming payment
Authentication required:
yes
Scope:
incoming_payment#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
incoming_payment
Label Name Type Description
Id id Integer
Transaction_id transaction_id String
State state String
Date date Datetime
Amount amount Integer
Currency currency String
Src_amount src_amount Integer
Src_currency src_currency String
Account_name account_name String
User_ident user_ident String
User_message user_message String
Vs vs String
Ks ks String
Ss ss String
Transaction_type transaction_type String
Comment comment String
Created_at created_at Datetime

Incoming payment # Update

Path:
PUT /v7.0/incoming_payments/{incoming_payment_id}
Description:
Change payment's state
Authentication required:
yes
Scope:
incoming_payment#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
incoming_payment
Label Name Required Type Validators Default Description
State state yes String
Include
values
["queued", "unmatched", "processed", "ignored"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
incoming_payment
Label Name Type Description
Id id Integer
Transaction_id transaction_id String
State state String
Date date Datetime
Amount amount Integer
Currency currency String
Src_amount src_amount Integer
Src_currency src_currency String
Account_name account_name String
User_ident user_ident String
User_message user_message String
Vs vs String
Ks ks String
Ss ss String
Transaction_type transaction_type String
Comment comment String
Created_at created_at Datetime

Ip address


Manage IP addresses

Ip address # Assign

Path:
POST /v7.0/ip_addresses/{ip_address_id}/assign
Description:
Route the address to an interface
Authentication required:
yes
Scope:
ip_address#assign
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
ip_address
Label Name Required Type Validators Default Description
NetworkInterface network_interface yes Resource
Route_via route_via no Resource

Output parameters

Layout:
object
Namespace:
ip_address
Label Name Type Description
ID id Integer IP address ID
NetworkInterface network_interface Resource
Network network Resource
User user Resource
Address addr String Address itself
Prefix prefix Integer
Size size Integer
Route_via route_via Resource
Charged environment charged_environment Resource

Ip address # Assign_with_host_address

Path:
POST /v7.0/ip_addresses/{ip_address_id}/assign_with_host_address
Description:
Route the address to an interface
Authentication required:
yes
Scope:
ip_address#assign_with_host_address
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
ip_address
Label Name Required Type Validators Default Description
NetworkInterface network_interface yes Resource
HostIpAddress host_ip_address no Resource Host address to assign to the interface, defaults to the first address

Output parameters

Layout:
object
Namespace:
ip_address
Label Name Type Description
ID id Integer IP address ID
NetworkInterface network_interface Resource
Network network Resource
User user Resource
Address addr String Address itself
Prefix prefix Integer
Size size Integer
Route_via route_via Resource
Charged environment charged_environment Resource

Ip address # Create

Path:
POST /v7.0/ip_addresses
Description:
Add an IP address
Authentication required:
yes
Scope:
ip_address#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
ip_address
Label Name Required Type Validators Default Description
NetworkInterface network_interface no Resource
Network network yes Resource
User user no Resource
Address addr yes String
Present
empty
false
message
must be present and non-empty
Address itself
Prefix prefix no Integer
Size size no Integer
Route_via route_via no Resource

Output parameters

Layout:
object
Namespace:
ip_address
Label Name Type Description
ID id Integer IP address ID
NetworkInterface network_interface Resource
Network network Resource
User user Resource
Address addr String Address itself
Prefix prefix Integer
Size size Integer
Route_via route_via Resource
Charged environment charged_environment Resource

Ip address # Free

Path:
POST /v7.0/ip_addresses/{ip_address_id}/free
Description:
Remove the route from an interface
Authentication required:
yes
Scope:
ip_address#free
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
ip_address
Label Name Type Description
ID id Integer IP address ID
NetworkInterface network_interface Resource
Network network Resource
User user Resource
Address addr String Address itself
Prefix prefix Integer
Size size Integer
Route_via route_via Resource
Charged environment charged_environment Resource

Ip address # Index

Path:
GET /v7.0/ip_addresses
Description:
List IP addresses
Authentication required:
yes
Scope:
ip_address#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
ip_address
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
NetworkInterface network_interface no Resource
VPS vps no Resource VPS this IP is assigned to, can be null
IP version version no Integer 4 or 6
Network network no Resource
Location location no Resource Location this IP address is available in
User user no Resource Filter by owner
Assigned to interface assigned_to_interface no Boolean
Role role no String
Include
values
["public_access", "private_access"]
message
%{value} cannot be used
Purpose purpose no String
Include
values
["any", "vps", "export"]
message
%{value} cannot be used
Address addr no String Address itself
Prefix prefix no Integer
Size size no Integer
Order order no String
Include
values
["asc", "interface"]
message
%{value} cannot be used
asc

Output parameters

Layout:
object_list
Namespace:
ip_addresses
Label Name Type Description
ID id Integer IP address ID
NetworkInterface network_interface Resource
Network network Resource
User user Resource
Address addr String Address itself
Prefix prefix Integer
Size size Integer
Route_via route_via Resource
Charged environment charged_environment Resource

Examples

Example #0

List IP addresses assigned to VPS with ID 101.

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.ip_address.index({:vps=>101})

# reply is an instance of HaveAPI::Client::ResourceInstanceList,
# which is a subclass of Array
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.ip_address.index({
  "vps": 101
}, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstanceList
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->ip_address->index([
  "vps" => 101
]);

// $reply is an instance of \HaveAPI\Client\ResourceInstanceList
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 ip_address index -- \
              --vps '101'
                  ID:  10
    NetworkInterface:  -
             Network:  -
                User:  -
             Address:  192.168.0.50
              Prefix:  -
                Size:  -
           Route_via:  -
 Charged environment:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/ip_address/actions/index

# Prepare input parameters
$ echo '101' > input/vps

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request GET \
       --data-binary "{
  \"ip_address\": {
    \"vps\": 101
  }
}" \
       'https://api.vpsfree.cz/v7.0/ip_addresses?vps=101'
Response
{
  "status": true,
  "message": null,
  "response": {
    "ip_addresses": [
      {
        "id": 10,
        "addr": "192.168.0.50"
      }
    ]
  },
  "errors": null
}
HTTP
Request
GET /v7.0/ip_addresses?vps=101 HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 171

{
  "status": true,
  "message": null,
  "response": {
    "ip_addresses": [
      {
        "id": 10,
        "addr": "192.168.0.50"
      }
    ]
  },
  "errors": null
}

Ip address # Show

Path:
GET /v7.0/ip_addresses/{ip_address_id}
Description:
Show IP address
Authentication required:
yes
Scope:
ip_address#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
ip_address
Label Name Type Description
ID id Integer IP address ID
NetworkInterface network_interface Resource
Network network Resource
User user Resource
Address addr String Address itself
Prefix prefix Integer
Size size Integer
Route_via route_via Resource
Charged environment charged_environment Resource

Ip address # Update

Path:
PUT /v7.0/ip_addresses/{ip_address_id}
Description:
Update IP address
Authentication required:
yes
Scope:
ip_address#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
ip_address
Label Name Required Type Validators Default Description
User user no Resource
Environment environment no Resource

Output parameters

Layout:
object
Namespace:
ip_address
Label Name Type Description
ID id Integer IP address ID
NetworkInterface network_interface Resource
Network network Resource
User user Resource
Address addr String Address itself
Prefix prefix Integer
Size size Integer
Route_via route_via Resource
Charged environment charged_environment Resource

Ip address assignment


Browse IP address assignments

Ip address assignment # Index

Path:
GET /v7.0/ip_address_assignments
Description:
List IP address assignments
Authentication required:
yes
Scope:
ip_address_assignment#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
ip_address_assignment
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
IpAddress ip_address no Resource
Ip_addr ip_addr no String
Ip_prefix ip_prefix no Integer
User user no Resource
VPS vps no Resource
Assigned_by_chain assigned_by_chain no Resource
Unassigned_by_chain unassigned_by_chain no Resource
Reconstructed reconstructed no Boolean
Location location no Resource
Network network no Resource
Ip_version ip_version no Integer
Include
values
[4, 6]
message
%{value} cannot be used
Order order no String
Include
values
["newest", "oldest"]
message
%{value} cannot be used
newest
Active active no Boolean

Output parameters

Layout:
object_list
Namespace:
ip_address_assignments
Label Name Type Description
ID id Integer
IpAddress ip_address Resource
Ip_addr ip_addr String
Ip_prefix ip_prefix Integer
User user Resource
Raw_user_id raw_user_id Integer
VPS vps Resource
Raw_vps_id raw_vps_id Integer
From_date from_date Datetime
To_date to_date Datetime
Assigned_by_chain assigned_by_chain Resource
Unassigned_by_chain unassigned_by_chain Resource
Reconstructed reconstructed Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Ip address assignment # Show

Path:
GET /v7.0/ip_address_assignments/{ip_address_assignment_id}
Description:
Show IP address assignment
Authentication required:
yes
Scope:
ip_address_assignment#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
ip_address_assignment
Label Name Type Description
ID id Integer
IpAddress ip_address Resource
Ip_addr ip_addr String
Ip_prefix ip_prefix Integer
User user Resource
Raw_user_id raw_user_id Integer
VPS vps Resource
Raw_vps_id raw_vps_id Integer
From_date from_date Datetime
To_date to_date Datetime
Assigned_by_chain assigned_by_chain Resource
Unassigned_by_chain unassigned_by_chain Resource
Reconstructed reconstructed Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Language


Available languages

Language # Index

Path:
GET /v7.0/languages
Description:
List languages
Authentication required:
no
Scope:
language#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
language
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
languages
Label Name Type Description
Id id Integer
Code code String
Label label String

Language # Show

Path:
GET /v7.0/languages/{language_id}
Description:
Show language
Authentication required:
yes
Scope:
language#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
language
Label Name Type Description
Id id Integer
Code code String
Label label String

Location


Manage locations

Location # Create

Path:
POST /v7.0/locations
Description:
Create new location
Authentication required:
yes
Scope:
location#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
location
Label Name Required Type Validators Default Description
Label label no String Location label
Description description no String Location description
Has IPv6 has_ipv6 no Boolean
Include
values
[true, false]
message
%{value} cannot be used
True if location has IPv6 addresses
Remote console server remote_console_server no String
Format
rx
\A(https?://.+)?\z
match
true
description
message
invalid format
URL to HTTP remote console server
Domain domain no String
Format
rx
\A[0-9a-zA-Z\-.]{3,255}\z
match
true
description
message
invalid format
Location domain, subdomain at environment domain
Environment environment no Resource

Output parameters

Layout:
object
Namespace:
location
Label Name Type Description
ID id Integer Location ID
Label label String Location label
Description description String Location description
Has IPv6 has_ipv6 Boolean True if location has IPv6 addresses
Remote console server remote_console_server String URL to HTTP remote console server
Domain domain String Location domain, subdomain at environment domain
Environment environment Resource

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.location.create({:label=>"Brno", :has_ipv6=>true, :remote_console_server=>"", :domain=>"brq"})

# reply is an instance of HaveAPI::Client::ResourceInstance
# reply.id = 2
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.location.create({
  "label": "Brno",
  "has_ipv6": true,
  "remote_console_server": "",
  "domain": "brq"
}, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
  // reply.id = 2
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->location->create([
  "label" => "Brno",
  "has_ipv6" => true,
  "remote_console_server" => "",
  "domain" => "brq"
]);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
// $reply->id = 2
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 location create -- \
              --label 'Brno' \
              --has-ipv6 \
              --remote-console-server '' \
              --domain 'brq'
                    ID:  2
                 Label:  -
           Description:  -
              Has IPv6:  -
 Remote console server:  -
                Domain:  -
           Environment:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/location/actions/create

# Prepare input parameters
$ echo 'Brno' > input/label
$ echo 'true' > input/has_ipv6
$ echo '' > input/remote_console_server
$ echo 'brq' > input/domain

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1

# Query the output parameters
$ cat output/id
2

curl
Request
$ curl --request POST \
       --data-binary "{
  \"location\": {
    \"label\": \"Brno\",
    \"has_ipv6\": true,
    \"remote_console_server\": \"\",
    \"domain\": \"brq\"
  }
}" \
       'https://api.vpsfree.cz/v7.0/locations'
Response
{
  "status": true,
  "message": null,
  "response": {
    "location": {
      "id": 2
    }
  },
  "errors": null
}
HTTP
Request
POST /v7.0/locations HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

{
  "location": {
    "label": "Brno",
    "has_ipv6": true,
    "remote_console_server": "",
    "domain": "brq"
  }
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 116

{
  "status": true,
  "message": null,
  "response": {
    "location": {
      "id": 2
    }
  },
  "errors": null
}

Location # Index

Path:
GET /v7.0/locations
Description:
List locations
Authentication required:
no
Scope:
location#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
location
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Environment environment no Resource Filter locations by environment
Has hypervisor has_hypervisor no Boolean List only locations having at least one hypervisor node
Has storage has_storage no Boolean List only locations having at least one storage node
Hypervisor type hypervisor_type no String
Include
values
["vpsadminos"]
message
%{value} cannot be used
List only locations having at least one node of this type
Shares IPv4 networks with location shares_v4_networks_with no Resource
Shares IPv4 networks with location shares_v6_networks_with no Resource
Shares IPv4 networks with location shares_any_networks_with no Resource
Shared network primary shares_networks_primary no Boolean Filter locations with shared networks that are primary in the other location

Output parameters

Layout:
object_list
Namespace:
locations
Label Name Type Description
ID id Integer Location ID
Label label String Location label
Description description String Location description
Has IPv6 has_ipv6 Boolean True if location has IPv6 addresses
Remote console server remote_console_server String URL to HTTP remote console server
Domain domain String Location domain, subdomain at environment domain
Environment environment Resource
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.location.index

# reply is an instance of HaveAPI::Client::ResourceInstanceList,
# which is a subclass of Array
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.location.index(function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstanceList
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->location->index();

// $reply is an instance of \HaveAPI\Client\ResourceInstanceList
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 location index
                    ID:  -
                 Label:  Prague
           Description:  -
              Has IPv6:  true
 Remote console server:  https://console.vpsadmin.mydomain.com
                Domain:  prg
           Environment:  -
      Maintenance lock:  -
    Maintenance reason:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/location/actions/index

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request GET \
       --data-binary "{
  \"location\": {}
}" \
       'https://api.vpsfree.cz/v7.0/locations'
Response
{
  "status": true,
  "message": null,
  "response": {
    "locations": [
      {
        "label": "Prague",
        "has_ipv6": true,
        "remote_console_server": "https://console.vpsadmin.mydomain.com",
        "domain": "prg"
      }
    ]
  },
  "errors": null
}
HTTP
Request
GET /v7.0/locations HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 270

{
  "status": true,
  "message": null,
  "response": {
    "locations": [
      {
        "label": "Prague",
        "has_ipv6": true,
        "remote_console_server": "https://console.vpsadmin.mydomain.com",
        "domain": "prg"
      }
    ]
  },
  "errors": null
}

Location # Set_maintenance

Path:
POST /v7.0/locations/{location_id}/set_maintenance
Description:
Set maintenance lock
Authentication required:
yes
Scope:
location#set_maintenance
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
location
Label Name Required Type Validators Default Description
Lock lock yes Boolean
Present
empty
false
message
must be present and non-empty
Reason reason no String

Output parameters

No parameters.

Location # Show

Path:
GET /v7.0/locations/{location_id}
Description:
Show location
Authentication required:
yes
Scope:
location#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
location
Label Name Type Description
ID id Integer Location ID
Label label String Location label
Description description String Location description
Has IPv6 has_ipv6 Boolean True if location has IPv6 addresses
Remote console server remote_console_server String URL to HTTP remote console server
Domain domain String Location domain, subdomain at environment domain
Environment environment Resource
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.location.show(2)

# reply is an instance of HaveAPI::Client::ResourceInstance
# reply.id = 2
# reply.label = "Brno"
# reply.has_ipv6 = true
# reply.remote_console_server = ""
# reply.domain = "brq"
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.location.show(2, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
  // reply.id = 2
  // reply.label = "Brno"
  // reply.has_ipv6 = true
  // reply.remote_console_server = ""
  // reply.domain = "brq"
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->location->show(2);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
// $reply->id = 2
// $reply->label = "Brno"
// $reply->has_ipv6 = true
// $reply->remote_console_server = ""
// $reply->domain = "brq"
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 location show 2
                    ID:  2
                 Label:  Brno
           Description:  -
              Has IPv6:  true
 Remote console server:  -
                Domain:  brq
           Environment:  -
      Maintenance lock:  -
    Maintenance reason:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/location/actions/show

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1

# Query the output parameters
$ cat output/id
2


$ cat output/label
Brno


$ cat output/has_ipv6
1


$ cat output/remote_console_server



$ cat output/domain
brq

curl
Request
$ curl --request GET \
       --data-binary "{
  \"location\": {}
}" \
       'https://api.vpsfree.cz/v7.0/locations/2'
Response
{
  "status": true,
  "message": null,
  "response": {
    "location": {
      "id": 2,
      "label": "Brno",
      "has_ipv6": true,
      "remote_console_server": "",
      "domain": "brq"
    }
  },
  "errors": null
}
HTTP
Request
GET /v7.0/locations/2 HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 221

{
  "status": true,
  "message": null,
  "response": {
    "location": {
      "id": 2,
      "label": "Brno",
      "has_ipv6": true,
      "remote_console_server": "",
      "domain": "brq"
    }
  },
  "errors": null
}

Location # Update

Path:
PUT /v7.0/locations/{location_id}
Description:
Update location
Authentication required:
yes
Scope:
location#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
location
Label Name Required Type Validators Default Description
Label label no String Location label
Description description no String Location description
Has IPv6 has_ipv6 no Boolean
Include
values
[true, false]
message
%{value} cannot be used
True if location has IPv6 addresses
Remote console server remote_console_server no String
Format
rx
\A(https?://.+)?\z
match
true
description
message
invalid format
URL to HTTP remote console server
Domain domain no String
Format
rx
\A[0-9a-zA-Z\-.]{3,255}\z
match
true
description
message
invalid format
Location domain, subdomain at environment domain
Environment environment no Resource

Output parameters

No parameters.

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.location.update(2, {:label=>"Ostrava",
 :has_ipv6=>true,
 :remote_console_server=>"",
 :domain=>"ova",
 :environment=>1})

# reply is an instance of HaveAPI::Client::ResourceInstance
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.location.update(2, {
  "label": "Ostrava",
  "has_ipv6": true,
  "remote_console_server": "",
  "domain": "ova",
  "environment": 1
}, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->location->update(2, [
  "label" => "Ostrava",
  "has_ipv6" => true,
  "remote_console_server" => "",
  "domain" => "ova",
  "environment" => 1
]);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 location update 2 -- \
              --label 'Ostrava' \
              --has-ipv6 \
              --remote-console-server '' \
              --domain 'ova' \
              --environment '1'
File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/location/actions/update

# Prepare input parameters
$ echo 'Ostrava' > input/label
$ echo 'true' > input/has_ipv6
$ echo '' > input/remote_console_server
$ echo 'ova' > input/domain
$ echo '1' > input/environment

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request PUT \
       --data-binary "{
  \"location\": {
    \"label\": \"Ostrava\",
    \"has_ipv6\": true,
    \"remote_console_server\": \"\",
    \"domain\": \"ova\",
    \"environment\": 1
  }
}" \
       'https://api.vpsfree.cz/v7.0/locations/2'
Response
{
  "status": true,
  "message": null,
  "response": {
    "location": {}
  },
  "errors": null
}
HTTP
Request
PUT /v7.0/locations/2 HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

{
  "location": {
    "label": "Ostrava",
    "has_ipv6": true,
    "remote_console_server": "",
    "domain": "ova",
    "environment": 1
  }
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 97

{
  "status": true,
  "message": null,
  "response": {
    "location": {}
  },
  "errors": null
}

Location network


Manage location networks

Location network # Create

Path:
POST /v7.0/location_networks
Description:
Add network to a location
Authentication required:
yes
Scope:
location_network#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
location_network
Label Name Required Type Validators Default Description
Location location no Resource
Network network no Resource
Primary primary no Boolean
Priority priority no Integer
Autopick autopick no Boolean
Userpick userpick no Boolean

Output parameters

Layout:
object
Namespace:
location_network
Label Name Type Description
Id id Integer
Location location Resource
Network network Resource
Primary primary Boolean
Priority priority Integer
Autopick autopick Boolean
Userpick userpick Boolean

Location network # Delete

Path:
DELETE /v7.0/location_networks/{location_network_id}
Description:
Remove network from a location
Authentication required:
yes
Scope:
location_network#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Location network # Index

Path:
GET /v7.0/location_networks
Description:
List location networks
Authentication required:
yes
Scope:
location_network#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
location_network
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Location location no Resource
Network network no Resource

Output parameters

Layout:
object_list
Namespace:
location_networks
Label Name Type Description
Id id Integer
Location location Resource
Network network Resource
Primary primary Boolean
Priority priority Integer
Autopick autopick Boolean
Userpick userpick Boolean

Location network # Show

Path:
GET /v7.0/location_networks/{location_network_id}
Description:
Show a location network
Authentication required:
yes
Scope:
location_network#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
location_network
Label Name Type Description
Id id Integer
Location location Resource
Network network Resource
Primary primary Boolean
Priority priority Integer
Autopick autopick Boolean
Userpick userpick Boolean

Location network # Update

Path:
PUT /v7.0/location_networks/{location_network_id}
Description:
Update a location network
Authentication required:
yes
Scope:
location_network#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
location_network
Label Name Required Type Validators Default Description
Primary primary no Boolean
Priority priority no Integer
Autopick autopick no Boolean
Userpick userpick no Boolean

Output parameters

Layout:
object
Namespace:
location_network
Label Name Type Description
Id id Integer
Location location Resource
Network network Resource
Primary primary Boolean
Priority priority Integer
Autopick autopick Boolean
Userpick userpick Boolean

Mail log


Browse sent mails

Mail log # Index

Path:
GET /v7.0/mail_logs
Description:
List mails
Authentication required:
yes
Scope:
mail_log#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_log
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
mail_logs
Label Name Type Description
Id id Integer
User user Resource
To to String
Cc cc String
Bcc bcc String
From from String
Reply_to reply_to String
Return_path return_path String
Message_id message_id String
In_reply_to in_reply_to String
References references String
Subject subject String
Text_plain text_plain String
Text_html text_html String
MailTemplate mail_template Resource
Created_at created_at Datetime

Mail log # Show

Path:
GET /v7.0/mail_logs/{mail_log_id}
Description:
View mail
Authentication required:
yes
Scope:
mail_log#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
mail_log
Label Name Type Description
Id id Integer
User user Resource
To to String
Cc cc String
Bcc bcc String
From from String
Reply_to reply_to String
Return_path return_path String
Message_id message_id String
In_reply_to in_reply_to String
References references String
Subject subject String
Text_plain text_plain String
Text_html text_html String
MailTemplate mail_template Resource
Created_at created_at Datetime

Mail recipient


Manage mail recipients

Mail recipient # Create

Path:
POST /v7.0/mail_recipients
Description:
Create a mail recipient
Authentication required:
yes
Scope:
mail_recipient#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_recipient
Label Name Required Type Validators Default Description
Label label no String Human-friendly label
To to no String
Cc cc no String
Bcc bcc no String

Output parameters

Layout:
object
Namespace:
mail_recipient
Label Name Type Description
Id id Integer
Label label String Human-friendly label
To to String
Cc cc String
Bcc bcc String

Mail recipient # Delete

Path:
DELETE /v7.0/mail_recipients/{mail_recipient_id}
Description:
Delete a mail recipient
Authentication required:
yes
Scope:
mail_recipient#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Mail recipient # Index

Path:
GET /v7.0/mail_recipients
Description:
List mail recipients
Authentication required:
yes
Scope:
mail_recipient#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_recipient
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
mail_recipients
Label Name Type Description
Id id Integer
Label label String Human-friendly label
To to String
Cc cc String
Bcc bcc String

Mail recipient # Show

Path:
GET /v7.0/mail_recipients/{mail_recipient_id}
Description:
View mail recipient
Authentication required:
yes
Scope:
mail_recipient#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
mail_recipient
Label Name Type Description
Id id Integer
Label label String Human-friendly label
To to String
Cc cc String
Bcc bcc String

Mail recipient # Update

Path:
PUT /v7.0/mail_recipients/{mail_recipient_id}
Description:
Update a mail recipient
Authentication required:
yes
Scope:
mail_recipient#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_recipient
Label Name Required Type Validators Default Description
Label label no String Human-friendly label
To to no String
Cc cc no String
Bcc bcc no String

Output parameters

Layout:
object
Namespace:
mail_recipient
Label Name Type Description
Id id Integer
Label label String Human-friendly label
To to String
Cc cc String
Bcc bcc String

Mail template


Manage mail templates

Mail template # Create

Path:
POST /v7.0/mail_templates
Description:
Create a mail template
Authentication required:
yes
Scope:
mail_template#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_template
Label Name Required Type Validators Default Description
Name name no String Template identifier
Label label no String Human-friendly label
Template_id template_id no String
User_visibility user_visibility no String
Include
values
["default", "visible", "invisible"]
message
%{value} cannot be used

Output parameters

Layout:
object
Namespace:
mail_template
Label Name Type Description
Id id Integer
Name name String Template identifier
Label label String Human-friendly label
Template_id template_id String
User_visibility user_visibility String
Created_at created_at Datetime
Updated_at updated_at Datetime

Mail template # Delete

Path:
DELETE /v7.0/mail_templates/{mail_template_id}
Description:
Delete a mail template
Authentication required:
yes
Scope:
mail_template#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Mail template # Index

Path:
GET /v7.0/mail_templates
Description:
List mail templates
Authentication required:
yes
Scope:
mail_template#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_template
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
mail_templates
Label Name Type Description
Id id Integer
Name name String Template identifier
Label label String Human-friendly label
Template_id template_id String
User_visibility user_visibility String
Created_at created_at Datetime
Updated_at updated_at Datetime

Mail template # Show

Path:
GET /v7.0/mail_templates/{mail_template_id}
Description:
View mail template
Authentication required:
yes
Scope:
mail_template#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
mail_template
Label Name Type Description
Id id Integer
Name name String Template identifier
Label label String Human-friendly label
Template_id template_id String
User_visibility user_visibility String
Created_at created_at Datetime
Updated_at updated_at Datetime

Mail template # Update

Path:
PUT /v7.0/mail_templates/{mail_template_id}
Description:
Update a mail template
Authentication required:
yes
Scope:
mail_template#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_template
Label Name Required Type Validators Default Description
Name name no String Template identifier
Label label no String Human-friendly label
Template_id template_id no String
User_visibility user_visibility no String
Include
values
["default", "visible", "invisible"]
message
%{value} cannot be used

Output parameters

Layout:
object
Namespace:
mail_template
Label Name Type Description
Id id Integer
Name name String Template identifier
Label label String Human-friendly label
Template_id template_id String
User_visibility user_visibility String
Created_at created_at Datetime
Updated_at updated_at Datetime

Recipient


Manage mail recipients

Mail template.Recipient # Create

Path:
POST /v7.0/mail_templates/{mail_template_id}/recipients
Description:
Create a mail recipient
Authentication required:
yes
Scope:
mail_template.recipient#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
recipient
Label Name Required Type Validators Default Description
MailRecipient mail_recipient yes Resource

Output parameters

Layout:
object
Namespace:
recipient
Label Name Type Description
Id id Integer
MailRecipient mail_recipient Resource

Mail template.Recipient # Delete

Path:
DELETE /v7.0/mail_templates/{mail_template_id}/recipients/{recipient_id}
Description:
Delete a mail recipient
Authentication required:
yes
Scope:
mail_template.recipient#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Mail template.Recipient # Index

Path:
GET /v7.0/mail_templates/{mail_template_id}/recipients
Description:
List mail recipients
Authentication required:
yes
Scope:
mail_template.recipient#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
recipient
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
recipients
Label Name Type Description
Id id Integer
MailRecipient mail_recipient Resource

Mail template.Recipient # Show

Path:
GET /v7.0/mail_templates/{mail_template_id}/recipients/{recipient_id}
Description:
View mail recipient
Authentication required:
yes
Scope:
mail_template.recipient#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
recipient
Label Name Type Description
Id id Integer
MailRecipient mail_recipient Resource

Translation


Manage mail templates

Mail template.Translation # Create

Path:
POST /v7.0/mail_templates/{mail_template_id}/translations
Description:
Create a mail template translation
Authentication required:
yes
Scope:
mail_template.translation#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
translation
Label Name Required Type Validators Default Description
Language language no Resource
From from no String
Reply_to reply_to no String
Return_path return_path no String
Subject subject no String
Text_plain text_plain no Text
Text_html text_html no Text

Output parameters

Layout:
object
Namespace:
translation
Label Name Type Description
Id id Integer
Language language Resource
From from String
Reply_to reply_to String
Return_path return_path String
Subject subject String
Text_plain text_plain Text
Text_html text_html Text
Created_at created_at Datetime
Updated_at updated_at Datetime

Mail template.Translation # Delete

Path:
DELETE /v7.0/mail_templates/{mail_template_id}/translations/{translation_id}
Description:
Delete a mail template translation
Authentication required:
yes
Scope:
mail_template.translation#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Mail template.Translation # Index

Path:
GET /v7.0/mail_templates/{mail_template_id}/translations
Description:
List mail template translations
Authentication required:
yes
Scope:
mail_template.translation#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
translation
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
translations
Label Name Type Description
Id id Integer
Language language Resource
From from String
Reply_to reply_to String
Return_path return_path String
Subject subject String
Text_plain text_plain Text
Text_html text_html Text
Created_at created_at Datetime
Updated_at updated_at Datetime

Mail template.Translation # Show

Path:
GET /v7.0/mail_templates/{mail_template_id}/translations/{translation_id}
Description:
Show a mail template translation
Authentication required:
yes
Scope:
mail_template.translation#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
translation
Label Name Type Description
Id id Integer
Language language Resource
From from String
Reply_to reply_to String
Return_path return_path String
Subject subject String
Text_plain text_plain Text
Text_html text_html Text
Created_at created_at Datetime
Updated_at updated_at Datetime

Mail template.Translation # Update

Path:
PUT /v7.0/mail_templates/{mail_template_id}/translations/{translation_id}
Description:
Update a mail template translation
Authentication required:
yes
Scope:
mail_template.translation#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
translation
Label Name Required Type Validators Default Description
Language language no Resource
From from no String
Reply_to reply_to no String
Return_path return_path no String
Subject subject no String
Text_plain text_plain no Text
Text_html text_html no Text

Output parameters

Layout:
object
Namespace:
translation
Label Name Type Description
Id id Integer
Language language Resource
From from String
Reply_to reply_to String
Return_path return_path String
Subject subject String
Text_plain text_plain Text
Text_html text_html Text
Created_at created_at Datetime
Updated_at updated_at Datetime

Mailbox


Manage mailboxes

Mailbox # Create

Path:
POST /v7.0/mailboxes
Description:
Create a mailbox
Authentication required:
yes
Scope:
mailbox#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
mailbox
Label Name Required Type Validators Default Description
Label label no String
Server server no String
Port port no Integer
User user no String
Password password no String
Enable_ssl enable_ssl no Boolean true

Output parameters

Layout:
object
Namespace:
mailbox
Label Name Type Description
ID id Integer
Label label String
Server server String
Port port Integer
User user String
Enable_ssl enable_ssl Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Mailbox # Delete

Path:
DELETE /v7.0/mailboxes/{mailbox_id}
Description:
Delete mailbox
Authentication required:
yes
Scope:
mailbox#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Mailbox # Index

Path:
GET /v7.0/mailboxes
Description:
List mailboxes
Authentication required:
yes
Scope:
mailbox#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
mailbox
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
mailboxes
Label Name Type Description
ID id Integer
Label label String
Server server String
Port port Integer
User user String
Enable_ssl enable_ssl Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Mailbox # Show

Path:
GET /v7.0/mailboxes/{mailbox_id}
Description:
Show mailbox
Authentication required:
yes
Scope:
mailbox#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
mailbox
Label Name Type Description
ID id Integer
Label label String
Server server String
Port port Integer
User user String
Enable_ssl enable_ssl Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Mailbox # Update

Path:
PUT /v7.0/mailboxes/{mailbox_id}
Description:
Update mailbox
Authentication required:
yes
Scope:
mailbox#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
mailbox
Label Name Required Type Validators Default Description
Label label no String
Server server no String
Port port no Integer
User user no String
Password password no String
Enable_ssl enable_ssl no Boolean true

Output parameters

Layout:
object
Namespace:
mailbox
Label Name Type Description
ID id Integer
Label label String
Server server String
Port port Integer
User user String
Enable_ssl enable_ssl Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Handler


Manage mailbox handlers

Mailbox.Handler # Create

Path:
POST /v7.0/mailboxes/{mailbox_id}/handler
Description:
Add mailbox handler
Authentication required:
yes
Scope:
mailbox.handler#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
handler
Label Name Required Type Validators Default Description
Class_name class_name no String
Order order no Integer
Continue continue no Boolean

Output parameters

Layout:
object
Namespace:
handler
Label Name Type Description
Id id Integer
Class_name class_name String
Order order Integer
Continue continue Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Mailbox.Handler # Delete

Path:
DELETE /v7.0/mailboxes/{mailbox_id}/handler/{handler_id}
Description:
Delete mailbox handler
Authentication required:
yes
Scope:
mailbox.handler#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Mailbox.Handler # Index

Path:
GET /v7.0/mailboxes/{mailbox_id}/handler
Description:
List mailbox handlers
Authentication required:
yes
Scope:
mailbox.handler#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
handler
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
handlers
Label Name Type Description
Id id Integer
Class_name class_name String
Order order Integer
Continue continue Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Mailbox.Handler # Show

Path:
GET /v7.0/mailboxes/{mailbox_id}/handler/{handler_id}
Description:
Show mailbox handler
Authentication required:
yes
Scope:
mailbox.handler#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
handler
Label Name Type Description
Id id Integer
Class_name class_name String
Order order Integer
Continue continue Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Mailbox.Handler # Update

Path:
PUT /v7.0/mailboxes/{mailbox_id}/handler/{handler_id}
Description:
Update mailbox handler
Authentication required:
yes
Scope:
mailbox.handler#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
handler
Label Name Required Type Validators Default Description
Class_name class_name no String
Order order no Integer
Continue continue no Boolean

Output parameters

Layout:
object
Namespace:
handler
Label Name Type Description
Id id Integer
Class_name class_name String
Order order Integer
Continue continue Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Metrics access token


Manage /metrics endpoint access tokens

Metrics access token # Create

Path:
POST /v7.0/metrics_access_tokens
Description:
Create a new access token
Authentication required:
yes
Scope:
metrics_access_token#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
metrics_access_token
Label Name Required Type Validators Default Description
User user no Resource
Metric prefix metric_prefix no String
Length
message
length has to be maximally 30
max
30
Format
rx
\A[a-zA-Z_]+\z
match
true
description
message
only allows letters and underscore
vpsadmin_ Prefix added to all metrics

Output parameters

Layout:
object
Namespace:
metrics_access_token
Label Name Type Description
Id id Integer
User user Resource
Access token access_token String
Metric prefix metric_prefix String Prefix added to all metrics
Use count use_count Integer
Last use last_use Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Metrics access token # Delete

Path:
DELETE /v7.0/metrics_access_tokens/{metrics_access_token_id}
Description:
Delete access token
Authentication required:
yes
Scope:
metrics_access_token#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Metrics access token # Index

Path:
GET /v7.0/metrics_access_tokens
Description:
Authentication required:
yes
Scope:
metrics_access_token#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
metrics_access_token
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource

Output parameters

Layout:
object_list
Namespace:
metrics_access_tokens
Label Name Type Description
Id id Integer
User user Resource
Access token access_token String
Metric prefix metric_prefix String Prefix added to all metrics
Use count use_count Integer
Last use last_use Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Metrics access token # Show

Path:
GET /v7.0/metrics_access_tokens/{metrics_access_token_id}
Description:
Authentication required:
yes
Scope:
metrics_access_token#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
metrics_access_token
Label Name Type Description
Id id Integer
User user Resource
Access token access_token String
Metric prefix metric_prefix String Prefix added to all metrics
Use count use_count Integer
Last use last_use Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Migration plan


View migration plans

Migration plan # Cancel

Path:
POST /v7.0/migration_plans/{migration_plan_id}/cancel
Description:
Cancel execution of a migration plan
Authentication required:
yes
Scope:
migration_plan#cancel
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
migration_plan
Label Name Type Description
Id id Integer
State state String
Stop_on_error stop_on_error Boolean
Send_mail send_mail Boolean
Concurrency concurrency Integer
Reason reason String
User user Resource
Created_at created_at Datetime
Finished_at finished_at Datetime

Migration plan # Create

Path:
POST /v7.0/migration_plans
Description:
Create a custom migration plan
Authentication required:
yes
Scope:
migration_plan#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
migration_plan
Label Name Required Type Validators Default Description
Stop_on_error stop_on_error no Boolean true
Send_mail send_mail no Boolean true
Concurrency concurrency no Integer 10
Reason reason no String

Output parameters

Layout:
object
Namespace:
migration_plan
Label Name Type Description
Id id Integer
State state String
Stop_on_error stop_on_error Boolean
Send_mail send_mail Boolean
Concurrency concurrency Integer
Reason reason String
User user Resource
Created_at created_at Datetime
Finished_at finished_at Datetime

Migration plan # Delete

Path:
DELETE /v7.0/migration_plans/{migration_plan_id}
Description:
Delete staged migration plan
Authentication required:
yes
Scope:
migration_plan#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Migration plan # Index

Path:
GET /v7.0/migration_plans
Description:
List migration plans
Authentication required:
yes
Scope:
migration_plan#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
migration_plan
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
State state no String
Include
values
["staged", "running", "cancelling", "failing", "cancelled", "done", "error"]
message
%{value} cannot be used
User user no Resource

Output parameters

Layout:
object_list
Namespace:
migration_plans
Label Name Type Description
Id id Integer
State state String
Stop_on_error stop_on_error Boolean
Send_mail send_mail Boolean
Concurrency concurrency Integer
Reason reason String
User user Resource
Created_at created_at Datetime
Finished_at finished_at Datetime

Migration plan # Show

Path:
GET /v7.0/migration_plans/{migration_plan_id}
Description:
Show a migration plan
Authentication required:
yes
Scope:
migration_plan#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
migration_plan
Label Name Type Description
Id id Integer
State state String
Stop_on_error stop_on_error Boolean
Send_mail send_mail Boolean
Concurrency concurrency Integer
Reason reason String
User user Resource
Created_at created_at Datetime
Finished_at finished_at Datetime

Migration plan # Start

Path:
POST /v7.0/migration_plans/{migration_plan_id}/start
Description:
Begin execution of a migration plan
Authentication required:
yes
Scope:
migration_plan#start
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
migration_plan
Label Name Type Description
Id id Integer
State state String
Stop_on_error stop_on_error Boolean
Send_mail send_mail Boolean
Concurrency concurrency Integer
Reason reason String
User user Resource
Created_at created_at Datetime
Finished_at finished_at Datetime

Vps migration


VPS migrations

Migration plan.Vps migration # Create

Path:
POST /v7.0/migration_plans/{migration_plan_id}/vps_migrations
Description:
Schedule VPS migration
Authentication required:
yes
Scope:
migration_plan.vps_migration#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
vps_migration
Label Name Required Type Validators Default Description
VPS vps yes Resource
Dst_node dst_node yes Resource
Maintenance_window maintenance_window no Boolean true
Cleanup_data cleanup_data no Boolean true

Output parameters

Layout:
object
Namespace:
vps_migration
Label Name Type Description
Id id Integer
State state String
TransactionChain transaction_chain Resource
Src_node src_node Resource
VPS vps Resource
Dst_node dst_node Resource
Maintenance_window maintenance_window Boolean
Cleanup_data cleanup_data Boolean
Created_at created_at Datetime
Started_at started_at Datetime
Finished_at finished_at Datetime

Migration plan.Vps migration # Index

Path:
GET /v7.0/migration_plans/{migration_plan_id}/vps_migrations
Description:
List scheduled VPS migrations
Authentication required:
yes
Scope:
migration_plan.vps_migration#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
vps_migration
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
State state no String
Include
values
["queued", "running", "cancelled", "done", "error"]
message
%{value} cannot be used
Src_node src_node no Resource
Dst_node dst_node no Resource

Output parameters

Layout:
object_list
Namespace:
vps_migrations
Label Name Type Description
Id id Integer
State state String
TransactionChain transaction_chain Resource
Src_node src_node Resource
VPS vps Resource
Dst_node dst_node Resource
Maintenance_window maintenance_window Boolean
Cleanup_data cleanup_data Boolean
Created_at created_at Datetime
Started_at started_at Datetime
Finished_at finished_at Datetime

Migration plan.Vps migration # Show

Path:
GET /v7.0/migration_plans/{migration_plan_id}/vps_migrations/{vps_migration_id}
Description:
Show a migration plan
Authentication required:
yes
Scope:
migration_plan.vps_migration#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
vps_migration
Label Name Type Description
Id id Integer
State state String
TransactionChain transaction_chain Resource
Src_node src_node Resource
VPS vps Resource
Dst_node dst_node Resource
Maintenance_window maintenance_window Boolean
Cleanup_data cleanup_data Boolean
Created_at created_at Datetime
Started_at started_at Datetime
Finished_at finished_at Datetime

Monitored event


Browser monitored events

Monitored event # Acknowledge

Path:
POST /v7.0/monitored_events/{monitored_event_id}/acknowledge
Description:
Authentication required:
yes
Scope:
monitored_event#acknowledge
Aliases:
ack
Blocking:
no

Input parameters

Layout:
object
Namespace:
monitored_event
Label Name Required Type Validators Default Description
Until until no Datetime

Output parameters

No parameters.

Monitored event # Ignore

Path:
POST /v7.0/monitored_events/{monitored_event_id}/ignore
Description:
Authentication required:
yes
Scope:
monitored_event#ignore
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
monitored_event
Label Name Required Type Validators Default Description
Until until no Datetime

Output parameters

No parameters.

Monitored event # Index

Path:
GET /v7.0/monitored_events
Description:
Authentication required:
yes
Scope:
monitored_event#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
monitored_event
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
Monitor monitor no String
Object_name object_name no String
Object_id object_id no Integer
State state no String
Include
values
["monitoring", "confirmed", "unconfirmed", "acknowledged", "ignored", "closed"]
message
%{value} cannot be used
User user no Resource
Order order no String
Include
values
["oldest", "latest", "longest", "shortest"]
message
%{value} cannot be used
latest
From_duration from_duration no Float Paginate by duration

Output parameters

Layout:
object_list
Namespace:
monitored_events
Label Name Type Description
Id id Integer
Monitor monitor String
Label label String
Issue issue String
Object_name object_name String
Object_id object_id Integer
State state String
User user Resource
Created_at created_at Datetime
Updated_at updated_at Datetime
Duration duration Float
Saved_until saved_until Datetime

Monitored event # Show

Path:
GET /v7.0/monitored_events/{monitored_event_id}
Description:
Authentication required:
yes
Scope:
monitored_event#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
monitored_event
Label Name Type Description
Id id Integer
Monitor monitor String
Label label String
Issue issue String
Object_name object_name String
Object_id object_id Integer
State state String
User user Resource
Created_at created_at Datetime
Updated_at updated_at Datetime
Duration duration Float
Saved_until saved_until Datetime

Log


Browse monitored event logs

Monitored event.Log # Index

Path:
GET /v7.0/monitored_events/{monitored_event_id}/logs
Description:
List event logs
Authentication required:
yes
Scope:
monitored_event.log#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
log
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
Passed passed no Boolean
Order order no String
Include
values
["oldest", "latest"]
message
%{value} cannot be used
oldest

Output parameters

Layout:
object_list
Namespace:
logs
Label Name Type Description
Id id Integer
Passed passed Boolean
Value value Custom
Created_at created_at Datetime

Monitored event.Log # Show

Path:
GET /v7.0/monitored_events/{monitored_event_id}/logs/{log_id}
Description:
Authentication required:
yes
Scope:
monitored_event.log#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
log
Label Name Type Description
Id id Integer
Passed passed Boolean
Value value Custom
Created_at created_at Datetime

Network


Manage networks

Network # Add_addresses

Path:
POST /v7.0/networks/{network_id}/add_addresses
Description:
Add IP addresses to a managed network
Authentication required:
yes
Scope:
network#add_addresses
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
network
Label Name Required Type Validators Default Description
Count count yes Integer
Number
message
has to be minimally 1
min
1
Present
empty
false
message
must be present and non-empty
User user no Resource Owner of new IP addresses
Environment environment no Resource Environment to which the addresses are charged

Output parameters

Layout:
hash
Namespace:
network
Label Name Type Description
Count count Integer Number of added IP addresses

Network # Create

Path:
POST /v7.0/networks
Description:
Add a new network
Authentication required:
yes
Scope:
network#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
network
Label Name Required Type Validators Default Description
Label label no String
Ip_version ip_version yes Integer
Present
empty
false
message
must be present and non-empty
Include
values
[4, 6]
message
%{value} cannot be used
Address address yes String
Present
empty
false
message
must be present and non-empty
Prefix prefix yes Integer
Present
empty
false
message
must be present and non-empty
Role role yes String
Include
values
["public_access", "private_access"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Managed managed yes Boolean
Present
empty
false
message
must be present and non-empty
Split_access split_access no String
Include
values
["no_access", "user_split", "owner_split"]
message
%{value} cannot be used
Split_prefix split_prefix yes Integer
Present
empty
false
message
must be present and non-empty
Purpose purpose yes String
Include
values
["any", "vps", "export"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Add_ip_addresses add_ip_addresses no Boolean false Add all IP addresses from this network to the database now

Output parameters

Layout:
object
Namespace:
network
Label Name Type Description
Id id Integer
Primary_location primary_location Resource
Label label String
Ip_version ip_version Integer
Address address String
Prefix prefix Integer
Role role String
Managed managed Boolean
Split_access split_access String
Split_prefix split_prefix Integer
Purpose purpose String
Size size Integer Number of possible host IP addresses
Used used Integer Number of IP addresses present in vpsAdmin
Assigned assigned Integer Number of IP addresses assigned to VPSes
Owned owned Integer Number of IP addresses owned by some users
Taken taken Integer Number of owned and assigned IP addresses

Network # Index

Path:
GET /v7.0/networks
Description:
List networks
Authentication required:
yes
Scope:
network#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
network
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Location location no Resource
Purpose purpose no String
Include
values
["any", "vps", "export"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
networks
Label Name Type Description
Id id Integer
Primary_location primary_location Resource
Label label String
Ip_version ip_version Integer
Address address String
Prefix prefix Integer
Role role String
Managed managed Boolean
Split_access split_access String
Split_prefix split_prefix Integer
Purpose purpose String
Size size Integer Number of possible host IP addresses
Used used Integer Number of IP addresses present in vpsAdmin
Assigned assigned Integer Number of IP addresses assigned to VPSes
Owned owned Integer Number of IP addresses owned by some users
Taken taken Integer Number of owned and assigned IP addresses

Network # Show

Path:
GET /v7.0/networks/{network_id}
Description:
Show a network
Authentication required:
yes
Scope:
network#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
network
Label Name Type Description
Id id Integer
Primary_location primary_location Resource
Label label String
Ip_version ip_version Integer
Address address String
Prefix prefix Integer
Role role String
Managed managed Boolean
Split_access split_access String
Split_prefix split_prefix Integer
Purpose purpose String
Size size Integer Number of possible host IP addresses
Used used Integer Number of IP addresses present in vpsAdmin
Assigned assigned Integer Number of IP addresses assigned to VPSes
Owned owned Integer Number of IP addresses owned by some users
Taken taken Integer Number of owned and assigned IP addresses

Network # Update

Path:
PUT /v7.0/networks/{network_id}
Description:
Update a network
Authentication required:
yes
Scope:
network#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
network
Label Name Required Type Validators Default Description
Label label no String
Ip_version ip_version no Integer
Include
values
[4, 6]
message
%{value} cannot be used
Address address no String
Prefix prefix no Integer
Role role no String
Include
values
["public_access", "private_access"]
message
%{value} cannot be used
Managed managed no Boolean
Split_access split_access no String
Include
values
["no_access", "user_split", "owner_split"]
message
%{value} cannot be used
Split_prefix split_prefix no Integer
Purpose purpose no String
Include
values
["any", "vps", "export"]
message
%{value} cannot be used

Output parameters

Layout:
object
Namespace:
network
Label Name Type Description
Id id Integer
Primary_location primary_location Resource
Label label String
Ip_version ip_version Integer
Address address String
Prefix prefix Integer
Role role String
Managed managed Boolean
Split_access split_access String
Split_prefix split_prefix Integer
Purpose purpose String
Size size Integer Number of possible host IP addresses
Used used Integer Number of IP addresses present in vpsAdmin
Assigned assigned Integer Number of IP addresses assigned to VPSes
Owned owned Integer Number of IP addresses owned by some users
Taken taken Integer Number of owned and assigned IP addresses

Network interface


Manage VPS network interfaces

Network interface # Index

Path:
GET /v7.0/network_interfaces
Description:
List network interfaces
Authentication required:
yes
Scope:
network_interface#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
network_interface
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
VPS vps no Resource VPS the interface is assigned to, can be null
Location location no Resource Location this IP address is available in
User user no Resource

Output parameters

Layout:
object_list
Namespace:
network_interfaces
Label Name Type Description
ID id Integer Interface ID
VPS vps Resource VPS the interface is assigned to, can be null
Name name String
Type type String
MAC Address mac String
Max outgoing data throughput max_tx Integer
Max incoming data throughput max_rx Integer
Enable enable Boolean

Network interface # Show

Path:
GET /v7.0/network_interfaces/{network_interface_id}
Description:
Show a network interface
Authentication required:
yes
Scope:
network_interface#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
network_interface
Label Name Type Description
ID id Integer Interface ID
VPS vps Resource VPS the interface is assigned to, can be null
Name name String
Type type String
MAC Address mac String
Max outgoing data throughput max_tx Integer
Max incoming data throughput max_rx Integer
Enable enable Boolean

Network interface # Update

Path:
PUT /v7.0/network_interfaces/{network_interface_id}
Description:
Modify a network interface
Authentication required:
yes
Scope:
network_interface#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
network_interface
Label Name Required Type Validators Default Description
Name name no String
Format
rx
\A[a-zA-Z\-_.0-9]{1,30}\z
match
true
description
message
bad format
Max outgoing data throughput max_tx no Integer
Max incoming data throughput max_rx no Integer
Enable enable no Boolean

Output parameters

Layout:
object
Namespace:
network_interface
Label Name Type Description
ID id Integer Interface ID
VPS vps Resource VPS the interface is assigned to, can be null
Name name String
Type type String
MAC Address mac String
Max outgoing data throughput max_tx Integer
Max incoming data throughput max_rx Integer
Enable enable Boolean

Network interface accounting


Network interface accounting

Network interface accounting # Index

Path:
GET /v7.0/network_interface_accountings
Description:
List network interface accounting
Authentication required:
yes
Scope:
network_interface_accounting#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
network_interface_accounting
Label Name Required Type Validators Default Description
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
User user no Resource
Environment environment no Resource
Location location no Resource
Node node no Resource
VPS vps no Resource
Year year no Integer
Month month no Integer
From from no Datetime
To to no Datetime
Order order no String
Include
values
["created_at", "updated_at", "descending", "ascending"]
message
%{value} cannot be used
created_at
From_bytes from_bytes no Integer Paginate by in/out bytes
From_date from_date no Datetime Paginate by create/update date

Output parameters

Layout:
object_list
Namespace:
network_interface_accountings
Label Name Type Description
NetworkInterface network_interface Resource
Bytes bytes Integer
Bytes_in bytes_in Integer
Bytes_out bytes_out Integer
Packets packets Integer
Packets_in packets_in Integer
Packets_out packets_out Integer
Year year Integer
Month month Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

Network interface accounting # User_top

Path:
GET /v7.0/network_interface_accountings/user_top
Description:
Summed users' traffic
Authentication required:
yes
Scope:
network_interface_accounting#user_top
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
network_interface_accounting
Label Name Required Type Validators Default Description
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
Environment environment no Resource
Location location no Resource
Node node no Resource
Year year no Integer
Month month no Integer
From from no Datetime
To to no Datetime
From_bytes from_bytes no Integer Paginate by in/out bytes

Output parameters

Layout:
object_list
Namespace:
network_interface_accountings
Label Name Type Description
User user Resource
Bytes bytes Integer
Bytes_in bytes_in Integer
Bytes_out bytes_out Integer
Packets packets Integer
Packets_in packets_in Integer
Packets_out packets_out Integer
Year year Integer
Month month Integer

Network interface monitor


View current network interface traffic

Network interface monitor # Index

Path:
GET /v7.0/network_interface_monitors
Description:
List current network interface traffic
Authentication required:
yes
Scope:
network_interface_monitor#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
network_interface_monitor
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
User user no Resource
Environment environment no Resource
Location location no Resource
Node node no Resource
VPS vps no Resource
NetworkInterface network_interface no Resource
Order order no String -bytes

Output parameters

Layout:
object_list
Namespace:
network_interface_monitors
Label Name Type Description
Id id Integer
NetworkInterface network_interface Resource
Bytes bytes Integer
Bytes_in bytes_in Integer
Bytes_out bytes_out Integer
Packets packets Integer
Packets_in packets_in Integer
Packets_out packets_out Integer
Delta delta Integer
Updated_at updated_at Datetime

Network interface monitor # Show

Path:
GET /v7.0/network_interface_monitors/{network_interface_monitor_id}
Description:
Show current network interface traffic
Authentication required:
yes
Scope:
network_interface_monitor#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
network_interface_monitor
Label Name Type Description
Id id Integer
NetworkInterface network_interface Resource
Bytes bytes Integer
Bytes_in bytes_in Integer
Bytes_out bytes_out Integer
Packets packets Integer
Packets_in packets_in Integer
Packets_out packets_out Integer
Delta delta Integer
Updated_at updated_at Datetime

News log


Browse and manage news

News log # Create

Path:
POST /v7.0/news_logs
Description:
Publish news
Authentication required:
yes
Scope:
news_log#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
news_log
Label Name Required Type Validators Default Description
Message message yes Text
Present
empty
false
message
must be present and non-empty
Published at published_at no Datetime

Output parameters

Layout:
object
Namespace:
news_log
Label Name Type Description
Id id Integer
Message message Text
Published at published_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

News log # Delete

Path:
DELETE /v7.0/news_logs/{news_log_id}
Description:
Delete news
Authentication required:
yes
Scope:
news_log#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

News log # Index

Path:
GET /v7.0/news_logs
Description:
List news
Authentication required:
no
Scope:
news_log#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
news_log
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Since since no Datetime List news published later than this date

Output parameters

Layout:
object_list
Namespace:
news_logs
Label Name Type Description
Id id Integer
Message message Text
Published at published_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

News log # Show

Path:
GET /v7.0/news_logs/{news_log_id}
Description:
Show news
Authentication required:
no
Scope:
news_log#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
news_log
Label Name Type Description
Id id Integer
Message message Text
Published at published_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

News log # Update

Path:
PUT /v7.0/news_logs/{news_log_id}
Description:
Update news
Authentication required:
yes
Scope:
news_log#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
news_log
Label Name Required Type Validators Default Description
Message message yes Text
Present
empty
false
message
must be present and non-empty
Published at published_at no Datetime

Output parameters

Layout:
object
Namespace:
news_log
Label Name Type Description
Id id Integer
Message message Text
Published at published_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

Node


Manage nodes

Node # Create

Path:
POST /v7.0/nodes
Description:
Create a new node
Authentication required:
yes
Scope:
node#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
node
Label Name Required Type Validators Default Description
ID id no Integer Node ID
Name name yes String
Present
empty
false
message
must be present and non-empty
Format
rx
\A[a-zA-Z0-9.\-_]+\z
match
true
description
message
invalid format
Node name
Role type yes String
Include
values
["node", "storage", "mailer", "dns_server"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Hypervisor type hypervisor_type no String
Include
values
["vpsadminos"]
message
%{value} cannot be used
vpsadminos
Location location yes Resource Location node is placed in
IPv4 address ip_addr yes String
Present
empty
false
message
must be present and non-empty
Format
rx
\A\d+\.\d+\.\d+\.\d+\z
match
true
description
message
not a valid IPv4 address
Node's IP address
Max tx max_tx no Integer Maximum output throughput
Max tx max_rx no Integer Maximum input throughput
Cpus cpus yes Integer
Present
empty
false
message
must be present and non-empty
Total_memory total_memory yes Integer
Present
empty
false
message
must be present and non-empty
Total_swap total_swap yes Integer
Present
empty
false
message
must be present and non-empty
Max_vps max_vps no Integer
Maintenance maintenance no Boolean Put the node into maintenance mode

Output parameters

Layout:
object
Namespace:
node
Label Name Type Description
ID id Integer Node ID
Active active Boolean
Name name String Node name
Domain name domain_name String Node name including location domain
FQDN fqdn String
Role type String
Hypervisor type hypervisor_type String vpsadminos
Location location Resource Location node is placed in
IPv4 address ip_addr String Node's IP address
Max tx max_tx Integer Maximum output throughput
Max tx max_rx Integer Maximum input throughput
Cpus cpus Integer
Total_memory total_memory Integer
Total_swap total_swap Integer
Max_vps max_vps Integer
Status status Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Cpu_guest cpu_guest Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Arc_c_max arc_c_max Integer
Arc_c arc_c Integer
Arc_size arc_size Integer
Arc_hitpercent arc_hitpercent Integer
Version version String
Kernel kernel String
Cgroup version cgroup_version String
Pool_state pool_state String
Pool_scan pool_scan String
Pool_scan_percent pool_scan_percent Float
Pool_checked_at pool_checked_at Datetime
Pool_status pool_status Boolean

Node # Evacuate

Path:
POST /v7.0/nodes/{node_id}/evacuate
Description:
Evacuate node
Authentication required:
yes
Scope:
node#evacuate
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
node
Label Name Required Type Validators Default Description
Target node dst_node yes Resource
Stop on error stop_on_error no Boolean true
Maintenance_window maintenance_window no Boolean true Run migrations in every VPS's maintenance window
Concurrency concurrency no Integer 1 How many migrations run concurrently
Cleanup_data cleanup_data no Boolean true
Send_mail send_mail no Boolean true
Reason reason no String

Output parameters

Layout:
hash
Namespace:
node
Label Name Type Description
Migration_plan_id migration_plan_id Integer

Node # Index

Path:
GET /v7.0/nodes
Description:
List nodes
Authentication required:
yes
Scope:
node#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
node
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Location location no Resource Location node is placed in
Environment environment no Resource
Role type no String
Include
values
["node", "storage", "mailer", "dns_server"]
message
%{value} cannot be used
Hypervisor type hypervisor_type no String
Include
values
["vpsadminos"]
message
%{value} cannot be used
vpsadminos
State state no String
Include
values
["all", "active", "inactive"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
nodes
Label Name Type Description
ID id Integer Node ID
Active active Boolean
Name name String Node name
Domain name domain_name String Node name including location domain
FQDN fqdn String
Role type String
Hypervisor type hypervisor_type String vpsadminos
Location location Resource Location node is placed in
IPv4 address ip_addr String Node's IP address
Max tx max_tx Integer Maximum output throughput
Max tx max_rx Integer Maximum input throughput
Cpus cpus Integer
Total_memory total_memory Integer
Total_swap total_swap Integer
Max_vps max_vps Integer
Status status Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Cpu_guest cpu_guest Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Arc_c_max arc_c_max Integer
Arc_c arc_c Integer
Arc_size arc_size Integer
Arc_hitpercent arc_hitpercent Integer
Version version String
Kernel kernel String
Cgroup version cgroup_version String
Pool_state pool_state String
Pool_scan pool_scan String
Pool_scan_percent pool_scan_percent Float
Pool_checked_at pool_checked_at Datetime
Pool_status pool_status Boolean
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.node.index

# reply is an instance of HaveAPI::Client::ResourceInstanceList,
# which is a subclass of Array
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.node.index(function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstanceList
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->node->index();

// $reply is an instance of \HaveAPI\Client\ResourceInstanceList
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 node index
                 ID:  1
             Active:  -
               Name:  node1
        Domain name:  -
               FQDN:  -
               Role:  node
    Hypervisor type:  -
           Location:  The Location (#1)
       IPv4 address:  192.168.0.10
             Max tx:  -
             Max tx:  -
               Cpus:  -
       Total_memory:  -
         Total_swap:  -
            Max_vps:  -
             Status:  -
             Uptime:  -
           Loadavg1:  -
           Loadavg5:  -
          Loadavg15:  -
      Process count:  -
           Cpu_user:  -
           Cpu_nice:  -
         Cpu_system:  -
           Cpu_idle:  -
         Cpu_iowait:  -
            Cpu_irq:  -
        Cpu_softirq:  -
          Cpu_guest:  -
        Used memory:  -
          Used swap:  -
          Arc_c_max:  -
              Arc_c:  -
           Arc_size:  -
     Arc_hitpercent:  -
            Version:  -
             Kernel:  -
     Cgroup version:  -
         Pool_state:  -
          Pool_scan:  -
  Pool_scan_percent:  -
    Pool_checked_at:  -
        Pool_status:  -
   Maintenance lock:  no
 Maintenance reason:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/node/actions/index

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request GET \
       --data-binary "{
  \"node\": {}
}" \
       'https://api.vpsfree.cz/v7.0/nodes'
Response
{
  "status": true,
  "message": null,
  "response": {
    "nodes": [
      {
        "id": 1,
        "name": "node1",
        "type": "node",
        "location": {
          "id": 1,
          "label": "The Location"
        },
        "ip_addr": "192.168.0.10",
        "maintenance_lock": "no"
      }
    ]
  },
  "errors": null
}
HTTP
Request
GET /v7.0/nodes HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 335

{
  "status": true,
  "message": null,
  "response": {
    "nodes": [
      {
        "id": 1,
        "name": "node1",
        "type": "node",
        "location": {
          "id": 1,
          "label": "The Location"
        },
        "ip_addr": "192.168.0.10",
        "maintenance_lock": "no"
      }
    ]
  },
  "errors": null
}

Node # Overview_list

Path:
GET /v7.0/nodes/overview_list
Description:
List all nodes with some additional information
Authentication required:
yes
Scope:
node#overview_list
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object_list
Namespace:
nodes
Label Name Type Description
ID id Integer Node ID
Active active Boolean
Name name String Node name
Domain name domain_name String Node name including location domain
FQDN fqdn String
Role type String
Hypervisor type hypervisor_type String vpsadminos
Location location Resource Location node is placed in
IPv4 address ip_addr String Node's IP address
Max tx max_tx Integer Maximum output throughput
Max tx max_rx Integer Maximum input throughput
Cpus cpus Integer
Total_memory total_memory Integer
Total_swap total_swap Integer
Max_vps max_vps Integer
Status status Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Cpu_guest cpu_guest Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Arc_c_max arc_c_max Integer
Arc_c arc_c Integer
Arc_size arc_size Integer
Arc_hitpercent arc_hitpercent Integer
Version version String
Kernel kernel String
Cgroup version cgroup_version String
Pool_state pool_state String
Pool_scan pool_scan String
Pool_scan_percent pool_scan_percent Float
Pool_checked_at pool_checked_at Datetime
Pool_status pool_status Boolean
Last report last_report Datetime
Running VPS vps_running Integer Number of running VPSes
Stopped VPS vps_stopped Integer Number of stopped VPSes
Deleted VPS vps_deleted Integer Number of lazily deleted VPSes
Total VPS vps_total Integer Total number of VPSes
Free VPS slots vps_free Integer Number of free VPS slots
Max VPS slots vps_max Integer Number of running VPSes
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Node # Public_status

Path:
GET /v7.0/nodes/public_status
Description:
Public node status
Authentication required:
no
Scope:
node#public_status
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object_list
Namespace:
nodes
Label Name Type Description
Id id Integer
Status status Boolean
Node name name String
FQDN fqdn String
Location location Resource Location node is placed in
Last report last_report Datetime
VPS count vps_count Integer
Free VPS slots vps_free Integer
Kernel kernel String
Role type String node, storage or mailer
Hypervisor type hypervisor_type String vpsadminos
CPU idle cpu_idle Float
Cgroup version cgroup_version String
Pool_state pool_state String
Pool_scan pool_scan String
Pool_scan_percent pool_scan_percent Float
Pool_checked_at pool_checked_at Datetime
Pool_status pool_status Boolean
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.node.public_status

# reply is an instance of HaveAPI::Client::ResourceInstanceList,
# which is a subclass of Array
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.node.public_status(function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstanceList
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->node->public_status();

// $reply is an instance of \HaveAPI\Client\ResourceInstanceList
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 node public_status
 Id  Status   Node name   FQDN   Location      Last report                  VPS count   Free VPS slots  Kernel                Role   Hypervisor type    CPU idle  Cgroup version   Pool_state   Pool_scan    Pool_scan_percent  Pool_checked_at   Pool_status   Maintenance lock   Maintenance reason 
  -  true     node1.prg   -      Prague (#1)   2016-11-20T08:30:50+01:00           68               12  2.6.32-042stab120.6   -      -                      65.3  -                -            -                            -  -                 -             -                  -                  
  -  -        node2.prg   -      Prague (#1)   2016-11-14T06:41:23+01:00            0               80  2.6.32-042stab120.6   -      -                     100.0  -                -            -                            -  -                 -             lock               HW upgrade         
  -  true     node3.prg   -      Prague (#1)   2016-11-20T08:30:46+01:00           65               15  2.6.32-042stab120.6   -      -                      72.6  -                -            -                            -  -                 -             -                  -                  
File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/node/actions/public_status

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request GET \
       --data-binary "{
  \"node\": {}
}" \
       'https://api.vpsfree.cz/v7.0/nodes/public_status'
Response
{
  "status": true,
  "message": null,
  "response": {
    "nodes": [
      {
        "status": true,
        "name": "node1.prg",
        "location": {
          "id": 1,
          "label": "Prague"
        },
        "last_report": "2016-11-20T08:30:50+01:00",
        "vps_count": 68,
        "vps_free": 12,
        "kernel": "2.6.32-042stab120.6",
        "cpu_idle": 65.3
      },
      {
        "status": false,
        "name": "node2.prg",
        "location": {
          "id": 1,
          "label": "Prague"
        },
        "last_report": "2016-11-14T06:41:23+01:00",
        "vps_count": 0,
        "vps_free": 80,
        "kernel": "2.6.32-042stab120.6",
        "cpu_idle": 100.0,
        "maintenance_lock": "lock",
        "maintenance_lock_reason": "HW upgrade"
      },
      {
        "status": true,
        "name": "node3.prg",
        "location": {
          "id": 1,
          "label": "Prague"
        },
        "last_report": "2016-11-20T08:30:46+01:00",
        "vps_count": 65,
        "vps_free": 15,
        "kernel": "2.6.32-042stab120.6",
        "cpu_idle": 72.6
      }
    ]
  },
  "errors": null
}
HTTP
Request
GET /v7.0/nodes/public_status HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 1135

{
  "status": true,
  "message": null,
  "response": {
    "nodes": [
      {
        "status": true,
        "name": "node1.prg",
        "location": {
          "id": 1,
          "label": "Prague"
        },
        "last_report": "2016-11-20T08:30:50+01:00",
        "vps_count": 68,
        "vps_free": 12,
        "kernel": "2.6.32-042stab120.6",
        "cpu_idle": 65.3
      },
      {
        "status": false,
        "name": "node2.prg",
        "location": {
          "id": 1,
          "label": "Prague"
        },
        "last_report": "2016-11-14T06:41:23+01:00",
        "vps_count": 0,
        "vps_free": 80,
        "kernel": "2.6.32-042stab120.6",
        "cpu_idle": 100.0,
        "maintenance_lock": "lock",
        "maintenance_lock_reason": "HW upgrade"
      },
      {
        "status": true,
        "name": "node3.prg",
        "location": {
          "id": 1,
          "label": "Prague"
        },
        "last_report": "2016-11-20T08:30:46+01:00",
        "vps_count": 65,
        "vps_free": 15,
        "kernel": "2.6.32-042stab120.6",
        "cpu_idle": 72.6
      }
    ]
  },
  "errors": null
}

Node # Set_maintenance

Path:
POST /v7.0/nodes/{node_id}/set_maintenance
Description:
Set maintenance lock
Authentication required:
yes
Scope:
node#set_maintenance
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
node
Label Name Required Type Validators Default Description
Lock lock yes Boolean
Present
empty
false
message
must be present and non-empty
Reason reason no String

Output parameters

No parameters.

Node # Show

Path:
GET /v7.0/nodes/{node_id}
Description:
Show node
Authentication required:
yes
Scope:
node#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
node
Label Name Type Description
ID id Integer Node ID
Active active Boolean
Name name String Node name
Domain name domain_name String Node name including location domain
FQDN fqdn String
Role type String
Hypervisor type hypervisor_type String vpsadminos
Location location Resource Location node is placed in
IPv4 address ip_addr String Node's IP address
Max tx max_tx Integer Maximum output throughput
Max tx max_rx Integer Maximum input throughput
Cpus cpus Integer
Total_memory total_memory Integer
Total_swap total_swap Integer
Max_vps max_vps Integer
Status status Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Cpu_guest cpu_guest Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Arc_c_max arc_c_max Integer
Arc_c arc_c Integer
Arc_size arc_size Integer
Arc_hitpercent arc_hitpercent Integer
Version version String
Kernel kernel String
Cgroup version cgroup_version String
Pool_state pool_state String
Pool_scan pool_scan String
Pool_scan_percent pool_scan_percent Float
Pool_checked_at pool_checked_at Datetime
Pool_status pool_status Boolean
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.node.show(2)

# reply is an instance of HaveAPI::Client::ResourceInstance
# reply.id = 2
# reply.name = "node2"
# reply.type = "node"
# reply.location = HaveAPI::Client::ResourceInstance(resource: location, id: 1, label: "The Location")
# reply.ip_addr = "192.168.0.11"
# reply.maintenance_lock = "no"
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.node.show(2, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
  // reply.id = 2
  // reply.name = "node2"
  // reply.type = "node"
  // reply.location = HaveAPI.Client.ResourceInstance(resource: location, id: 1, label: "The Location")
  // reply.ip_addr = "192.168.0.11"
  // reply.maintenance_lock = "no"
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->node->show(2);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
// $reply->id = 2
// $reply->name = "node2"
// $reply->type = "node"
// $reply->location = \HaveAPI\Client\ResourceInstance(resource: location, id: 1, label: "The Location")
// $reply->ip_addr = "192.168.0.11"
// $reply->maintenance_lock = "no"
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 node show 2
                 ID:  2
             Active:  -
               Name:  node2
        Domain name:  -
               FQDN:  -
               Role:  node
    Hypervisor type:  -
           Location:  The Location (#1)
       IPv4 address:  192.168.0.11
             Max tx:  -
             Max tx:  -
               Cpus:  -
       Total_memory:  -
         Total_swap:  -
            Max_vps:  -
             Status:  -
             Uptime:  -
           Loadavg1:  -
           Loadavg5:  -
          Loadavg15:  -
      Process count:  -
           Cpu_user:  -
           Cpu_nice:  -
         Cpu_system:  -
           Cpu_idle:  -
         Cpu_iowait:  -
            Cpu_irq:  -
        Cpu_softirq:  -
          Cpu_guest:  -
        Used memory:  -
          Used swap:  -
          Arc_c_max:  -
              Arc_c:  -
           Arc_size:  -
     Arc_hitpercent:  -
            Version:  -
             Kernel:  -
     Cgroup version:  -
         Pool_state:  -
          Pool_scan:  -
  Pool_scan_percent:  -
    Pool_checked_at:  -
        Pool_status:  -
   Maintenance lock:  no
 Maintenance reason:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/node/actions/show

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1

# Query the output parameters
$ cat output/id
2


$ cat output/name
node2


$ cat output/type
node


$ cat output/location
{:id=>1, :label=>"The Location"}


$ cat output/ip_addr
192.168.0.11


$ cat output/maintenance_lock
no

curl
Request
$ curl --request GET \
       --data-binary "{
  \"node\": {}
}" \
       'https://api.vpsfree.cz/v7.0/nodes/2'
Response
{
  "status": true,
  "message": null,
  "response": {
    "node": {
      "id": 2,
      "name": "node2",
      "type": "node",
      "location": {
        "id": 1,
        "label": "The Location"
      },
      "ip_addr": "192.168.0.11",
      "maintenance_lock": "no"
    }
  },
  "errors": null
}
HTTP
Request
GET /v7.0/nodes/2 HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 300

{
  "status": true,
  "message": null,
  "response": {
    "node": {
      "id": 2,
      "name": "node2",
      "type": "node",
      "location": {
        "id": 1,
        "label": "The Location"
      },
      "ip_addr": "192.168.0.11",
      "maintenance_lock": "no"
    }
  },
  "errors": null
}

Node # Update

Path:
PUT /v7.0/nodes/{node_id}
Description:
Update node
Authentication required:
yes
Scope:
node#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
node
Label Name Required Type Validators Default Description
Active active no Boolean
Name name no String
Format
rx
\A[a-zA-Z0-9.\-_]+\z
match
true
description
message
invalid format
Node name
FQDN fqdn no String
Role type no String
Include
values
["node", "storage", "mailer", "dns_server"]
message
%{value} cannot be used
Hypervisor type hypervisor_type no String
Include
values
["vpsadminos"]
message
%{value} cannot be used
vpsadminos
Location location no Resource Location node is placed in
IPv4 address ip_addr no String
Format
rx
\A\d+\.\d+\.\d+\.\d+\z
match
true
description
message
not a valid IPv4 address
Node's IP address
Max tx max_tx no Integer Maximum output throughput
Max tx max_rx no Integer Maximum input throughput
Cpus cpus no Integer
Total_memory total_memory no Integer
Total_swap total_swap no Integer
Max_vps max_vps no Integer

Output parameters

No parameters.

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.node.update(2, {:name=>"node2", :type=>"storage", :location=>1, :ip_addr=>"192.168.0.11"})

# reply is an instance of HaveAPI::Client::ResourceInstance
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.node.update(2, {
  "name": "node2",
  "type": "storage",
  "location": 1,
  "ip_addr": "192.168.0.11"
}, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->node->update(2, [
  "name" => "node2",
  "type" => "storage",
  "location" => 1,
  "ip_addr" => "192.168.0.11"
]);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 node update 2 -- \
              --name 'node2' \
              --type 'storage' \
              --location '1' \
              --ip-addr '192.168.0.11'
File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/node/actions/update

# Prepare input parameters
$ echo 'node2' > input/name
$ echo 'storage' > input/type
$ echo '1' > input/location
$ echo '192.168.0.11' > input/ip_addr

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request PUT \
       --data-binary "{
  \"node\": {
    \"name\": \"node2\",
    \"type\": \"storage\",
    \"location\": 1,
    \"ip_addr\": \"192.168.0.11\"
  }
}" \
       'https://api.vpsfree.cz/v7.0/nodes/2'
Response
{
  "status": true,
  "message": null,
  "response": {
    "node": {}
  },
  "errors": null
}
HTTP
Request
PUT /v7.0/nodes/2 HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

{
  "node": {
    "name": "node2",
    "type": "storage",
    "location": 1,
    "ip_addr": "192.168.0.11"
  }
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 93

{
  "status": true,
  "message": null,
  "response": {
    "node": {}
  },
  "errors": null
}

Status


View node statuses in time

Node.Status # Index

Path:
GET /v7.0/nodes/{node_id}/statuses
Description:
Authentication required:
yes
Scope:
node.status#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
status
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
From from no Datetime
To to no Datetime

Output parameters

Layout:
object_list
Namespace:
statuses
Label Name Type Description
Id id Integer
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpus cpus Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Cpu_guest cpu_guest Float
Total_memory total_memory Integer
Used memory used_memory Integer in MB
Total_swap total_swap Integer
Used swap used_swap Integer in MB
Arc_c_max arc_c_max Integer
Arc_c arc_c Integer
Arc_size arc_size Integer
Arc_hitpercent arc_hitpercent Float
Version version String
Kernel kernel String
Created_at created_at Datetime

Node.Status # Show

Path:
GET /v7.0/nodes/{node_id}/statuses/{status_id}
Description:
Authentication required:
yes
Scope:
node.status#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
status
Label Name Type Description
Id id Integer
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpus cpus Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Cpu_guest cpu_guest Float
Total_memory total_memory Integer
Used memory used_memory Integer in MB
Total_swap total_swap Integer
Used swap used_swap Integer in MB
Arc_c_max arc_c_max Integer
Arc_c arc_c Integer
Arc_size arc_size Integer
Arc_hitpercent arc_hitpercent Float
Version version String
Kernel kernel String
Created_at created_at Datetime

Oauth2 client


Manage OAuth2 clients

Oauth2 client # Create

Path:
POST /v7.0/oauth2_clients
Description:
Create an OAuth2 client
Authentication required:
yes
Scope:
oauth2_client#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
oauth2_client
Label Name Required Type Validators Default Description
Name name yes String
Present
empty
false
message
must be present and non-empty
Client_id client_id yes String
Present
empty
false
message
must be present and non-empty
Redirect_uri redirect_uri yes String
Present
empty
false
message
must be present and non-empty
Access_token_lifetime access_token_lifetime no String
Include
values
["fixed", "renewable_manual", "renewable_auto"]
message
%{value} cannot be used
Access_token_seconds access_token_seconds no Integer
Refresh_token_seconds refresh_token_seconds no Integer
Issue_refresh_token issue_refresh_token no Boolean
Allow_single_sign_on allow_single_sign_on no Boolean
Client_secret client_secret yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
oauth2_client
Label Name Type Description
Id id Integer
Name name String
Client_id client_id String
Redirect_uri redirect_uri String
Access_token_lifetime access_token_lifetime String
Access_token_seconds access_token_seconds Integer
Refresh_token_seconds refresh_token_seconds Integer
Issue_refresh_token issue_refresh_token Boolean
Allow_single_sign_on allow_single_sign_on Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Oauth2 client # Delete

Path:
DELETE /v7.0/oauth2_clients/{oauth2_client_id}
Description:
Authentication required:
yes
Scope:
oauth2_client#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Oauth2 client # Index

Path:
GET /v7.0/oauth2_clients
Description:
List OAuth2 clients
Authentication required:
yes
Scope:
oauth2_client#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
oauth2_client
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
oauth2_clients
Label Name Type Description
Id id Integer
Name name String
Client_id client_id String
Redirect_uri redirect_uri String
Access_token_lifetime access_token_lifetime String
Access_token_seconds access_token_seconds Integer
Refresh_token_seconds refresh_token_seconds Integer
Issue_refresh_token issue_refresh_token Boolean
Allow_single_sign_on allow_single_sign_on Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Oauth2 client # Show

Path:
GET /v7.0/oauth2_clients/{oauth2_client_id}
Description:
Show OAuth2 client
Authentication required:
yes
Scope:
oauth2_client#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
oauth2_client
Label Name Type Description
Id id Integer
Name name String
Client_id client_id String
Redirect_uri redirect_uri String
Access_token_lifetime access_token_lifetime String
Access_token_seconds access_token_seconds Integer
Refresh_token_seconds refresh_token_seconds Integer
Issue_refresh_token issue_refresh_token Boolean
Allow_single_sign_on allow_single_sign_on Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Oauth2 client # Update

Path:
PUT /v7.0/oauth2_clients/{oauth2_client_id}
Description:
Authentication required:
yes
Scope:
oauth2_client#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
oauth2_client
Label Name Required Type Validators Default Description
Name name no String
Client_id client_id no String
Redirect_uri redirect_uri no String
Access_token_lifetime access_token_lifetime no String
Include
values
["fixed", "renewable_manual", "renewable_auto"]
message
%{value} cannot be used
Access_token_seconds access_token_seconds no Integer
Refresh_token_seconds refresh_token_seconds no Integer
Issue_refresh_token issue_refresh_token no Boolean
Allow_single_sign_on allow_single_sign_on no Boolean
Client_secret client_secret no String

Output parameters

Layout:
object
Namespace:
oauth2_client
Label Name Type Description
Id id Integer
Name name String
Client_id client_id String
Redirect_uri redirect_uri String
Access_token_lifetime access_token_lifetime String
Access_token_seconds access_token_seconds Integer
Refresh_token_seconds refresh_token_seconds Integer
Issue_refresh_token issue_refresh_token Boolean
Allow_single_sign_on allow_single_sign_on Boolean
Created_at created_at Datetime
Updated_at updated_at Datetime

Object history


Browse object's history

Object history # Index

Path:
GET /v7.0/object_histories
Description:
List object history
Authentication required:
yes
Scope:
object_history#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
object_history
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
UserSession user_session no Resource
Object object no String
Object_id object_id no Integer
Event_type event_type no String

Output parameters

Layout:
object_list
Namespace:
object_histories
Label Name Type Description
Id id Integer
User user Resource
UserSession user_session Resource
Object object String
Object_id object_id Integer
Event_type event_type String
Event_data event_data Custom
Created_at created_at Datetime

Object history # Show

Path:
GET /v7.0/object_histories/{object_history_id}
Description:
Show object history event
Authentication required:
yes
Scope:
object_history#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
object_history
Label Name Type Description
Id id Integer
User user Resource
UserSession user_session Resource
Object object String
Object_id object_id Integer
Event_type event_type String
Event_data event_data Custom
Created_at created_at Datetime

Oom report


Out-of-memory kill reports

Oom report # Index

Path:
GET /v7.0/oom_reports
Description:
List OOM kill reports
Authentication required:
yes
Scope:
oom_report#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
oom_report
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
VPS vps no Resource
User user no Resource
Node node no Resource
Location location no Resource
Environment environment no Resource
OomReportRule oom_report_rule no Resource
Cgroup cgroup no String
Since since no Datetime
Until until no Datetime

Output parameters

Layout:
object_list
Namespace:
oom_reports
Label Name Type Description
Id id Integer
VPS vps Resource
Cgroup cgroup String
Invoked_by_pid invoked_by_pid Integer
Invoked_by_name invoked_by_name String
Killed_pid killed_pid Integer
Killed_name killed_name String
Count count Integer
Created_at created_at Datetime
Reported_at reported_at Datetime
OomReportRule oom_report_rule Resource

Oom report # Show

Path:
GET /v7.0/oom_reports/{oom_report_id}
Description:
Show OOM kill report
Authentication required:
yes
Scope:
oom_report#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
oom_report
Label Name Type Description
Id id Integer
VPS vps Resource
Cgroup cgroup String
Invoked_by_pid invoked_by_pid Integer
Invoked_by_name invoked_by_name String
Killed_pid killed_pid Integer
Killed_name killed_name String
Count count Integer
Created_at created_at Datetime
Reported_at reported_at Datetime
OomReportRule oom_report_rule Resource

Stat


Memory stats

Oom report.Stat # Index

Path:
GET /v7.0/oom_reports/{oom_report_id}/stats
Description:
List memory stats
Authentication required:
yes
Scope:
oom_report.stat#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
stat
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
stats
Label Name Type Description
Id id Integer
Parameter parameter String
Value value Integer

Oom report.Stat # Show

Path:
GET /v7.0/oom_reports/{oom_report_id}/stats/{stat_id}
Description:
Show memory stat
Authentication required:
yes
Scope:
oom_report.stat#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object_list
Namespace:
stats
Label Name Type Description
Id id Integer
Parameter parameter String
Value value Integer

Task


Task list

Oom report.Task # Index

Path:
GET /v7.0/oom_reports/{oom_report_id}/tasks
Description:
List tasks
Authentication required:
yes
Scope:
oom_report.task#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
task
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
tasks
Label Name Type Description
Id id Integer
Name name String
Host_pid host_pid Integer
Vps_pid vps_pid Integer
Vps_uid vps_uid Integer
Tgid tgid Integer
Total_vm total_vm Integer
Rss rss Integer
Rss_anon rss_anon Integer
Rss_file rss_file Integer
Rss_shmem rss_shmem Integer
Pgtables_bytes pgtables_bytes Integer
Swapents swapents Integer
Oom_score_adj oom_score_adj Integer

Oom report.Task # Show

Path:
GET /v7.0/oom_reports/{oom_report_id}/tasks/{task_id}
Description:
Show task
Authentication required:
yes
Scope:
oom_report.task#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object_list
Namespace:
tasks
Label Name Type Description
Id id Integer
Name name String
Host_pid host_pid Integer
Vps_pid vps_pid Integer
Vps_uid vps_uid Integer
Tgid tgid Integer
Total_vm total_vm Integer
Rss rss Integer
Rss_anon rss_anon Integer
Rss_file rss_file Integer
Rss_shmem rss_shmem Integer
Pgtables_bytes pgtables_bytes Integer
Swapents swapents Integer
Oom_score_adj oom_score_adj Integer

Usage


Memory usage

Oom report.Usage # Index

Path:
GET /v7.0/oom_reports/{oom_report_id}/usages
Description:
List memory usages
Authentication required:
yes
Scope:
oom_report.usage#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
usage
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
usages
Label Name Type Description
Id id Integer
Memtype memtype String
Usage usage Integer
Limit limit Integer
Failcnt failcnt Integer

Oom report.Usage # Show

Path:
GET /v7.0/oom_reports/{oom_report_id}/usages/{usage_id}
Description:
Show memory usage
Authentication required:
yes
Scope:
oom_report.usage#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object_list
Namespace:
usages
Label Name Type Description
Id id Integer
Memtype memtype String
Usage usage Integer
Limit limit Integer
Failcnt failcnt Integer

Oom report rule


Manage VPS OOM report rules

Oom report rule # Create

Path:
POST /v7.0/oom_report_rules
Description:
Create a new OOM report rule
Authentication required:
yes
Scope:
oom_report_rule#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
oom_report_rule
Label Name Required Type Validators Default Description
VPS vps yes Resource
Action action yes String
Include
values
["notify", "ignore"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Cgroup path pattern cgroup_pattern yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 255
max
255
Hit count hit_count no Integer

Output parameters

Layout:
object
Namespace:
oom_report_rule
Label Name Type Description
Id id Integer
VPS vps Resource
Action action String
Cgroup path pattern cgroup_pattern String
Hit count hit_count Integer
Label label String
Created_at created_at Datetime
Updated_at updated_at Datetime

Oom report rule # Delete

Path:
DELETE /v7.0/oom_report_rules/{oom_report_rule_id}
Description:
Delete OOM report rule
Authentication required:
yes
Scope:
oom_report_rule#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Oom report rule # Index

Path:
GET /v7.0/oom_report_rules
Description:
Authentication required:
yes
Scope:
oom_report_rule#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
oom_report_rule
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
VPS vps no Resource

Output parameters

Layout:
object_list
Namespace:
oom_report_rules
Label Name Type Description
Id id Integer
VPS vps Resource
Action action String
Cgroup path pattern cgroup_pattern String
Hit count hit_count Integer
Label label String
Created_at created_at Datetime
Updated_at updated_at Datetime

Oom report rule # Show

Path:
GET /v7.0/oom_report_rules/{oom_report_rule_id}
Description:
Show OOM report rule
Authentication required:
yes
Scope:
oom_report_rule#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
oom_report_rule
Label Name Type Description
Id id Integer
VPS vps Resource
Action action String
Cgroup path pattern cgroup_pattern String
Hit count hit_count Integer
Label label String
Created_at created_at Datetime
Updated_at updated_at Datetime

Oom report rule # Update

Path:
PUT /v7.0/oom_report_rules/{oom_report_rule_id}
Description:
Update OOM report rule
Authentication required:
yes
Scope:
oom_report_rule#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
oom_report_rule
Label Name Required Type Validators Default Description
VPS vps no Resource
Action action no String
Include
values
["notify", "ignore"]
message
%{value} cannot be used
Cgroup path pattern cgroup_pattern no String
Length
message
length has to be maximally 255
max
255
Hit count hit_count no Integer

Output parameters

Layout:
object
Namespace:
oom_report_rule
Label Name Type Description
Id id Integer
VPS vps Resource
Action action String
Cgroup path pattern cgroup_pattern String
Hit count hit_count Integer
Label label String
Created_at created_at Datetime
Updated_at updated_at Datetime

Os family


Manage OS families

Os family # Create

Path:
POST /v7.0/os_families
Description:
Authentication required:
yes
Scope:
os_family#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
os_family
Label Name Required Type Validators Default Description
Label label no String
Description description no Text

Output parameters

Layout:
object
Namespace:
os_family
Label Name Type Description
Id id Integer
Label label String
Description description Text

Os family # Delete

Path:
DELETE /v7.0/os_families/{os_family_id}
Description:
Authentication required:
yes
Scope:
os_family#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Os family # Index

Path:
GET /v7.0/os_families
Description:
List OS families
Authentication required:
yes
Scope:
os_family#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
os_family
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
os_families
Label Name Type Description
Id id Integer
Label label String
Description description Text

Os family # Show

Path:
GET /v7.0/os_families/{os_family_id}
Description:
Authentication required:
yes
Scope:
os_family#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
os_family
Label Name Type Description
Id id Integer
Label label String
Description description Text

Os family # Update

Path:
PUT /v7.0/os_families/{os_family_id}
Description:
Authentication required:
yes
Scope:
os_family#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
os_family
Label Name Required Type Validators Default Description
Label label no String
Description description no Text

Output parameters

Layout:
object
Namespace:
os_family
Label Name Type Description
Id id Integer
Label label String
Description description Text

Os template


Manage OS templates

Os template # Create

Path:
POST /v7.0/os_templates
Description:
Authentication required:
yes
Scope:
os_template#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
os_template
Label Name Required Type Validators Default Description
OS family os_family yes Resource
Label label yes String
Present
empty
false
message
must be present and non-empty
Human-friendly label
Info info no Text Information about template
Enabled enabled no Boolean Enable/disable template usage
Supported supported no Boolean Is template known to work?
Order order no Integer Template order
Hypervisor_type hypervisor_type no String
Include
values
["openvz", "vpsadminos"]
message
%{value} cannot be used
vpsadminos
Cgroup_version cgroup_version no String
Include
values
["cgroup_any", "cgroup_v1", "cgroup_v2"]
message
%{value} cannot be used
cgroup_any
Manage hostname manage_hostname no Boolean true
Manage DNS resolver manage_dns_resolver no Boolean true
vpsAdmin user scripts enable_script no Boolean
Cloud-init enable_cloud_init no Boolean
Vendor vendor yes String
Present
empty
false
message
must be present and non-empty
Variant variant yes String
Present
empty
false
message
must be present and non-empty
Arch arch yes String
Present
empty
false
message
must be present and non-empty
Distribution distribution yes String
Present
empty
false
message
must be present and non-empty
Version version yes String
Present
empty
false
message
must be present and non-empty
Config config no Text Advanced configuration in YAML

Output parameters

Layout:
object
Namespace:
os_template
Label Name Type Description
ID id Integer OS template ID
OS family os_family Resource
Name name String Template file name
Label label String Human-friendly label
Info info Text Information about template
Enabled enabled Boolean Enable/disable template usage
Supported supported Boolean Is template known to work?
Order order Integer Template order
Hypervisor_type hypervisor_type String
Cgroup_version cgroup_version String
Manage hostname manage_hostname Boolean
Manage DNS resolver manage_dns_resolver Boolean
vpsAdmin user scripts enable_script Boolean
Cloud-init enable_cloud_init Boolean
Vendor vendor String
Variant variant String
Arch arch String
Distribution distribution String
Version version String
Config config Text Advanced configuration in YAML

Os template # Delete

Path:
DELETE /v7.0/os_templates/{os_template_id}
Description:
Authentication required:
yes
Scope:
os_template#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Os template # Index

Path:
GET /v7.0/os_templates
Description:
List OS templates
Authentication required:
no
Scope:
os_template#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
os_template
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Location location no Resource
Hypervisor_type hypervisor_type no String
Include
values
["openvz", "vpsadminos"]
message
%{value} cannot be used
vpsadminos
Cgroup_version cgroup_version no String
Include
values
["cgroup_any", "cgroup_v1", "cgroup_v2"]
message
%{value} cannot be used
cgroup_any
vpsAdmin user scripts enable_script no Boolean
Cloud-init enable_cloud_init no Boolean

Output parameters

Layout:
object_list
Namespace:
os_templates
Label Name Type Description
ID id Integer OS template ID
OS family os_family Resource
Name name String Template file name
Label label String Human-friendly label
Info info Text Information about template
Enabled enabled Boolean Enable/disable template usage
Supported supported Boolean Is template known to work?
Order order Integer Template order
Hypervisor_type hypervisor_type String
Cgroup_version cgroup_version String
Manage hostname manage_hostname Boolean
Manage DNS resolver manage_dns_resolver Boolean
vpsAdmin user scripts enable_script Boolean
Cloud-init enable_cloud_init Boolean
Vendor vendor String
Variant variant String
Arch arch String
Distribution distribution String
Version version String
Config config Text Advanced configuration in YAML

Os template # Show

Path:
GET /v7.0/os_templates/{os_template_id}
Description:
Authentication required:
yes
Scope:
os_template#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
os_template
Label Name Type Description
ID id Integer OS template ID
OS family os_family Resource
Name name String Template file name
Label label String Human-friendly label
Info info Text Information about template
Enabled enabled Boolean Enable/disable template usage
Supported supported Boolean Is template known to work?
Order order Integer Template order
Hypervisor_type hypervisor_type String
Cgroup_version cgroup_version String
Manage hostname manage_hostname Boolean
Manage DNS resolver manage_dns_resolver Boolean
vpsAdmin user scripts enable_script Boolean
Cloud-init enable_cloud_init Boolean
Vendor vendor String
Variant variant String
Arch arch String
Distribution distribution String
Version version String
Config config Text Advanced configuration in YAML

Os template # Update

Path:
PUT /v7.0/os_templates/{os_template_id}
Description:
Authentication required:
yes
Scope:
os_template#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
os_template
Label Name Required Type Validators Default Description
OS family os_family no Resource
Label label no String Human-friendly label
Info info no Text Information about template
Enabled enabled no Boolean Enable/disable template usage
Supported supported no Boolean Is template known to work?
Order order no Integer Template order
Hypervisor_type hypervisor_type no String
Include
values
["openvz", "vpsadminos"]
message
%{value} cannot be used
vpsadminos
Cgroup_version cgroup_version no String
Include
values
["cgroup_any", "cgroup_v1", "cgroup_v2"]
message
%{value} cannot be used
cgroup_any
Manage hostname manage_hostname no Boolean
Manage DNS resolver manage_dns_resolver no Boolean
vpsAdmin user scripts enable_script no Boolean
Cloud-init enable_cloud_init no Boolean
Vendor vendor no String
Variant variant no String
Arch arch no String
Distribution distribution no String
Version version no String
Config config no Text Advanced configuration in YAML

Output parameters

Layout:
object
Namespace:
os_template
Label Name Type Description
ID id Integer OS template ID
OS family os_family Resource
Name name String Template file name
Label label String Human-friendly label
Info info Text Information about template
Enabled enabled Boolean Enable/disable template usage
Supported supported Boolean Is template known to work?
Order order Integer Template order
Hypervisor_type hypervisor_type String
Cgroup_version cgroup_version String
Manage hostname manage_hostname Boolean
Manage DNS resolver manage_dns_resolver Boolean
vpsAdmin user scripts enable_script Boolean
Cloud-init enable_cloud_init Boolean
Vendor vendor String
Variant variant String
Arch arch String
Distribution distribution String
Version version String
Config config Text Advanced configuration in YAML

Outage


Report and browse outages

Outage # Create

Path:
POST /v7.0/outages
Description:
Stage a new outage
Authentication required:
yes
Scope:
outage#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
outage
Label Name Required Type Validators Default Description
Begins at begins_at yes Datetime
Present
empty
false
message
must be present and non-empty
Finished at finished_at no Datetime
Duration duration yes Integer
Present
empty
false
message
must be present and non-empty
Outage duration in minutes
Type type yes String
Include
values
["maintenance", "outage"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Impact impact yes String
Include
values
["tbd", "system_restart", "system_reset", "network", "performance", "unavailability", "export"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Auto-resolve auto_resolve no Boolean true
English summary en_summary yes String
Present
empty
false
message
must be present and non-empty
English description en_description no String
ÄŒesky summary cs_summary yes String
Present
empty
false
message
must be present and non-empty
ÄŒesky description cs_description no String

Output parameters

Layout:
object
Namespace:
outage
Label Name Type Description
Id id Integer
Begins at begins_at Datetime
Finished at finished_at Datetime
Duration duration Integer Outage duration in minutes
Type type String
State state String
Impact impact String
Auto-resolve auto_resolve Boolean
English summary en_summary String
English description en_description String
ÄŒesky summary cs_summary String
ÄŒesky description cs_description String
Affected affected Boolean True if the current user is affected by the outage
Affected users affected_user_count Integer Number of affected users
Directly affected VPSes affected_direct_vps_count Integer Number of directly affected VPSes
Indirectly affected VPSes affected_indirect_vps_count Integer Number of indirectly affected VPSes
Affected exports affected_export_count Integer Number of affected exoirts

Outage # Index

Path:
GET /v7.0/outages
Description:
List outages
Authentication required:
no
Scope:
outage#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
outage
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Type type no String
Include
values
["maintenance", "outage"]
message
%{value} cannot be used
State state no String
Include
values
["staged", "announced", "resolved", "cancelled"]
message
%{value} cannot be used
Impact impact no String
Include
values
["tbd", "system_restart", "system_reset", "network", "performance", "unavailability", "export"]
message
%{value} cannot be used
Affected affected no Boolean True if the current user is affected by the outage
Recent_since recent_since no Datetime Filter announced or recently reported outages
User user no Resource Filter outages affecting a specific user
VPS vps no Resource Filter outages affecting a specific VPS
Export export no Resource Filter outages affecting a specific export
Handled by handled_by no Resource Filter outages handled by user
Environment environment no Resource Filter outages by environment
Location location no Resource Filter outages by location
Node node no Resource Filter outages by node
Component component no Resource Filter outages by vpsAdmin component
Entity name entity_name no String Filter outages by entity name
Entity ID entity_id no Integer Filter outages by entity ID
Order order no String
Include
values
["newest", "oldest"]
message
%{value} cannot be used
newest
Since since no Datetime Filter outages reported since specified date

Output parameters

Layout:
object_list
Namespace:
outages
Label Name Type Description
Id id Integer
Begins at begins_at Datetime
Finished at finished_at Datetime
Duration duration Integer Outage duration in minutes
Type type String
State state String
Impact impact String
Auto-resolve auto_resolve Boolean
English summary en_summary String
English description en_description String
ÄŒesky summary cs_summary String
ÄŒesky description cs_description String
Affected affected Boolean True if the current user is affected by the outage
Affected users affected_user_count Integer Number of affected users
Directly affected VPSes affected_direct_vps_count Integer Number of directly affected VPSes
Indirectly affected VPSes affected_indirect_vps_count Integer Number of indirectly affected VPSes
Affected exports affected_export_count Integer Number of affected exoirts

Outage # Rebuild_affected_vps

Path:
POST /v7.0/outages/{outage_id}/rebuild_affected_vps
Description:
Rebuilt the list of affected vpses, use after changing affected entities
Authentication required:
yes
Scope:
outage#rebuild_affected_vps
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Outage # Show

Path:
GET /v7.0/outages/{outage_id}
Description:
Show outage details
Authentication required:
no
Scope:
outage#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
outage
Label Name Type Description
Id id Integer
Begins at begins_at Datetime
Finished at finished_at Datetime
Duration duration Integer Outage duration in minutes
Type type String
State state String
Impact impact String
Auto-resolve auto_resolve Boolean
English summary en_summary String
English description en_description String
ÄŒesky summary cs_summary String
ÄŒesky description cs_description String
Affected affected Boolean True if the current user is affected by the outage
Affected users affected_user_count Integer Number of affected users
Directly affected VPSes affected_direct_vps_count Integer Number of directly affected VPSes
Indirectly affected VPSes affected_indirect_vps_count Integer Number of indirectly affected VPSes
Affected exports affected_export_count Integer Number of affected exoirts

Outage # Update

Path:
PUT /v7.0/outages/{outage_id}
Description:
Update an outage
Authentication required:
yes
Scope:
outage#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
outage
Label Name Required Type Validators Default Description
Begins at begins_at no Datetime
Finished at finished_at no Datetime
Duration duration no Integer Outage duration in minutes
Type type no String
Include
values
["maintenance", "outage"]
message
%{value} cannot be used
Impact impact no String
Include
values
["tbd", "system_restart", "system_reset", "network", "performance", "unavailability", "export"]
message
%{value} cannot be used
Auto-resolve auto_resolve no Boolean true
English summary en_summary no String
English description en_description no String
ÄŒesky summary cs_summary no String
ÄŒesky description cs_description no String

Output parameters

Layout:
object
Namespace:
outage
Label Name Type Description
Id id Integer
Begins at begins_at Datetime
Finished at finished_at Datetime
Duration duration Integer Outage duration in minutes
Type type String
State state String
Impact impact String
Auto-resolve auto_resolve Boolean
English summary en_summary String
English description en_description String
ÄŒesky summary cs_summary String
ÄŒesky description cs_description String
Affected affected Boolean True if the current user is affected by the outage
Affected users affected_user_count Integer Number of affected users
Directly affected VPSes affected_direct_vps_count Integer Number of directly affected VPSes
Indirectly affected VPSes affected_indirect_vps_count Integer Number of indirectly affected VPSes
Affected exports affected_export_count Integer Number of affected exoirts

Entity


Outage entities

Outage.Entity # Create

Path:
POST /v7.0/outages/{outage_id}/entities
Description:
Add a new outage entity
Authentication required:
yes
Scope:
outage.entity#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
entity
Label Name Required Type Validators Default Description
Name name no String
Entity_id entity_id no Integer

Output parameters

Layout:
object
Namespace:
entity
Label Name Type Description
Id id Integer
Name name String
Entity_id entity_id Integer
Label label String

Outage.Entity # Delete

Path:
DELETE /v7.0/outages/{outage_id}/entities/{entity_id}
Description:
Remove an outage entity
Authentication required:
yes
Scope:
outage.entity#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Outage.Entity # Index

Path:
GET /v7.0/outages/{outage_id}/entities
Description:
List outage entities
Authentication required:
no
Scope:
outage.entity#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
entity
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
entities
Label Name Type Description
Id id Integer
Name name String
Entity_id entity_id Integer
Label label String

Outage.Entity # Show

Path:
GET /v7.0/outages/{outage_id}/entities/{entity_id}
Description:
Show an outage entity
Authentication required:
no
Scope:
outage.entity#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
entity
Label Name Type Description
Id id Integer
Name name String
Entity_id entity_id Integer
Label label String

Handler


Outage handlers

Outage.Handler # Create

Path:
POST /v7.0/outages/{outage_id}/handlers
Description:
Add a new outage handler
Authentication required:
yes
Scope:
outage.handler#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
handler
Label Name Required Type Validators Default Description
User user no Resource
Full name full_name no String
Note note no String

Output parameters

Layout:
object
Namespace:
handler
Label Name Type Description
Id id Integer
User user Resource
Full name full_name String
Note note String

Outage.Handler # Delete

Path:
DELETE /v7.0/outages/{outage_id}/handlers/{handler_id}
Description:
Remove an outage handler
Authentication required:
yes
Scope:
outage.handler#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Outage.Handler # Index

Path:
GET /v7.0/outages/{outage_id}/handlers
Description:
List outage entities
Authentication required:
no
Scope:
outage.handler#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
handler
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
handlers
Label Name Type Description
Id id Integer
User user Resource
Full name full_name String
Note note String

Outage.Handler # Show

Path:
GET /v7.0/outages/{outage_id}/handlers/{handler_id}
Description:
Show an outage handler
Authentication required:
no
Scope:
outage.handler#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
handler
Label Name Type Description
Id id Integer
User user Resource
Full name full_name String
Note note String

Outage.Handler # Update

Path:
PUT /v7.0/outages/{outage_id}/handlers/{handler_id}
Description:
Update an outage handler
Authentication required:
yes
Scope:
outage.handler#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
handler
Label Name Required Type Validators Default Description
Note note yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
handler
Label Name Type Description
Id id Integer
User user Resource
Full name full_name String
Note note String

Outage update


Browse outage updates

Outage update # Create

Path:
POST /v7.0/outage_updates
Description:
Create outage update
Authentication required:
yes
Scope:
outage_update#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
outage_update
Label Name Required Type Validators Default Description
Outage outage no Resource
Begins at begins_at no Datetime
Finished at finished_at no Datetime
Duration duration no Integer Outage duration in minutes
State state no String
Include
values
["staged", "announced", "resolved", "cancelled"]
message
%{value} cannot be used
Impact impact no String
Include
values
["tbd", "system_restart", "system_reset", "network", "performance", "unavailability", "export"]
message
%{value} cannot be used
English summary en_summary no String
English description en_description no String
ÄŒesky summary cs_summary no String
ÄŒesky description cs_description no String
Send mail send_mail no Boolean true

Output parameters

Layout:
object
Namespace:
outage_update
Label Name Type Description
Id id Integer
Outage outage Resource
Type type String
Begins at begins_at Datetime
Finished at finished_at Datetime
Duration duration Integer Outage duration in minutes
State state String
Impact impact String
English summary en_summary String
English description en_description String
ÄŒesky summary cs_summary String
ÄŒesky description cs_description String
Reported by reported_by Resource
Reporter's name reporter_name String
Reported at created_at Datetime

Outage update # Index

Path:
GET /v7.0/outage_updates
Description:
List outage updates
Authentication required:
no
Scope:
outage_update#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
outage_update
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Outage outage no Resource
Reported by reported_by no Resource
Since since no Datetime Filter updates reported since specified date

Output parameters

Layout:
object_list
Namespace:
outage_updates
Label Name Type Description
Id id Integer
Outage outage Resource
Type type String
Begins at begins_at Datetime
Finished at finished_at Datetime
Duration duration Integer Outage duration in minutes
State state String
Impact impact String
English summary en_summary String
English description en_description String
ÄŒesky summary cs_summary String
ÄŒesky description cs_description String
Reported by reported_by Resource
Reporter's name reporter_name String
Reported at created_at Datetime

Outage update # Show

Path:
GET /v7.0/outage_updates/{outage_update_id}
Description:
Show outage update
Authentication required:
no
Scope:
outage_update#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
outage_update
Label Name Type Description
Id id Integer
Outage outage Resource
Type type String
Begins at begins_at Datetime
Finished at finished_at Datetime
Duration duration Integer Outage duration in minutes
State state String
Impact impact String
English summary en_summary String
English description en_description String
ÄŒesky summary cs_summary String
ÄŒesky description cs_description String
Reported by reported_by Resource
Reporter's name reporter_name String
Reported at created_at Datetime

Payment stats


View payment statistics

Payment stats # Estimate_income

Path:
GET /v7.0/payment_stat/estimate_income
Description:
Estimate income for selected month and duration
Authentication required:
yes
Scope:
payment_stats#estimate_income
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
payment_stats
Label Name Required Type Validators Default Description
Year year yes Integer
Present
empty
false
message
must be present and non-empty
Month month yes Integer
Present
empty
false
message
must be present and non-empty
Select select yes String
Present
empty
false
message
must be present and non-empty
Include
values
["exactly_until", "all_until"]
message
%{value} cannot be used
Duration duration yes Integer
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
hash
Namespace:
payment_stats
Label Name Type Description
User_count user_count Integer
Estimated_income estimated_income Integer

Pool


Manage storage pools

Pool # Create

Path:
POST /v7.0/pools
Description:
Create a new storage pool
Authentication required:
yes
Scope:
pool#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
pool
Label Name Required Type Validators Default Description
Node node no Resource
Label label no String
Filesystem filesystem no String
Role role no String
Include
values
["hypervisor", "primary", "backup"]
message
%{value} cannot be used
Is_open is_open no Boolean
Refquota check refquota_check no Boolean
Max_datasets max_datasets no Integer
State state no String
Include
values
["unknown", "online", "degraded", "suspended", "faulted", "error"]
message
%{value} cannot be used
Scan scan no String
Include
values
["unknown", "none", "scrub", "resilver", "error"]
message
%{value} cannot be used
Scan_percent scan_percent no Float
Checked_at checked_at no Datetime
Access time atime no Boolean false Controls whether the access time for files is updated when they are read
Compression compression no Boolean true Toggle data compression in this dataset
Record size recordsize no Integer 131072 Specifies a suggested block size for files in the file system
Quota quota no Integer 0 Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota no Integer 0 Limits the amount of space a dataset can consume
Relative access time relatime no Boolean false Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync no String
Include
values
["standard", "disabled"]
message
%{value} cannot be used
standard Controls the behavior of synchronous requests
NFS share sharenfs no String Controls NFS sharing

Output parameters

Layout:
object
Namespace:
pool
Label Name Type Description
Id id Integer
Node node Resource
Label label String
Name name String
Filesystem filesystem String
Role role String
Is_open is_open Boolean
Refquota check refquota_check Boolean
Max_datasets max_datasets Integer
State state String
Scan scan String
Scan_percent scan_percent Float
Checked_at checked_at Datetime
Access time atime Boolean Controls whether the access time for files is updated when they are read
Compression compression Boolean Toggle data compression in this dataset
Record size recordsize Integer Specifies a suggested block size for files in the file system
Quota quota Integer Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota Integer Limits the amount of space a dataset can consume
Relative access time relatime Boolean Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync String Controls the behavior of synchronous requests
NFS share sharenfs String Controls NFS sharing
Used space used Integer Amount of space used by dataset
Referenced space referenced Integer Amount of space that is accessible to this dataset
Available space avail Integer Amount of space left in dataset
Used compression ratio compressratio Float Compression ratio for used space of this dataset
Referenced compression ratio refcompressratio Float Compression ratio for referenced space of this dataset

Pool # Index

Path:
GET /v7.0/pools
Description:
List storage pools
Authentication required:
yes
Scope:
pool#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
pool
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Node node no Resource
Label label no String
Name name no String
Filesystem filesystem no String
Role role no String
Include
values
["hypervisor", "primary", "backup"]
message
%{value} cannot be used
Is_open is_open no Boolean
Refquota check refquota_check no Boolean
Max_datasets max_datasets no Integer
State state no String
Include
values
["unknown", "online", "degraded", "suspended", "faulted", "error"]
message
%{value} cannot be used
Scan scan no String
Include
values
["unknown", "none", "scrub", "resilver", "error"]
message
%{value} cannot be used
Scan_percent scan_percent no Float
Checked_at checked_at no Datetime
Access time atime no Boolean false Controls whether the access time for files is updated when they are read
Compression compression no Boolean true Toggle data compression in this dataset
Record size recordsize no Integer 131072 Specifies a suggested block size for files in the file system
Quota quota no Integer 0 Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota no Integer 0 Limits the amount of space a dataset can consume
Relative access time relatime no Boolean false Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync no String
Include
values
["standard", "disabled"]
message
%{value} cannot be used
standard Controls the behavior of synchronous requests
NFS share sharenfs no String Controls NFS sharing

Output parameters

Layout:
object_list
Namespace:
pools
Label Name Type Description
Id id Integer
Node node Resource
Label label String
Name name String
Filesystem filesystem String
Role role String
Is_open is_open Boolean
Refquota check refquota_check Boolean
Max_datasets max_datasets Integer
State state String
Scan scan String
Scan_percent scan_percent Float
Checked_at checked_at Datetime
Access time atime Boolean Controls whether the access time for files is updated when they are read
Compression compression Boolean Toggle data compression in this dataset
Record size recordsize Integer Specifies a suggested block size for files in the file system
Quota quota Integer Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota Integer Limits the amount of space a dataset can consume
Relative access time relatime Boolean Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync String Controls the behavior of synchronous requests
NFS share sharenfs String Controls NFS sharing
Used space used Integer Amount of space used by dataset
Referenced space referenced Integer Amount of space that is accessible to this dataset
Available space avail Integer Amount of space left in dataset
Used compression ratio compressratio Float Compression ratio for used space of this dataset
Referenced compression ratio refcompressratio Float Compression ratio for referenced space of this dataset
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Pool # Set_maintenance

Path:
POST /v7.0/pools/{pool_id}/set_maintenance
Description:
Set maintenance lock
Authentication required:
yes
Scope:
pool#set_maintenance
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
pool
Label Name Required Type Validators Default Description
Lock lock yes Boolean
Present
empty
false
message
must be present and non-empty
Reason reason no String

Output parameters

No parameters.

Pool # Show

Path:
GET /v7.0/pools/{pool_id}
Description:
Show storage pool
Authentication required:
yes
Scope:
pool#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
pool
Label Name Type Description
Id id Integer
Node node Resource
Label label String
Name name String
Filesystem filesystem String
Role role String
Is_open is_open Boolean
Refquota check refquota_check Boolean
Max_datasets max_datasets Integer
State state String
Scan scan String
Scan_percent scan_percent Float
Checked_at checked_at Datetime
Access time atime Boolean Controls whether the access time for files is updated when they are read
Compression compression Boolean Toggle data compression in this dataset
Record size recordsize Integer Specifies a suggested block size for files in the file system
Quota quota Integer Limits the amount of space a dataset and all its descendants can consume
Reference quota refquota Integer Limits the amount of space a dataset can consume
Relative access time relatime Boolean Access time is only updated if the previous access time was earlier than the current modify or change time or if the existing access time hasn't been updated within the past 24 hours
Sync sync String Controls the behavior of synchronous requests
NFS share sharenfs String Controls NFS sharing
Used space used Integer Amount of space used by dataset
Referenced space referenced Integer Amount of space that is accessible to this dataset
Available space avail Integer Amount of space left in dataset
Used compression ratio compressratio Float Compression ratio for used space of this dataset
Referenced compression ratio refcompressratio Float Compression ratio for referenced space of this dataset
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String

Snapshot download


Manage download links of dataset snapshots

Snapshot download # Create

Path:
POST /v7.0/snapshot_downloads
Description:
Download a snapshot
Authentication required:
yes
Scope:
snapshot_download#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
snapshot_download
Label Name Required Type Validators Default Description
Snapshot snapshot yes Resource
From snapshot from_snapshot no Resource
Format format no String
Include
values
["archive", "stream", "incremental_stream"]
message
%{value} cannot be used
archive
Send_mail send_mail no Boolean true

Output parameters

Layout:
object
Namespace:
snapshot_download
Label Name Type Description
Id id Integer
User user Resource
Snapshot snapshot Resource
From snapshot from_snapshot Resource
Format format String
File name file_name String
Url url String URL at which the archive can be downloaded
Size size Integer Size of the archive in MiB
Sha256sum sha256sum String Control checksum
Ready ready Boolean True if the archive is complete and ready for download
Expiration date expiration_date Datetime The archive is deleted when expiration date passes

Snapshot download # Delete

Path:
DELETE /v7.0/snapshot_downloads/{snapshot_download_id}
Description:
Delete download link
Authentication required:
yes
Scope:
snapshot_download#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Snapshot download # Index

Path:
GET /v7.0/snapshot_downloads
Description:
Authentication required:
yes
Scope:
snapshot_download#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
snapshot_download
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Dataset dataset no Resource
Snapshot snapshot no Resource

Output parameters

Layout:
object_list
Namespace:
snapshot_downloads
Label Name Type Description
Id id Integer
User user Resource
Snapshot snapshot Resource
From snapshot from_snapshot Resource
Format format String
File name file_name String
Url url String URL at which the archive can be downloaded
Size size Integer Size of the archive in MiB
Sha256sum sha256sum String Control checksum
Ready ready Boolean True if the archive is complete and ready for download
Expiration date expiration_date Datetime The archive is deleted when expiration date passes

Snapshot download # Show

Path:
GET /v7.0/snapshot_downloads/{snapshot_download_id}
Description:
Authentication required:
yes
Scope:
snapshot_download#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
snapshot_download
Label Name Type Description
Id id Integer
User user Resource
Snapshot snapshot Resource
From snapshot from_snapshot Resource
Format format String
File name file_name String
Url url String URL at which the archive can be downloaded
Size size Integer Size of the archive in MiB
Sha256sum sha256sum String Control checksum
Ready ready Boolean True if the archive is complete and ready for download
Expiration date expiration_date Datetime The archive is deleted when expiration date passes

System config


Query and set system configuration

System config # Index

Path:
GET /v7.0/system_configs
Description:
List configuration variables
Authentication required:
no
Scope:
system_config#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
system_config
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Category category no String
Format
rx
\A[a-zA-Z0-9_]{1,75}\z
match
true
description
message
bad format

Output parameters

Layout:
object_list
Namespace:
system_configs
Label Name Type Description
Category category String
Name name String
Type type String
Value value Custom
Label label String
Description description String
Min_user_level min_user_level Integer

System config # Show

Path:
GET /v7.0/system_configs/{category}/{name}
Description:
Show configuration variable
Authentication required:
no
Scope:
system_config#show
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
system_config
Label Name Type Description
Category category String
Name name String
Type type String
Value value Custom
Label label String
Description description String
Min_user_level min_user_level Integer

System config # Update

Path:
PUT /v7.0/system_configs/{category}/{name}
Description:
Update configuration variable
Authentication required:
yes
Scope:
system_config#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
system_config
Label Name Required Type Validators Default Description
Value value no Custom

Output parameters

Layout:
object
Namespace:
system_config
Label Name Type Description
Category category String
Name name String
Type type String
Value value Custom
Label label String
Description description String
Min_user_level min_user_level Integer

Transaction


Access transactions linked in a chain

Transaction # Index

Path:
GET /v7.0/transactions
Description:
List transactions
Authentication required:
yes
Scope:
transaction#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
transaction
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
Transaction chain transaction_chain no Resource
Node node no Resource
Type type no Integer
Success success no Integer
Done done no String
Include
values
["waiting", "done", "staged"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
transactions
Label Name Type Description
Id id Integer
TransactionChain transaction_chain Resource
Node node Resource
User user Resource
Type type Integer
Name name String
VPS vps Resource
Depends on depends_on Resource
Urgent urgent Boolean
Priority priority Integer
Success success Integer
Done done String
Input input String
Output output String
Created_at created_at Datetime
Started_at started_at Datetime
Finished_at finished_at Datetime

Transaction # Show

Path:
GET /v7.0/transactions/{transaction_id}
Description:
Show transaction
Authentication required:
yes
Scope:
transaction#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
transaction
Label Name Type Description
Id id Integer
TransactionChain transaction_chain Resource
Node node Resource
User user Resource
Type type Integer
Name name String
VPS vps Resource
Depends on depends_on Resource
Urgent urgent Boolean
Priority priority Integer
Success success Integer
Done done String
Input input String
Output output String
Created_at created_at Datetime
Started_at started_at Datetime
Finished_at finished_at Datetime

Transaction chain


Access transaction chains

Transaction chain # Index

Path:
GET /v7.0/transaction_chains
Description:
List transaction chains
Authentication required:
yes
Scope:
transaction_chain#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
transaction_chain
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
Name name no String For internal use only
State state no String
Include
values
["staged", "queued", "done", "rollbacking", "failed", "fatal", "resolved"]
message
%{value} cannot be used
User user no Resource
User session user_session no Resource
Class name class_name no String Search by concerned class name
Row id row_id no Integer Search by concerned row id

Output parameters

Layout:
object_list
Namespace:
transaction_chains
Label Name Type Description
Chain ID id Integer
Name name String For internal use only
Label label String Human-friendly name
State state String
Size size Integer Number of transactions in the chain
Progress progress Integer How many transactions are finished
User user Resource
User session user_session Resource
Creation date created_at Datetime
Concerns concerns Custom

Transaction chain # Show

Path:
GET /v7.0/transaction_chains/{transaction_chain_id}
Description:
Show transaction chain
Authentication required:
yes
Scope:
transaction_chain#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
transaction_chain
Label Name Type Description
Chain ID id Integer
Name name String For internal use only
Label label String Human-friendly name
State state String
Size size Integer Number of transactions in the chain
Progress progress Integer How many transactions are finished
User user Resource
User session user_session Resource
Creation date created_at Datetime
Concerns concerns Custom

User


Manage users

User # Create

Path:
POST /v7.0/users
Description:
Create new user
Authentication required:
yes
Scope:
user#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
user
Label Name Required Type Validators Default Description
Login login no String
Format
rx
\A[a-zA-Z0-9.-]{2,63}\z
match
true
description
message
not a valid login
Full name full_name no String First and last name
E-mail email no String
Address address no String
Access level level no Integer
Info info no String
Enabled mailer mailer_enabled no Boolean true
Password reset password_reset no Boolean
Lock-out lockout no Boolean
Language of e-mails language no Resource
Enable HTTP basic authentication enable_basic_auth no Boolean
Enable token authentication enable_token_auth no Boolean
Enable OAuth2 authentication enable_oauth2_auth no Boolean
Enable single sign-on enable_single_sign_on no Boolean
Enable new login notification enable_new_login_notification no Boolean
Enable multi-factor authentication enable_multi_factor_auth no Boolean
Preferred session length preferred_session_length no Integer
Preferred logout all preferred_logout_all no Boolean
Password password no String The password must be at least 8 characters long
Create a VPS vps no Boolean
Node node no Resource Node VPS will run on
Environment environment no Resource Environment in which to create the VPS
Location location no Resource Location in which to create the VPS
OS template os_template no Resource

Output parameters

Layout:
object
Namespace:
user
Label Name Type Description
User ID id Integer
Login login String
Full name full_name String First and last name
E-mail email String
Address address String
Access level level Integer
Info info String
Enabled mailer mailer_enabled Boolean
Password reset password_reset Boolean
Lock-out lockout Boolean
Language of e-mails language Resource
Enable HTTP basic authentication enable_basic_auth Boolean
Enable token authentication enable_token_auth Boolean
Enable OAuth2 authentication enable_oauth2_auth Boolean
Enable single sign-on enable_single_sign_on Boolean
Enable new login notification enable_new_login_notification Boolean
Enable multi-factor authentication enable_multi_factor_auth Boolean
Preferred session length preferred_session_length Integer
Preferred logout all preferred_logout_all Boolean
Last activity last_activity_at Datetime
DokuWiki groups dokuwiki_groups String Comma-separated list of DokuWiki groups
Created at created_at Datetime
Object state object_state String
Expiration expiration_date Datetime A date after which the state will progress
Remind after remind_after_date Datetime Mail warnings are silenced until this date

User # Current

Path:
GET /v7.0/users/current
Description:
Get user that is authenticated during this request
Authentication required:
yes
Scope:
user#current
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user
Label Name Type Description
User ID id Integer
Login login String
Full name full_name String First and last name
E-mail email String
Address address String
Access level level Integer
Info info String
Enabled mailer mailer_enabled Boolean
Password reset password_reset Boolean
Lock-out lockout Boolean
Language of e-mails language Resource
Enable HTTP basic authentication enable_basic_auth Boolean
Enable token authentication enable_token_auth Boolean
Enable OAuth2 authentication enable_oauth2_auth Boolean
Enable single sign-on enable_single_sign_on Boolean
Enable new login notification enable_new_login_notification Boolean
Enable multi-factor authentication enable_multi_factor_auth Boolean
Preferred session length preferred_session_length Integer
Preferred logout all preferred_logout_all Boolean
Last activity last_activity_at Datetime
DokuWiki groups dokuwiki_groups String Comma-separated list of DokuWiki groups
Created at created_at Datetime
Object state object_state String
Expiration expiration_date Datetime A date after which the state will progress
Remind after remind_after_date Datetime Mail warnings are silenced until this date
Monthly payment monthly_payment Integer
Paid until paid_until Datetime

User # Delete

Path:
DELETE /v7.0/users/{user_id}
Description:
Authentication required:
yes
Scope:
user#delete
Aliases:
destroy
Blocking:
yes

Input parameters

Layout:
object
Namespace:
user
Label Name Required Type Validators Default Description
Object state object_state no String
Include
values
["soft_delete", "hard_delete", "deleted"]
message
%{value} cannot be used
soft_delete
Expiration expiration_date no Datetime A date after which the state will progress
Remind after remind_after_date no Datetime Mail warnings are silenced until this date
Reason change_reason no String Reason for the state change. May be mailed to the user.

Output parameters

No parameters.

User # Get_payment_instructions

Path:
GET /v7.0/users/{user_id}/get_payment_instructions
Description:
Authentication required:
yes
Scope:
user#get_payment_instructions
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
hash
Namespace:
user
Label Name Type Description
Instructions instructions String

User # Index

Path:
GET /v7.0/users
Description:
List users
Authentication required:
yes
Scope:
user#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Login login no String
Format
rx
\A[a-zA-Z0-9.-]{2,63}\z
match
true
description
message
not a valid login
Full name full_name no String First and last name
E-mail email no String
Address address no String
Access level level no Integer
Info info no String
Enabled mailer mailer_enabled no Boolean true
Password reset password_reset no Boolean
Lock-out lockout no Boolean
Language of e-mails language no Resource
Enable HTTP basic authentication enable_basic_auth no Boolean
Enable token authentication enable_token_auth no Boolean
Enable OAuth2 authentication enable_oauth2_auth no Boolean
Enable single sign-on enable_single_sign_on no Boolean
Enable new login notification enable_new_login_notification no Boolean
Enable multi-factor authentication enable_multi_factor_auth no Boolean
Preferred session length preferred_session_length no Integer
Preferred logout all preferred_logout_all no Boolean
Admin admin no Boolean Filter users with administrator privileges
Object state object_state no String
Include
values
["active", "suspended", "soft_delete", "hard_delete", "deleted"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
users
Label Name Type Description
User ID id Integer
Login login String
Full name full_name String First and last name
E-mail email String
Address address String
Access level level Integer
Info info String
Enabled mailer mailer_enabled Boolean
Password reset password_reset Boolean
Lock-out lockout Boolean
Language of e-mails language Resource
Enable HTTP basic authentication enable_basic_auth Boolean
Enable token authentication enable_token_auth Boolean
Enable OAuth2 authentication enable_oauth2_auth Boolean
Enable single sign-on enable_single_sign_on Boolean
Enable new login notification enable_new_login_notification Boolean
Enable multi-factor authentication enable_multi_factor_auth Boolean
Preferred session length preferred_session_length Integer
Preferred logout all preferred_logout_all Boolean
Last activity last_activity_at Datetime
DokuWiki groups dokuwiki_groups String Comma-separated list of DokuWiki groups
Created at created_at Datetime
Object state object_state String
Expiration expiration_date Datetime A date after which the state will progress
Remind after remind_after_date Datetime Mail warnings are silenced until this date
Monthly payment monthly_payment Integer
Paid until paid_until Datetime

User # Show

Path:
GET /v7.0/users/{user_id}
Description:
Authentication required:
yes
Scope:
user#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user
Label Name Type Description
User ID id Integer
Login login String
Full name full_name String First and last name
E-mail email String
Address address String
Access level level Integer
Info info String
Enabled mailer mailer_enabled Boolean
Password reset password_reset Boolean
Lock-out lockout Boolean
Language of e-mails language Resource
Enable HTTP basic authentication enable_basic_auth Boolean
Enable token authentication enable_token_auth Boolean
Enable OAuth2 authentication enable_oauth2_auth Boolean
Enable single sign-on enable_single_sign_on Boolean
Enable new login notification enable_new_login_notification Boolean
Enable multi-factor authentication enable_multi_factor_auth Boolean
Preferred session length preferred_session_length Integer
Preferred logout all preferred_logout_all Boolean
Last activity last_activity_at Datetime
DokuWiki groups dokuwiki_groups String Comma-separated list of DokuWiki groups
Created at created_at Datetime
Object state object_state String
Expiration expiration_date Datetime A date after which the state will progress
Remind after remind_after_date Datetime Mail warnings are silenced until this date
Monthly payment monthly_payment Integer
Paid until paid_until Datetime

User # Touch

Path:
GET /v7.0/users/{user_id}/touch
Description:
Update last activity
Authentication required:
yes
Scope:
user#touch
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User # Update

Path:
PUT /v7.0/users/{user_id}
Description:
Authentication required:
yes
Scope:
user#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
user
Label Name Required Type Validators Default Description
Login login no String
Format
rx
\A[a-zA-Z0-9.-]{2,63}\z
match
true
description
message
not a valid login
Full name full_name no String First and last name
E-mail email no String
Address address no String
Access level level no Integer
Info info no String
Enabled mailer mailer_enabled no Boolean true
Password reset password_reset no Boolean
Lock-out lockout no Boolean
Language of e-mails language no Resource
Enable HTTP basic authentication enable_basic_auth no Boolean
Enable token authentication enable_token_auth no Boolean
Enable OAuth2 authentication enable_oauth2_auth no Boolean
Enable single sign-on enable_single_sign_on no Boolean
Enable new login notification enable_new_login_notification no Boolean
Enable multi-factor authentication enable_multi_factor_auth no Boolean
Preferred session length preferred_session_length no Integer
Preferred logout all preferred_logout_all no Boolean
Current password password no String The password must be at least 8 characters long
Password new_password no String The password must be at least 8 characters long
Logout sessions logout_sessions no Boolean true Logout all sessions except the current one when password is changed
Object state object_state no String
Include
values
["active", "suspended", "soft_delete", "hard_delete", "deleted"]
message
%{value} cannot be used
Expiration expiration_date no Datetime A date after which the state will progress
Remind after remind_after_date no Datetime Mail warnings are silenced until this date
Reason change_reason no String Reason for the state change. May be mailed to the user.

Output parameters

Layout:
object
Namespace:
user
Label Name Type Description
User ID id Integer
Login login String
Full name full_name String First and last name
E-mail email String
Address address String
Access level level Integer
Info info String
Enabled mailer mailer_enabled Boolean
Password reset password_reset Boolean
Lock-out lockout Boolean
Language of e-mails language Resource
Enable HTTP basic authentication enable_basic_auth Boolean
Enable token authentication enable_token_auth Boolean
Enable OAuth2 authentication enable_oauth2_auth Boolean
Enable single sign-on enable_single_sign_on Boolean
Enable new login notification enable_new_login_notification Boolean
Enable multi-factor authentication enable_multi_factor_auth Boolean
Preferred session length preferred_session_length Integer
Preferred logout all preferred_logout_all Boolean
Last activity last_activity_at Datetime
DokuWiki groups dokuwiki_groups String Comma-separated list of DokuWiki groups
Created at created_at Datetime

Cluster resource


Manage user's cluster resources

User.Cluster resource # Create

Path:
POST /v7.0/users/{user_id}/cluster_resources
Description:
Create a cluster resource for user
Authentication required:
yes
Scope:
user.cluster_resource#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource
Label Name Required Type Validators Default Description
Environment environment no Resource
ClusterResource cluster_resource no Resource
Value value no Integer

Output parameters

Layout:
object
Namespace:
cluster_resource
Label Name Type Description
Id id Integer
Environment environment Resource
ClusterResource cluster_resource Resource
Value value Integer
Used used Integer Number of used resource units
Free free Integer Number of free resource units

User.Cluster resource # Index

Path:
GET /v7.0/users/{user_id}/cluster_resources
Description:
List user cluster resources
Authentication required:
yes
Scope:
user.cluster_resource#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
cluster_resource
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Environment environment no Resource

Output parameters

Layout:
object_list
Namespace:
cluster_resources
Label Name Type Description
Id id Integer
Environment environment Resource
ClusterResource cluster_resource Resource
Value value Integer
Used used Integer Number of used resource units
Free free Integer Number of free resource units

User.Cluster resource # Show

Path:
GET /v7.0/users/{user_id}/cluster_resources/{cluster_resource_id}
Description:
Show user cluster resource
Authentication required:
yes
Scope:
user.cluster_resource#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
cluster_resource
Label Name Type Description
Id id Integer
Environment environment Resource
ClusterResource cluster_resource Resource
Value value Integer
Used used Integer Number of used resource units
Free free Integer Number of free resource units

Environment config


User settings per environment

User.Environment config # Index

Path:
GET /v7.0/users/{user_id}/environment_configs
Description:
List settings per environment
Authentication required:
yes
Scope:
user.environment_config#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
environment_config
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Environment environment no Resource

Output parameters

Layout:
object_list
Namespace:
environment_configs
Label Name Type Description
ID id Integer
Environment environment Resource
Can create a VPS can_create_vps Boolean
Can destroy a VPS can_destroy_vps Boolean
Default VPS lifetime vps_lifetime Integer in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count Integer 0 is unlimited
Default default Boolean If true, the user config is inherited from the environment config

User.Environment config # Show

Path:
GET /v7.0/users/{user_id}/environment_configs/{environment_config_id}
Description:
Show settings in an environment
Authentication required:
yes
Scope:
user.environment_config#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
environment_config
Label Name Type Description
ID id Integer
Environment environment Resource
Can create a VPS can_create_vps Boolean
Can destroy a VPS can_destroy_vps Boolean
Default VPS lifetime vps_lifetime Integer in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count Integer 0 is unlimited
Default default Boolean If true, the user config is inherited from the environment config

User.Environment config # Update

Path:
PUT /v7.0/users/{user_id}/environment_configs/{environment_config_id}
Description:
Change settings in an environment
Authentication required:
yes
Scope:
user.environment_config#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
environment_config
Label Name Required Type Validators Default Description
Can create a VPS can_create_vps no Boolean false
Can destroy a VPS can_destroy_vps no Boolean false
Default VPS lifetime vps_lifetime no Integer 0 in seconds, 0 is unlimited
Maximum number of VPS per user max_vps_count no Integer 1 0 is unlimited
Default default no Boolean true If true, the user config is inherited from the environment config

Output parameters

No parameters.

Known device


Manage known login devices

User.Known device # Delete

Path:
DELETE /v7.0/users/{user_id}/known_devices/{known_device_id}
Description:
Delete known device
Authentication required:
yes
Scope:
user.known_device#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User.Known device # Index

Path:
GET /v7.0/users/{user_id}/known_devices
Description:
List known devices
Authentication required:
yes
Scope:
user.known_device#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
known_device
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
known_devices
Label Name Type Description
Id id Integer
IP Address api_ip_addr String
IP PTR api_ip_ptr String
Client IP Address client_ip_addr String
Client IP PTR client_ip_ptr String
User agent user_agent String
Skip_multi_factor_auth_until skip_multi_factor_auth_until Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime
Last_seen_at last_seen_at Datetime

User.Known device # Show

Path:
GET /v7.0/users/{user_id}/known_devices/{known_device_id}
Description:
Show known device
Authentication required:
yes
Scope:
user.known_device#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
known_device
Label Name Type Description
Id id Integer
IP Address api_ip_addr String
IP PTR api_ip_ptr String
Client IP Address client_ip_addr String
Client IP PTR client_ip_ptr String
User agent user_agent String
Skip_multi_factor_auth_until skip_multi_factor_auth_until Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime
Last_seen_at last_seen_at Datetime

Mail role recipient


Manage user mail recipients

User.Mail role recipient # Index

Path:
GET /v7.0/users/{user_id}/mail_role_recipients
Description:
List user mail role recipients
Authentication required:
yes
Scope:
user.mail_role_recipient#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_role_recipient
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
mail_role_recipients
Label Name Type Description
Id id String
Label label String
Description description String
To to String

User.Mail role recipient # Show

Path:
GET /v7.0/users/{user_id}/mail_role_recipients/{mail_role_recipient_id}
Description:
Show user mail role recipient
Authentication required:
yes
Scope:
user.mail_role_recipient#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
mail_role_recipient
Label Name Type Description
Id id String
Label label String
Description description String
To to String

User.Mail role recipient # Update

Path:
PUT /v7.0/users/{user_id}/mail_role_recipients/{mail_role_recipient_id}
Description:
Update user mail role recipient
Authentication required:
yes
Scope:
user.mail_role_recipient#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_role_recipient
Label Name Required Type Validators Default Description
To to no String

Output parameters

Layout:
object
Namespace:
mail_role_recipient
Label Name Type Description
Id id String
Label label String
Description description String
To to String

Mail template recipient


Manage user mail recipients

User.Mail template recipient # Index

Path:
GET /v7.0/users/{user_id}/mail_template_recipients
Description:
List user mail template recipients
Authentication required:
yes
Scope:
user.mail_template_recipient#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_template_recipient
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
mail_template_recipients
Label Name Type Description
Id id String
Label label String
Description description String
To to String
Enabled enabled Boolean

User.Mail template recipient # Show

Path:
GET /v7.0/users/{user_id}/mail_template_recipients/{mail_template_recipient_id}
Description:
Show user mail template recipient
Authentication required:
yes
Scope:
user.mail_template_recipient#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
mail_template_recipient
Label Name Type Description
Id id String
Label label String
Description description String
To to String
Enabled enabled Boolean

User.Mail template recipient # Update

Path:
PUT /v7.0/users/{user_id}/mail_template_recipients/{mail_template_recipient_id}
Description:
Update user mail template recipient
Authentication required:
yes
Scope:
user.mail_template_recipient#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
mail_template_recipient
Label Name Required Type Validators Default Description
To to no String
Enabled enabled no Boolean

Output parameters

Layout:
object
Namespace:
mail_template_recipient
Label Name Type Description
Id id String
Label label String
Description description String
To to String
Enabled enabled Boolean

Public key


Manage public keys

User.Public key # Create

Path:
POST /v7.0/users/{user_id}/public_keys
Description:
Store a public key
Authentication required:
yes
Scope:
user.public_key#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
public_key
Label Name Required Type Validators Default Description
Label label yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 255
max
255
Public key key yes Text
Present
empty
false
message
must be present and non-empty
Format
rx
\A[^\n]+\z
match
true
description
message
must not contain line breaks
Length
message
length has to be maximally 5000
max
5000
Auto add auto_add no Boolean false Add this key automatically into newly created VPS

Output parameters

Layout:
object
Namespace:
public_key
Label Name Type Description
Id id Integer
Label label String
Public key key Text
Auto add auto_add Boolean Add this key automatically into newly created VPS
Fingerprint fingerprint String MD5 fingerprint
Comment comment String
Created at created_at Datetime
Updated at updated_at Datetime

User.Public key # Delete

Path:
DELETE /v7.0/users/{user_id}/public_keys/{public_key_id}
Description:
Delete public key
Authentication required:
yes
Scope:
user.public_key#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User.Public key # Index

Path:
GET /v7.0/users/{user_id}/public_keys
Description:
List saved public keys
Authentication required:
yes
Scope:
user.public_key#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
public_key
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
public_keys
Label Name Type Description
Id id Integer
Label label String
Public key key Text
Auto add auto_add Boolean Add this key automatically into newly created VPS
Fingerprint fingerprint String MD5 fingerprint
Comment comment String
Created at created_at Datetime
Updated at updated_at Datetime

User.Public key # Show

Path:
GET /v7.0/users/{user_id}/public_keys/{public_key_id}
Description:
Show saved public key
Authentication required:
yes
Scope:
user.public_key#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
public_key
Label Name Type Description
Id id Integer
Label label String
Public key key Text
Auto add auto_add Boolean Add this key automatically into newly created VPS
Fingerprint fingerprint String MD5 fingerprint
Comment comment String
Created at created_at Datetime
Updated at updated_at Datetime

User.Public key # Update

Path:
PUT /v7.0/users/{user_id}/public_keys/{public_key_id}
Description:
Update a public key
Authentication required:
yes
Scope:
user.public_key#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
public_key
Label Name Required Type Validators Default Description
Label label no String
Length
message
length has to be maximally 255
max
255
Public key key no Text
Format
rx
\A[^\n]+\z
match
true
description
message
must not contain line breaks
Length
message
length has to be maximally 5000
max
5000
Auto add auto_add no Boolean Add this key automatically into newly created VPS

Output parameters

Layout:
object
Namespace:
public_key
Label Name Type Description
Id id Integer
Label label String
Public key key Text
Auto add auto_add Boolean Add this key automatically into newly created VPS
Fingerprint fingerprint String MD5 fingerprint
Comment comment String
Created at created_at Datetime
Updated at updated_at Datetime

State log


Browse object's state log

User.State log # Index

Path:
GET /v7.0/users/{user_id}/state_logs
Description:
List object state changes
Authentication required:
yes
Scope:
user.state_log#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
state_log
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
state_logs
Label Name Type Description
Id id Integer
State state String
Changed_at changed_at Datetime
Expiration expiration Datetime
Remind_after remind_after Datetime
User user Resource
Reason reason Text

User.State log # Show

Path:
GET /v7.0/users/{user_id}/state_logs/{state_log_id}
Description:
Show object state change
Authentication required:
yes
Scope:
user.state_log#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
state_log
Label Name Type Description
Id id Integer
State state String
Changed_at changed_at Datetime
Expiration expiration Datetime
Remind_after remind_after Datetime
User user Resource
Reason reason Text

Totp device


Manage TOTP devices

User.Totp device # Confirm

Path:
POST /v7.0/users/{user_id}/totp_devices/{totp_device_id}/confirm
Description:
Confirm device
Authentication required:
yes
Scope:
user.totp_device#confirm
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
totp_device
Label Name Required Type Validators Default Description
TOTP code code yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
hash
Namespace:
totp_device
Label Name Type Description
Recovery_code recovery_code String

User.Totp device # Create

Path:
POST /v7.0/users/{user_id}/totp_devices
Description:
Create a new TOTP device
Authentication required:
yes
Scope:
user.totp_device#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
totp_device
Label Name Required Type Validators Default Description
Label label yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
totp_device
Label Name Type Description
Id id Integer
Label label String
Confirmed confirmed Boolean
Enabled enabled Boolean
Last_use_at last_use_at Datetime
Use_count use_count Integer
Created_at created_at Datetime
Updated_at updated_at Datetime
Secret secret String
Provisioning_uri provisioning_uri String

User.Totp device # Delete

Path:
DELETE /v7.0/users/{user_id}/totp_devices/{totp_device_id}
Description:
Delete TOTP device
Authentication required:
yes
Scope:
user.totp_device#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User.Totp device # Index

Path:
GET /v7.0/users/{user_id}/totp_devices
Description:
List configured TOTP devices
Authentication required:
yes
Scope:
user.totp_device#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
totp_device
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Confirmed confirmed no Boolean
Enabled enabled no Boolean

Output parameters

Layout:
object_list
Namespace:
totp_devices
Label Name Type Description
Id id Integer
Label label String
Confirmed confirmed Boolean
Enabled enabled Boolean
Last_use_at last_use_at Datetime
Use_count use_count Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

User.Totp device # Show

Path:
GET /v7.0/users/{user_id}/totp_devices/{totp_device_id}
Description:
Show configured TOTP device
Authentication required:
yes
Scope:
user.totp_device#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
totp_device
Label Name Type Description
Id id Integer
Label label String
Confirmed confirmed Boolean
Enabled enabled Boolean
Last_use_at last_use_at Datetime
Use_count use_count Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

User.Totp device # Update

Path:
PUT /v7.0/users/{user_id}/totp_devices/{totp_device_id}
Description:
Update device label
Authentication required:
yes
Scope:
user.totp_device#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
totp_device
Label Name Required Type Validators Default Description
Label label no String
Enabled enabled no Boolean

Output parameters

Layout:
object
Namespace:
totp_device
Label Name Type Description
Id id Integer
Label label String
Confirmed confirmed Boolean
Enabled enabled Boolean
Last_use_at last_use_at Datetime
Use_count use_count Integer
Created_at created_at Datetime
Updated_at updated_at Datetime

Webauthn credential


Manage WebAuthn credentials

User.Webauthn credential # Delete

Path:
DELETE /v7.0/users/{user_id}/webauthn_credentials/{webauthn_credential_id}
Description:
Delete WebAuthn credential
Authentication required:
yes
Scope:
user.webauthn_credential#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User.Webauthn credential # Index

Path:
GET /v7.0/users/{user_id}/webauthn_credentials
Description:
List configured WebAuthn credentials
Authentication required:
yes
Scope:
user.webauthn_credential#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
webauthn_credential
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Enabled enabled no Boolean

Output parameters

Layout:
object_list
Namespace:
webauthn_credentials
Label Name Type Description
Id id Integer
Label label String
Enabled enabled Boolean
Use_count use_count Integer
Last_use_at last_use_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

User.Webauthn credential # Show

Path:
GET /v7.0/users/{user_id}/webauthn_credentials/{webauthn_credential_id}
Description:
Show WebAuthn credential
Authentication required:
yes
Scope:
user.webauthn_credential#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
webauthn_credential
Label Name Type Description
Id id Integer
Label label String
Enabled enabled Boolean
Use_count use_count Integer
Last_use_at last_use_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

User.Webauthn credential # Update

Path:
PUT /v7.0/users/{user_id}/webauthn_credentials/{webauthn_credential_id}
Description:
Update WebAuthn credential
Authentication required:
yes
Scope:
user.webauthn_credential#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
webauthn_credential
Label Name Required Type Validators Default Description
Label label no String
Length
message
length has to be minimally 3
min
3
Enabled enabled no Boolean

Output parameters

Layout:
object
Namespace:
webauthn_credential
Label Name Type Description
Id id Integer
Label label String
Enabled enabled Boolean
Use_count use_count Integer
Last_use_at last_use_at Datetime
Created_at created_at Datetime
Updated_at updated_at Datetime

User account


Manage user's payment settings

User account # Index

Path:
GET /v7.0/user_accounts
Description:
List user accounts
Authentication required:
yes
Scope:
user_account#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_account
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
user_accounts
Label Name Type Description
Id id Integer
Monthly_payment monthly_payment Integer
Paid_until paid_until Datetime

User account # Show

Path:
GET /v7.0/user_accounts/{user_account_id}
Description:
Show user account
Authentication required:
yes
Scope:
user_account#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user_account
Label Name Type Description
Id id Integer
Monthly_payment monthly_payment Integer
Paid_until paid_until Datetime

User account # Update

Path:
PUT /v7.0/user_accounts/{user_account_id}
Description:
Update user account
Authentication required:
yes
Scope:
user_account#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_account
Label Name Required Type Validators Default Description
Monthly_payment monthly_payment no Integer
Paid_until paid_until no Datetime

Output parameters

Layout:
object
Namespace:
user_account
Label Name Type Description
Id id Integer
Monthly_payment monthly_payment Integer
Paid_until paid_until Datetime

User cluster resource package


Manage user cluster resource packages

User cluster resource package # Create

Path:
POST /v7.0/user_cluster_resource_packages
Description:
Assign cluster resource package to user
Authentication required:
yes
Scope:
user_cluster_resource_package#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_cluster_resource_package
Label Name Required Type Validators Default Description
Environment environment yes Resource
User user yes Resource
ClusterResourcePackage cluster_resource_package yes Resource
Comment comment yes Text
Present
empty
false
message
must be present and non-empty
From personal package from_personal no Boolean false Substract the added resources from the personal package

Output parameters

Layout:
object
Namespace:
user_cluster_resource_package
Label Name Type Description
Id id Integer
Environment environment Resource
User user Resource
ClusterResourcePackage cluster_resource_package Resource
Added_by added_by Resource
Label label String
Is_personal is_personal Boolean
Comment comment Text
Created_at created_at Datetime
Updated_at updated_at Datetime

User cluster resource package # Delete

Path:
DELETE /v7.0/user_cluster_resource_packages/{user_cluster_resource_package_id}
Description:
Remove cluster resource package from user
Authentication required:
yes
Scope:
user_cluster_resource_package#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User cluster resource package # Index

Path:
GET /v7.0/user_cluster_resource_packages
Description:
List user cluster resource packages
Authentication required:
yes
Scope:
user_cluster_resource_package#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_cluster_resource_package
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Environment environment no Resource
User user no Resource
ClusterResourcePackage cluster_resource_package no Resource
Added_by added_by no Resource

Output parameters

Layout:
object_list
Namespace:
user_cluster_resource_packages
Label Name Type Description
Id id Integer
Environment environment Resource
User user Resource
ClusterResourcePackage cluster_resource_package Resource
Added_by added_by Resource
Label label String
Is_personal is_personal Boolean
Comment comment Text
Created_at created_at Datetime
Updated_at updated_at Datetime

User cluster resource package # Show

Path:
GET /v7.0/user_cluster_resource_packages/{user_cluster_resource_package_id}
Description:
Show user cluster resource package
Authentication required:
yes
Scope:
user_cluster_resource_package#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user_cluster_resource_package
Label Name Type Description
Id id Integer
Environment environment Resource
User user Resource
ClusterResourcePackage cluster_resource_package Resource
Added_by added_by Resource
Label label String
Is_personal is_personal Boolean
Comment comment Text
Created_at created_at Datetime
Updated_at updated_at Datetime

User cluster resource package # Update

Path:
PUT /v7.0/user_cluster_resource_packages/{user_cluster_resource_package_id}
Description:
Update user cluster resource package
Authentication required:
yes
Scope:
user_cluster_resource_package#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_cluster_resource_package
Label Name Required Type Validators Default Description
Comment comment yes Text
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
user_cluster_resource_package
Label Name Type Description
Id id Integer
Environment environment Resource
User user Resource
ClusterResourcePackage cluster_resource_package Resource
Added_by added_by Resource
Label label String
Is_personal is_personal Boolean
Comment comment Text
Created_at created_at Datetime
Updated_at updated_at Datetime

Item


View user cluster resource package contents

User cluster resource package.Item # Index

Path:
GET /v7.0/user_cluster_resource_packages/{user_cluster_resource_package_id}/items
Description:
List user cluster resource package contents
Authentication required:
yes
Scope:
user_cluster_resource_package.item#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
item
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
items
Label Name Type Description
Id id Integer
ClusterResource cluster_resource Resource
Value value Integer

User cluster resource package.Item # Show

Path:
GET /v7.0/user_cluster_resource_packages/{user_cluster_resource_package_id}/items/{item_id}
Description:
Show cluster resource package item
Authentication required:
yes
Scope:
user_cluster_resource_package.item#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
item
Label Name Type Description
Id id Integer
ClusterResource cluster_resource Resource
Value value Integer

User namespace


Browse user namespaces

User namespace # Index

Path:
GET /v7.0/user_namespaces
Description:
List user namespaces
Authentication required:
yes
Scope:
user_namespace#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_namespace
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
Block count block_count no Integer
Size size no Integer

Output parameters

Layout:
object_list
Namespace:
user_namespaces
Label Name Type Description
ID id Integer
User user Resource
Offset offset Integer
Block count block_count Integer
Size size Integer

User namespace # Show

Path:
GET /v7.0/user_namespaces/{user_namespace_id}
Description:
Authentication required:
yes
Scope:
user_namespace#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user_namespace
Label Name Type Description
ID id Integer
User user Resource
Offset offset Integer
Block count block_count Integer
Size size Integer

User namespace map


Browse user namespace maps

User namespace map # Create

Path:
POST /v7.0/user_namespace_maps
Description:
Create user namespace map
Authentication required:
yes
Scope:
user_namespace_map#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_namespace_map
Label Name Required Type Validators Default Description
UserNamespace user_namespace yes Resource
Label label yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
user_namespace_map
Label Name Type Description
Map ID id Integer
UserNamespace user_namespace Resource
Label label String

User namespace map # Delete

Path:
DELETE /v7.0/user_namespace_maps/{user_namespace_map_id}
Description:
Delete user namespace map
Authentication required:
yes
Scope:
user_namespace_map#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User namespace map # Index

Path:
GET /v7.0/user_namespace_maps
Description:
List user namespace maps
Authentication required:
yes
Scope:
user_namespace_map#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_namespace_map
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
UserNamespace user_namespace no Resource

Output parameters

Layout:
object_list
Namespace:
user_namespace_maps
Label Name Type Description
Map ID id Integer
UserNamespace user_namespace Resource
Label label String

User namespace map # Show

Path:
GET /v7.0/user_namespace_maps/{user_namespace_map_id}
Description:
Authentication required:
yes
Scope:
user_namespace_map#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user_namespace_map
Label Name Type Description
Map ID id Integer
UserNamespace user_namespace Resource
Label label String

User namespace map # Update

Path:
PUT /v7.0/user_namespace_maps/{user_namespace_map_id}
Description:
Edit user namespace map
Authentication required:
yes
Scope:
user_namespace_map#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_namespace_map
Label Name Required Type Validators Default Description
UserNamespace user_namespace yes Resource
Label label yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
user_namespace_map
Label Name Type Description
Map ID id Integer
UserNamespace user_namespace Resource
Label label String

Entry


Browse user namespace map entries

User namespace map.Entry # Create

Path:
POST /v7.0/user_namespace_maps/{user_namespace_map_id}/entries
Description:
Create a new map entry
Authentication required:
yes
Scope:
user_namespace_map.entry#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
entry
Label Name Required Type Validators Default Description
Kind kind yes String
Include
values
["uid", "gid"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Vps_id vps_id yes Integer
Present
empty
false
message
must be present and non-empty
Number
message
has to be minimally 0
min
0
Beginning of the ID range within VPS
Ns_id ns_id yes Integer
Present
empty
false
message
must be present and non-empty
Number
message
has to be minimally 0
min
0
Beginning of the ID range within the user namespace
Count count yes Integer
Present
empty
false
message
must be present and non-empty
Number
message
has to be minimally 1
min
1
Number of mapped IDs

Output parameters

Layout:
object
Namespace:
entry
Label Name Type Description
Entry ID id Integer
Kind kind String
Vps_id vps_id Integer Beginning of the ID range within VPS
Ns_id ns_id Integer Beginning of the ID range within the user namespace
Count count Integer Number of mapped IDs

User namespace map.Entry # Delete

Path:
DELETE /v7.0/user_namespace_maps/{user_namespace_map_id}/entries/{entry_id}
Description:
Delete map entry
Authentication required:
yes
Scope:
user_namespace_map.entry#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User namespace map.Entry # Index

Path:
GET /v7.0/user_namespace_maps/{user_namespace_map_id}/entries
Description:
List map entries
Authentication required:
yes
Scope:
user_namespace_map.entry#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
entry
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
entries
Label Name Type Description
Entry ID id Integer
Kind kind String
Vps_id vps_id Integer Beginning of the ID range within VPS
Ns_id ns_id Integer Beginning of the ID range within the user namespace
Count count Integer Number of mapped IDs

User namespace map.Entry # Show

Path:
GET /v7.0/user_namespace_maps/{user_namespace_map_id}/entries/{entry_id}
Description:
Authentication required:
yes
Scope:
user_namespace_map.entry#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
entry
Label Name Type Description
Entry ID id Integer
Kind kind String
Vps_id vps_id Integer Beginning of the ID range within VPS
Ns_id ns_id Integer Beginning of the ID range within the user namespace
Count count Integer Number of mapped IDs

User namespace map.Entry # Update

Path:
PUT /v7.0/user_namespace_maps/{user_namespace_map_id}/entries/{entry_id}
Description:
Edit map entry
Authentication required:
yes
Scope:
user_namespace_map.entry#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
entry
Label Name Required Type Validators Default Description
Vps_id vps_id no Integer
Number
message
has to be minimally 0
min
0
Beginning of the ID range within VPS
Ns_id ns_id no Integer
Number
message
has to be minimally 0
min
0
Beginning of the ID range within the user namespace
Count count no Integer
Number
message
has to be minimally 1
min
1
Number of mapped IDs

Output parameters

Layout:
object
Namespace:
entry
Label Name Type Description
Entry ID id Integer
Kind kind String
Vps_id vps_id Integer Beginning of the ID range within VPS
Ns_id ns_id Integer Beginning of the ID range within the user namespace
Count count Integer Number of mapped IDs

User outage


Browse users affected by outages

User outage # Index

Path:
GET /v7.0/user_outages
Description:
List users affected by outage
Authentication required:
yes
Scope:
user_outage#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_outage
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Outage outage no Resource
User user no Resource

Output parameters

Layout:
object_list
Namespace:
user_outages
Label Name Type Description
Id id Integer
Outage outage Resource
User user Resource
Vps_count vps_count Integer
Export_count export_count Integer

User outage # Show

Path:
GET /v7.0/user_outages/{user_outage_id}
Description:
Show user affected by an outage
Authentication required:
yes
Scope:
user_outage#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user_outage
Label Name Type Description
Id id Integer
Outage outage Resource
User user Resource
Vps_count vps_count Integer
Export_count export_count Integer

User payment


Manage user's payment settings

User payment # Create

Path:
POST /v7.0/user_payments
Description:
Create a user payment
Authentication required:
yes
Scope:
user_payment#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
user_payment
Label Name Required Type Validators Default Description
IncomingPayment incoming_payment no Resource
User user yes Resource
Amount amount no Integer
Number
message
has to be minimally 1
min
1

Output parameters

Layout:
object
Namespace:
user_payment
Label Name Type Description
Id id Integer
IncomingPayment incoming_payment Resource
User user Resource
Amount amount Integer
Accounted_by accounted_by Resource
From_date from_date Datetime
To_date to_date Datetime
Created_at created_at Datetime

User payment # Index

Path:
GET /v7.0/user_payments
Description:
List user payments
Authentication required:
yes
Scope:
user_payment#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_payment
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
Accounted_by accounted_by no Resource

Output parameters

Layout:
object_list
Namespace:
user_payments
Label Name Type Description
Id id Integer
IncomingPayment incoming_payment Resource
User user Resource
Amount amount Integer
Accounted_by accounted_by Resource
From_date from_date Datetime
To_date to_date Datetime
Created_at created_at Datetime

User payment # Show

Path:
GET /v7.0/user_payments/{user_payment_id}
Description:
Show user payment
Authentication required:
yes
Scope:
user_payment#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user_payment
Label Name Type Description
Id id Integer
IncomingPayment incoming_payment Resource
User user Resource
Amount amount Integer
Accounted_by accounted_by Resource
From_date from_date Datetime
To_date to_date Datetime
Created_at created_at Datetime

User request


Change


Request change of personal information

User request.Change # Create

Path:
POST /v7.0/user_request/changes
Description:
Authentication required:
yes
Scope:
user_request.change#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
change
Label Name Required Type Validators Default Description
Change reason change_reason yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 255
max
255
Why do you wish to make the change?
Full name full_name no String
Length
message
length has to be minimally 2
min
2
E-mail email no String
Format
rx
@
match
true
description
message
not a valid e-mail address
Address address no String

Output parameters

Layout:
object
Namespace:
change
Label Name Type Description
Id id Integer
User user Resource
State state String
API IP address api_ip_addr String
API IP PTR api_ip_ptr String
Client IP address client_ip_addr String
Client IP PTR client_ip_ptr String
Admin admin Resource
Admin's response admin_response String
Created at created_at Datetime
Updated at updated_at Datetime
Label label String
Change reason change_reason String Why do you wish to make the change?
Full name full_name String
E-mail email String
Address address String

User request.Change # Index

Path:
GET /v7.0/user_request/changes
Description:
Authentication required:
yes
Scope:
user_request.change#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
change
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
State state no String
Include
values
["awaiting", "approved", "denied", "ignored", "pending_correction"]
message
%{value} cannot be used
API IP address api_ip_addr no String
Client IP address client_ip_addr no String
Client IP PTR client_ip_ptr no String
Admin admin no Resource

Output parameters

Layout:
object_list
Namespace:
changes
Label Name Type Description
Id id Integer
User user Resource
State state String
API IP address api_ip_addr String
API IP PTR api_ip_ptr String
Client IP address client_ip_addr String
Client IP PTR client_ip_ptr String
Admin admin Resource
Admin's response admin_response String
Created at created_at Datetime
Updated at updated_at Datetime
Label label String
Change reason change_reason String Why do you wish to make the change?
Full name full_name String
E-mail email String
Address address String

User request.Change # Resolve

Path:
POST /v7.0/user_request/changes/{change_id}/resolve
Description:
Resolve user request
Authentication required:
yes
Scope:
user_request.change#resolve
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
change
Label Name Required Type Validators Default Description
Action action yes String
Present
empty
false
message
must be present and non-empty
Include
values
["approve", "deny", "ignore", "request_correction"]
message
%{value} cannot be used
Reason reason no Text
Change reason change_reason no String
Length
message
length has to be maximally 255
max
255
Why do you wish to make the change?
Full name full_name no String
Length
message
length has to be minimally 2
min
2
E-mail email no String
Format
rx
@
match
true
description
message
not a valid e-mail address
Address address no String

Output parameters

No parameters.

User request.Change # Show

Path:
GET /v7.0/user_request/changes/{change_id}
Description:
Authentication required:
yes
Scope:
user_request.change#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
change
Label Name Type Description
Id id Integer
User user Resource
State state String
API IP address api_ip_addr String
API IP PTR api_ip_ptr String
Client IP address client_ip_addr String
Client IP PTR client_ip_ptr String
Admin admin Resource
Admin's response admin_response String
Created at created_at Datetime
Updated at updated_at Datetime
Label label String
Change reason change_reason String Why do you wish to make the change?
Full name full_name String
E-mail email String
Address address String

Registration


Request account registration

User request.Registration # Create

Path:
POST /v7.0/user_request/registrations
Description:
Authentication required:
no
Scope:
user_request.registration#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
registration
Label Name Required Type Validators Default Description
Login login yes String
Present
empty
false
message
must be present and non-empty
Format
rx
\A[a-zA-Z0-9.-]{2,63}\z
match
true
description
message
not a valid login
Full name full_name yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 255
max
255
Organization name org_name no String
Length
message
length has to be maximally 255
max
255
Organization ID org_id no String
Length
message
length has to be maximally 30
max
30
E-mail email yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 255
max
255
Format
rx
@
match
true
description
message
not a valid e-mail address
Address address yes Text
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 500
max
500
Year of birth year_of_birth yes Integer
Present
empty
false
message
must be present and non-empty
How did you learn about us? how no String
Length
message
length has to be maximally 500
max
500
Notes note no String
Length
message
length has to be maximally 500
max
500
Distribution os_template yes Resource
Location location yes Resource
Currency currency yes String
Present
empty
false
message
must be present and non-empty
Include
values
["eur", "czk"]
message
%{value} cannot be used
Length
message
length has to be maximally 10
max
10
Language language yes Resource

Output parameters

Layout:
object
Namespace:
registration
Label Name Type Description
Id id Integer
User user Resource
State state String
API IP address api_ip_addr String
API IP PTR api_ip_ptr String
Client IP address client_ip_addr String
Client IP PTR client_ip_ptr String
Admin admin Resource
Admin's response admin_response String
Created at created_at Datetime
Updated at updated_at Datetime
Label label String
Login login String
Full name full_name String
Organization name org_name String
Organization ID org_id String
E-mail email String
Address address Text
Year of birth year_of_birth Integer
How did you learn about us? how String
Notes note String
Distribution os_template Resource
Location location Resource
Currency currency String
Language language Resource
Ip_checked ip_checked Boolean
Ip_request_id ip_request_id String
Ip_success ip_success Boolean
Ip_message ip_message String
Ip_errors ip_errors String
Ip_proxy ip_proxy Boolean
Ip_crawler ip_crawler Boolean
Ip_recent_abuse ip_recent_abuse Boolean
Ip_vpn ip_vpn Boolean
Ip_tor ip_tor Boolean
Ip_fraud_score ip_fraud_score Integer
Mail_checked mail_checked Boolean
Mail_request_id mail_request_id String
Mail_success mail_success Boolean
Mail_message mail_message String
Mail_errors mail_errors String
Mail_valid mail_valid Boolean
Mail_disposable mail_disposable Boolean
Mail_timed_out mail_timed_out Boolean
Mail_deliverability mail_deliverability String
Mail_catch_all mail_catch_all Boolean
Mail_leaked mail_leaked Boolean
Mail_suspect mail_suspect Boolean
Mail_smtp_score mail_smtp_score Integer
Mail_overall_score mail_overall_score Integer
Mail_fraud_score mail_fraud_score Integer
Mail_dns_valid mail_dns_valid Boolean
Mail_honeypot mail_honeypot Boolean
Mail_spam_trap_score mail_spam_trap_score String
Mail_recent_abuse mail_recent_abuse Boolean
Mail_frequent_complainer mail_frequent_complainer Boolean

User request.Registration # Index

Path:
GET /v7.0/user_request/registrations
Description:
Authentication required:
yes
Scope:
user_request.registration#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
registration
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
State state no String
Include
values
["awaiting", "approved", "denied", "ignored", "pending_correction"]
message
%{value} cannot be used
API IP address api_ip_addr no String
Client IP address client_ip_addr no String
Client IP PTR client_ip_ptr no String
Admin admin no Resource

Output parameters

Layout:
object_list
Namespace:
registrations
Label Name Type Description
Id id Integer
User user Resource
State state String
API IP address api_ip_addr String
API IP PTR api_ip_ptr String
Client IP address client_ip_addr String
Client IP PTR client_ip_ptr String
Admin admin Resource
Admin's response admin_response String
Created at created_at Datetime
Updated at updated_at Datetime
Label label String
Login login String
Full name full_name String
Organization name org_name String
Organization ID org_id String
E-mail email String
Address address Text
Year of birth year_of_birth Integer
How did you learn about us? how String
Notes note String
Distribution os_template Resource
Location location Resource
Currency currency String
Language language Resource
Ip_checked ip_checked Boolean
Ip_request_id ip_request_id String
Ip_success ip_success Boolean
Ip_message ip_message String
Ip_errors ip_errors String
Ip_proxy ip_proxy Boolean
Ip_crawler ip_crawler Boolean
Ip_recent_abuse ip_recent_abuse Boolean
Ip_vpn ip_vpn Boolean
Ip_tor ip_tor Boolean
Ip_fraud_score ip_fraud_score Integer
Mail_checked mail_checked Boolean
Mail_request_id mail_request_id String
Mail_success mail_success Boolean
Mail_message mail_message String
Mail_errors mail_errors String
Mail_valid mail_valid Boolean
Mail_disposable mail_disposable Boolean
Mail_timed_out mail_timed_out Boolean
Mail_deliverability mail_deliverability String
Mail_catch_all mail_catch_all Boolean
Mail_leaked mail_leaked Boolean
Mail_suspect mail_suspect Boolean
Mail_smtp_score mail_smtp_score Integer
Mail_overall_score mail_overall_score Integer
Mail_fraud_score mail_fraud_score Integer
Mail_dns_valid mail_dns_valid Boolean
Mail_honeypot mail_honeypot Boolean
Mail_spam_trap_score mail_spam_trap_score String
Mail_recent_abuse mail_recent_abuse Boolean
Mail_frequent_complainer mail_frequent_complainer Boolean

User request.Registration # Preview

Path:
GET /v7.0/user_request/registrations/{registration_id}/{token}
Description:
Authentication required:
no
Scope:
user_request.registration#preview
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
registration
Label Name Type Description
Id id Integer
Admin's response admin_response String
Login login String
Full name full_name String
Organization name org_name String
Organization ID org_id String
E-mail email String
Address address Text
Year of birth year_of_birth Integer
How did you learn about us? how String
Notes note String
Distribution os_template Resource
Location location Resource
Currency currency String
Language language Resource

User request.Registration # Resolve

Path:
POST /v7.0/user_request/registrations/{registration_id}/resolve
Description:
Resolve user request
Authentication required:
yes
Scope:
user_request.registration#resolve
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
registration
Label Name Required Type Validators Default Description
Action action yes String
Present
empty
false
message
must be present and non-empty
Include
values
["approve", "deny", "ignore", "request_correction"]
message
%{value} cannot be used
Reason reason no Text
Login login no String
Format
rx
\A[a-zA-Z0-9.-]{2,63}\z
match
true
description
message
not a valid login
Full name full_name no String
Length
message
length has to be maximally 255
max
255
Organization name org_name no String
Length
message
length has to be maximally 255
max
255
Organization ID org_id no String
Length
message
length has to be maximally 30
max
30
E-mail email no String
Length
message
length has to be maximally 255
max
255
Format
rx
@
match
true
description
message
not a valid e-mail address
Address address no Text
Length
message
length has to be maximally 500
max
500
Year of birth year_of_birth no Integer
How did you learn about us? how no String
Length
message
length has to be maximally 500
max
500
Notes note no String
Length
message
length has to be maximally 500
max
500
Distribution os_template no Resource
Location location no Resource
Currency currency no String
Include
values
["eur", "czk"]
message
%{value} cannot be used
Length
message
length has to be maximally 10
max
10
Language language no Resource
Activate account activate no Boolean true
Node node no Resource Create the new VPS on this node
Create VPS create_vps no Boolean true

Output parameters

No parameters.

User request.Registration # Show

Path:
GET /v7.0/user_request/registrations/{registration_id}
Description:
Authentication required:
yes
Scope:
user_request.registration#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
registration
Label Name Type Description
Id id Integer
User user Resource
State state String
API IP address api_ip_addr String
API IP PTR api_ip_ptr String
Client IP address client_ip_addr String
Client IP PTR client_ip_ptr String
Admin admin Resource
Admin's response admin_response String
Created at created_at Datetime
Updated at updated_at Datetime
Label label String
Login login String
Full name full_name String
Organization name org_name String
Organization ID org_id String
E-mail email String
Address address Text
Year of birth year_of_birth Integer
How did you learn about us? how String
Notes note String
Distribution os_template Resource
Location location Resource
Currency currency String
Language language Resource
Ip_checked ip_checked Boolean
Ip_request_id ip_request_id String
Ip_success ip_success Boolean
Ip_message ip_message String
Ip_errors ip_errors String
Ip_proxy ip_proxy Boolean
Ip_crawler ip_crawler Boolean
Ip_recent_abuse ip_recent_abuse Boolean
Ip_vpn ip_vpn Boolean
Ip_tor ip_tor Boolean
Ip_fraud_score ip_fraud_score Integer
Mail_checked mail_checked Boolean
Mail_request_id mail_request_id String
Mail_success mail_success Boolean
Mail_message mail_message String
Mail_errors mail_errors String
Mail_valid mail_valid Boolean
Mail_disposable mail_disposable Boolean
Mail_timed_out mail_timed_out Boolean
Mail_deliverability mail_deliverability String
Mail_catch_all mail_catch_all Boolean
Mail_leaked mail_leaked Boolean
Mail_suspect mail_suspect Boolean
Mail_smtp_score mail_smtp_score Integer
Mail_overall_score mail_overall_score Integer
Mail_fraud_score mail_fraud_score Integer
Mail_dns_valid mail_dns_valid Boolean
Mail_honeypot mail_honeypot Boolean
Mail_spam_trap_score mail_spam_trap_score String
Mail_recent_abuse mail_recent_abuse Boolean
Mail_frequent_complainer mail_frequent_complainer Boolean

User request.Registration # Update

Path:
PUT /v7.0/user_request/registrations/{registration_id}/{token}
Description:
Authentication required:
no
Scope:
user_request.registration#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
registration
Label Name Required Type Validators Default Description
Login login yes String
Present
empty
false
message
must be present and non-empty
Format
rx
\A[a-zA-Z0-9.-]{2,63}\z
match
true
description
message
not a valid login
Full name full_name yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 255
max
255
Organization name org_name no String
Length
message
length has to be maximally 255
max
255
Organization ID org_id no String
Length
message
length has to be maximally 30
max
30
E-mail email yes String
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 255
max
255
Format
rx
@
match
true
description
message
not a valid e-mail address
Address address yes Text
Present
empty
false
message
must be present and non-empty
Length
message
length has to be maximally 500
max
500
Year of birth year_of_birth yes Integer
Present
empty
false
message
must be present and non-empty
How did you learn about us? how no String
Length
message
length has to be maximally 500
max
500
Notes note no String
Length
message
length has to be maximally 500
max
500
Distribution os_template yes Resource
Location location yes Resource
Currency currency yes String
Present
empty
false
message
must be present and non-empty
Include
values
["eur", "czk"]
message
%{value} cannot be used
Length
message
length has to be maximally 10
max
10
Language language yes Resource

Output parameters

Layout:
object
Namespace:
registration
Label Name Type Description
Id id Integer
Login login String
Full name full_name String
Organization name org_name String
Organization ID org_id String
E-mail email String
Address address Text
Year of birth year_of_birth Integer
How did you learn about us? how String
Notes note String
Distribution os_template Resource
Location location Resource
Currency currency String
Language language Resource

User session


Browse user sessions

User session # Close

Path:
POST /v7.0/user_sessions/{user_session_id}
Description:
Close user session, revoke access token
Authentication required:
yes
Scope:
user_session#close
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

User session # Create

Path:
POST /v7.0/user_sessions
Description:
Create a new session for token authentication
Authentication required:
yes
Scope:
user_session#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_session
Label Name Required Type Validators Default Description
User user yes Resource
Label label no String
Scope scope no String all
Token lifetime token_lifetime yes String
Include
values
["fixed", "renewable_manual", "renewable_auto", "permanent"]
message
%{value} cannot be used
Present
empty
false
message
must be present and non-empty
Token interval token_interval no Integer

Output parameters

Layout:
object
Namespace:
user_session
Label Name Type Description
Id id Integer
User user Resource
Label label String
Authentication type auth_type String
IP Address api_ip_addr String
IP PTR api_ip_ptr String
Client IP Address client_ip_addr String
Client IP PTR client_ip_ptr String
User agent user_agent String
Client version client_version String
Scope scope String
Authentication token fragment token_fragment String
Token lifetime token_lifetime String
Token interval token_interval Integer
Created at created_at Datetime
Last request at last_request_at Datetime
Request count request_count Integer
Closed at closed_at Datetime
Admin admin Resource
Token_full token_full String

User session # Index

Path:
GET /v7.0/user_sessions
Description:
List user sessions
Authentication required:
yes
Scope:
user_session#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_session
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
User user no Resource
Authentication type auth_type no String
Include
values
["basic", "token", "oauth2"]
message
%{value} cannot be used
IP Address api_ip_addr no String
Client IP Address client_ip_addr no String
User agent user_agent no String
Client version client_version no String
Authentication token fragment token_fragment no String
Admin admin no Resource
IP Address ip_addr no String Search both API and client IP address
State state no String
Include
values
["all", "open", "closed"]
message
%{value} cannot be used
all

Output parameters

Layout:
object_list
Namespace:
user_sessions
Label Name Type Description
Id id Integer
User user Resource
Label label String
Authentication type auth_type String
IP Address api_ip_addr String
IP PTR api_ip_ptr String
Client IP Address client_ip_addr String
Client IP PTR client_ip_ptr String
User agent user_agent String
Client version client_version String
Scope scope String
Authentication token fragment token_fragment String
Token lifetime token_lifetime String
Token interval token_interval Integer
Created at created_at Datetime
Last request at last_request_at Datetime
Request count request_count Integer
Closed at closed_at Datetime
Admin admin Resource

User session # Show

Path:
GET /v7.0/user_sessions/{user_session_id}
Description:
Show a user session
Authentication required:
yes
Scope:
user_session#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
user_session
Label Name Type Description
Id id Integer
User user Resource
Label label String
Authentication type auth_type String
IP Address api_ip_addr String
IP PTR api_ip_ptr String
Client IP Address client_ip_addr String
Client IP PTR client_ip_ptr String
User agent user_agent String
Client version client_version String
Scope scope String
Authentication token fragment token_fragment String
Token lifetime token_lifetime String
Token interval token_interval Integer
Created at created_at Datetime
Last request at last_request_at Datetime
Request count request_count Integer
Closed at closed_at Datetime
Admin admin Resource

User session # Update

Path:
PUT /v7.0/user_sessions/{user_session_id}
Description:
Update user session
Authentication required:
yes
Scope:
user_session#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
user_session
Label Name Required Type Validators Default Description
Label label yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
object
Namespace:
user_session
Label Name Type Description
Id id Integer
User user Resource
Label label String
Authentication type auth_type String
IP Address api_ip_addr String
IP PTR api_ip_ptr String
Client IP Address client_ip_addr String
Client IP PTR client_ip_ptr String
User agent user_agent String
Client version client_version String
Scope scope String
Authentication token fragment token_fragment String
Token lifetime token_lifetime String
Token interval token_interval Integer
Created at created_at Datetime
Last request at last_request_at Datetime
Request count request_count Integer
Closed at closed_at Datetime
Admin admin Resource

Vps


Manage VPS

Vps # Boot

Path:
POST /v7.0/vpses/{vps_id}/boot
Description:
Boot VPS from OS template
Authentication required:
yes
Scope:
vps#boot
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
OS template os_template no Resource
Rootfs mountpoint mount_root_dataset no String

Output parameters

No parameters.

Vps # Clone

Path:
POST /v7.0/vpses/{vps_id}/clone
Description:
Clone VPS
Authentication required:
yes
Scope:
vps#clone
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
Environment environment no Resource Clone to environment
Location location no Resource Clone to location
Node node no Resource Clone to node
User user no Resource The owner of the cloned VPS
Address location address_location no Resource Location to select IP addresses from
Platform platform no String
Include
values
["same", "vpsadminos"]
message
%{value} cannot be used
same
Subdatasets subdatasets no Boolean true
Dataset plans dataset_plans no Boolean true
Resources resources no Boolean true Clone resources such as memory and CPU
Features features no Boolean true
Hostname hostname no String
Format
rx
\A[a-zA-Z0-9][a-zA-Z\-_.0-9]{0,62}[a-zA-Z0-9]\z
match
true
description
message
bad format
Stop stop no Boolean true Do a consistent clone - original VPS is stopped before making a snapshot
Keep snapshots keep_snapshots no Boolean false Keep snapshots created during the cloning process

Output parameters

Layout:
object
Namespace:
vps
Label Name Type Description
VPS id id Integer
User user Resource VPS owner
Hostname hostname String VPS hostname
Manage hostname manage_hostname Boolean Determines whether vpsAdmin sets VPS hostname or not
OS template os_template Resource
Cgroup_version cgroup_version String
Map mode map_mode String
Info info String VPS description
DNS resolver dns_resolver Resource DNS resolver the VPS will use
Node node Resource Node VPS will run on
UID/GID mapping user_namespace_map Resource
Auto-start autostart_enable Boolean Start VPS on node boot?
Auto-start priority autostart_priority Integer 0 is the highest priority, greater numbers have lower priority
On start all onstartall Boolean Start VPS on start all action?
Config config String Custom configuration options
CPU limit cpu_limit Integer Limit of maximum CPU usage
Start menu timeout start_menu_timeout Integer Number of seconds the start menu waits for the user
Allow admin modifications allow_admin_modifications Boolean
Enable OS template auto update enable_os_template_auto_update Boolean
Enable network enable_network Boolean
Dataset dataset Resource Dataset the VPS resides in
Pool pool Resource Storage pool the VPS resides in
Created at created_at Datetime
Implicit_oom_report_rule_hit_count implicit_oom_report_rule_hit_count Integer
Memory memory Integer Minimally 512, maximally 65536, step size is 1
Swap swap Integer Minimally 0, maximally 12288, step size is 1
CPU cpu Integer Minimally 1, maximally 32, step size is 1
Disk space diskspace Integer Minimally 1024, maximally 10485760, step size is 1
Running is_running Boolean
In rescue mode in_rescue_mode Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Used disk space used_diskspace Integer in MB

Vps # Create

Path:
POST /v7.0/vpses
Description:
Create VPS
Authentication required:
yes
Scope:
vps#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
Environment environment no Resource Environment in which to create the VPS, for non-admins
Location location no Resource Location in which to create the VPS, for non-admins
Address location address_location no Resource Location to select IP addresses from
User user no Resource VPS owner
Hostname hostname yes String
Present
empty
false
message
must be present and non-empty
Format
rx
\A[a-zA-Z0-9][a-zA-Z\-_.0-9]{0,62}[a-zA-Z0-9]\z
match
true
description
message
bad format
VPS hostname
OS template os_template no Resource
Cgroup_version cgroup_version no String
Include
values
["cgroup_any", "cgroup_v1", "cgroup_v2"]
message
%{value} cannot be used
cgroup_any
Map mode map_mode no String
Include
values
["native", "zfs"]
message
%{value} cannot be used
native
Info info no String VPS description
DNS resolver dns_resolver no Resource DNS resolver the VPS will use
Node node no Resource Node VPS will run on
UID/GID mapping user_namespace_map no Resource
Auto-start autostart_enable no Boolean Start VPS on node boot?
Auto-start priority autostart_priority no Integer
Number
message
has to be minimally 0
min
0
1000 0 is the highest priority, greater numbers have lower priority
On start all onstartall no Boolean true Start VPS on start all action?
Config config no String Custom configuration options
CPU limit cpu_limit no Integer
Number
message
has to be minimally 0
min
0
Limit of maximum CPU usage
Start menu timeout start_menu_timeout no Integer
Number
message
has to be in range <0, 86400>
min
0
max
86400
Number of seconds the start menu waits for the user
Allow admin modifications allow_admin_modifications no Boolean
Enable OS template auto update enable_os_template_auto_update no Boolean
Enable network enable_network no Boolean
Memory memory no Integer Minimally 512, maximally 65536, step size is 1
Swap swap no Integer Minimally 0, maximally 12288, step size is 1
CPU cpu no Integer Minimally 1, maximally 32, step size is 1
Disk space diskspace no Integer Minimally 1024, maximally 10485760, step size is 1
IPv4 ipv4 no Integer 1
IPv6 ipv6 no Integer 1
Private IPv4 ipv4_private no Integer 0
Start VPS start no Boolean true
User data vps_user_data no Resource
User data format user_data_format no String
Include
values
["script", "cloudinit_config", "cloudinit_script", "nixos_configuration", "nixos_flake_configuration", "nixos_flake_uri"]
message
%{value} cannot be used
User data content user_data_content no Text

Output parameters

Layout:
object
Namespace:
vps
Label Name Type Description
VPS id id Integer
User user Resource VPS owner
Hostname hostname String VPS hostname
Manage hostname manage_hostname Boolean Determines whether vpsAdmin sets VPS hostname or not
OS template os_template Resource
Cgroup_version cgroup_version String
Map mode map_mode String
Info info String VPS description
DNS resolver dns_resolver Resource DNS resolver the VPS will use
Node node Resource Node VPS will run on
UID/GID mapping user_namespace_map Resource
Auto-start autostart_enable Boolean Start VPS on node boot?
Auto-start priority autostart_priority Integer 0 is the highest priority, greater numbers have lower priority
On start all onstartall Boolean Start VPS on start all action?
Config config String Custom configuration options
CPU limit cpu_limit Integer Limit of maximum CPU usage
Start menu timeout start_menu_timeout Integer Number of seconds the start menu waits for the user
Allow admin modifications allow_admin_modifications Boolean
Enable OS template auto update enable_os_template_auto_update Boolean
Enable network enable_network Boolean
Dataset dataset Resource Dataset the VPS resides in
Pool pool Resource Storage pool the VPS resides in
Created at created_at Datetime
Implicit_oom_report_rule_hit_count implicit_oom_report_rule_hit_count Integer
Memory memory Integer Minimally 512, maximally 65536, step size is 1
Swap swap Integer Minimally 0, maximally 12288, step size is 1
CPU cpu Integer Minimally 1, maximally 32, step size is 1
Disk space diskspace Integer Minimally 1024, maximally 10485760, step size is 1
Running is_running Boolean
In rescue mode in_rescue_mode Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Used disk space used_diskspace Integer in MB
Object state object_state String
Expiration expiration_date Datetime A date after which the state will progress
Remind after remind_after_date Datetime Mail warnings are silenced until this date

Examples

Create vps

Create VPS owned by user with ID 1, template ID 1 and DNS resolver ID 1. VPS will be created on node ID 1. Action returns ID of newly created VPS.

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.vps.create({:user=>1,
 :hostname=>"my-vps",
 :os_template=>1,
 :info=>"",
 :dns_resolver=>1,
 :node=>1,
 :onstartall=>true})

# reply is an instance of HaveAPI::Client::ResourceInstance
# reply.id = 150
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.vps.create({
  "user": 1,
  "hostname": "my-vps",
  "os_template": 1,
  "info": "",
  "dns_resolver": 1,
  "node": 1,
  "onstartall": true
}, function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstance
  // reply.id = 150
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->vps->create([
  "user" => 1,
  "hostname" => "my-vps",
  "os_template" => 1,
  "info" => "",
  "dns_resolver" => 1,
  "node" => 1,
  "onstartall" => true
]);

// $reply is an instance of \HaveAPI\Client\ResourceInstance
// $reply->id = 150
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 vps create -- \
              --user '1' \
              --hostname 'my-vps' \
              --os-template '1' \
              --info '' \
              --dns-resolver '1' \
              --node '1' \
              --onstartall
                             VPS id:  150
                               User:  -
                           Hostname:  -
                    Manage hostname:  -
                        OS template:  -
                     Cgroup_version:  -
                           Map mode:  -
                               Info:  -
                       DNS resolver:  -
                               Node:  -
                    UID/GID mapping:  -
                         Auto-start:  -
                Auto-start priority:  -
                       On start all:  -
                             Config:  -
                          CPU limit:  -
                 Start menu timeout:  -
          Allow admin modifications:  -
     Enable OS template auto update:  -
                     Enable network:  -
                            Dataset:  -
                               Pool:  -
                         Created at:  -
 Implicit_oom_report_rule_hit_count:  -
                             Memory:  -
                               Swap:  -
                                CPU:  -
                         Disk space:  -
                            Running:  -
                     In rescue mode:  -
                             Uptime:  -
                           Loadavg1:  -
                           Loadavg5:  -
                          Loadavg15:  -
                      Process count:  -
                           Cpu_user:  -
                           Cpu_nice:  -
                         Cpu_system:  -
                           Cpu_idle:  -
                         Cpu_iowait:  -
                            Cpu_irq:  -
                        Cpu_softirq:  -
                        Used memory:  -
                          Used swap:  -
                    Used disk space:  -
                       Object state:  -
                         Expiration:  -
                       Remind after:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/vps/actions/create

# Prepare input parameters
$ echo '1' > input/user
$ echo 'my-vps' > input/hostname
$ echo '1' > input/os_template
$ echo '' > input/info
$ echo '1' > input/dns_resolver
$ echo '1' > input/node
$ echo 'true' > input/onstartall

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1

# Query the output parameters
$ cat output/id
150

curl
Request
$ curl --request POST \
       --data-binary "{
  \"vps\": {
    \"user\": 1,
    \"hostname\": \"my-vps\",
    \"os_template\": 1,
    \"info\": \"\",
    \"dns_resolver\": 1,
    \"node\": 1,
    \"onstartall\": true
  }
}" \
       'https://api.vpsfree.cz/v7.0/vpses'
Response
{
  "status": true,
  "message": null,
  "response": {
    "vps": {
      "id": 150
    }
  },
  "errors": null
}
HTTP
Request
POST /v7.0/vpses HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

{
  "vps": {
    "user": 1,
    "hostname": "my-vps",
    "os_template": 1,
    "info": "",
    "dns_resolver": 1,
    "node": 1,
    "onstartall": true
  }
}
Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 113

{
  "status": true,
  "message": null,
  "response": {
    "vps": {
      "id": 150
    }
  },
  "errors": null
}

Vps # Delete

Path:
DELETE /v7.0/vpses/{vps_id}
Description:
Delete VPS
Authentication required:
yes
Scope:
vps#delete
Aliases:
destroy
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
Lazy delete lazy no Boolean true Only mark VPS as deleted
Object state object_state no String
Include
values
["soft_delete", "hard_delete", "deleted"]
message
%{value} cannot be used
soft_delete
Expiration expiration_date no Datetime A date after which the state will progress
Remind after remind_after_date no Datetime Mail warnings are silenced until this date
Reason change_reason no String Reason for the state change. May be mailed to the user.

Output parameters

No parameters.

Vps # Deploy_public_key

Path:
POST /v7.0/vpses/{vps_id}/deploy_public_key
Description:
Deploy public SSH key
Authentication required:
yes
Scope:
vps#deploy_public_key
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
Public key public_key yes Resource

Output parameters

No parameters.

Vps # Index

Path:
GET /v7.0/vpses
Description:
List VPS
Authentication required:
yes
Scope:
vps#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource Filter by owner
Node node no Resource Filter by node
Location location no Resource Filter by location
Environment environment no Resource Filter by environment
UID/GID mapping user_namespace_map no Resource
OS template os_template no Resource
Hostname_any hostname_any no String
Hostname_exact hostname_exact no String
Object state object_state no String
Include
values
["active", "suspended", "soft_delete", "hard_delete", "deleted"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
vpses
Label Name Type Description
VPS id id Integer
User user Resource VPS owner
Hostname hostname String VPS hostname
Manage hostname manage_hostname Boolean Determines whether vpsAdmin sets VPS hostname or not
OS template os_template Resource
Cgroup_version cgroup_version String
Map mode map_mode String
Info info String VPS description
DNS resolver dns_resolver Resource DNS resolver the VPS will use
Node node Resource Node VPS will run on
UID/GID mapping user_namespace_map Resource
Auto-start autostart_enable Boolean Start VPS on node boot?
Auto-start priority autostart_priority Integer 0 is the highest priority, greater numbers have lower priority
On start all onstartall Boolean Start VPS on start all action?
Config config String Custom configuration options
CPU limit cpu_limit Integer Limit of maximum CPU usage
Start menu timeout start_menu_timeout Integer Number of seconds the start menu waits for the user
Allow admin modifications allow_admin_modifications Boolean
Enable OS template auto update enable_os_template_auto_update Boolean
Enable network enable_network Boolean
Dataset dataset Resource Dataset the VPS resides in
Pool pool Resource Storage pool the VPS resides in
Created at created_at Datetime
Implicit_oom_report_rule_hit_count implicit_oom_report_rule_hit_count Integer
Memory memory Integer Minimally 512, maximally 65536, step size is 1
Swap swap Integer Minimally 0, maximally 12288, step size is 1
CPU cpu Integer Minimally 1, maximally 32, step size is 1
Disk space diskspace Integer Minimally 1024, maximally 10485760, step size is 1
Running is_running Boolean
In rescue mode in_rescue_mode Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Used disk space used_diskspace Integer in MB
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String
Object state object_state String
Expiration expiration_date Datetime A date after which the state will progress
Remind after remind_after_date Datetime Mail warnings are silenced until this date

Examples

Example #0

Ruby
require 'haveapi-client'

client = HaveAPI::Client.new("https://api.vpsfree.cz", version: "7.0")

reply = client.vps.index

# reply is an instance of HaveAPI::Client::ResourceInstanceList,
# which is a subclass of Array
JavaScript
import HaveAPI from 'haveapi-client'

var api = new HaveAPI.Client("https://api.vpsfree.cz", {version: "7.0"});

api.vps.index(function (client, reply) {
  console.log('Response', reply);
  // reply is an instance of HaveAPI.Client.ResourceInstanceList
});
PHP
$api = new \HaveAPI\Client("https://api.vpsfree.cz", "7.0");

$reply = $api->vps->index();

// $reply is an instance of \HaveAPI\Client\ResourceInstanceList
CLI
$ haveapi-cli -u https://api.vpsfree.cz --version 7.0 vps index
                             VPS id:  150
                               User:   (#1)
                           Hostname:  thehostname
                    Manage hostname:  -
                        OS template:  Scientific Linux 6 (#1)
                     Cgroup_version:  -
                           Map mode:  -
                               Info:  My very important VPS
                       DNS resolver:   (#1)
                               Node:   (#1)
                    UID/GID mapping:  -
                         Auto-start:  -
                Auto-start priority:  -
                       On start all:  true
                             Config:  -
                          CPU limit:  -
                 Start menu timeout:  -
          Allow admin modifications:  -
     Enable OS template auto update:  -
                     Enable network:  -
                            Dataset:  -
                               Pool:  -
                         Created at:  -
 Implicit_oom_report_rule_hit_count:  -
                             Memory:  -
                               Swap:  -
                                CPU:  -
                         Disk space:  -
                            Running:  -
                     In rescue mode:  -
                             Uptime:  -
                           Loadavg1:  -
                           Loadavg5:  -
                          Loadavg15:  -
                      Process count:  -
                           Cpu_user:  -
                           Cpu_nice:  -
                         Cpu_system:  -
                           Cpu_idle:  -
                         Cpu_iowait:  -
                            Cpu_irq:  -
                        Cpu_softirq:  -
                        Used memory:  -
                          Used swap:  -
                    Used disk space:  -
                   Maintenance lock:  -
                 Maintenance reason:  -
                       Object state:  -
                         Expiration:  -
                       Remind after:  -

File system
# Mount the file system
$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz -o version=7.0

# Change to action directory
$ cd /mnt/api.vpsfree.cz/vps/actions/index

# Execute the action
$ echo 1 > exec

# Query the action's result
$ cat status
1
curl
Request
$ curl --request GET \
       --data-binary "{
  \"vps\": {}
}" \
       'https://api.vpsfree.cz/v7.0/vpses'
Response
{
  "status": true,
  "message": null,
  "response": {
    "vpses": [
      {
        "id": 150,
        "user": {
          "id": 1,
          "name": "somebody"
        },
        "hostname": "thehostname",
        "os_template": {
          "id": 1,
          "label": "Scientific Linux 6"
        },
        "info": "My very important VPS",
        "dns_resolver": {
          "id": 1
        },
        "node": {
          "id": 1,
          "name": "node1"
        },
        "onstartall": true
      }
    ]
  },
  "errors": null
}
HTTP
Request
GET /v7.0/vpses HTTP/1.1
Host: api.vpsfree.cz
Content-Type: application/json

Response
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: 538

{
  "status": true,
  "message": null,
  "response": {
    "vpses": [
      {
        "id": 150,
        "user": {
          "id": 1,
          "name": "somebody"
        },
        "hostname": "thehostname",
        "os_template": {
          "id": 1,
          "label": "Scientific Linux 6"
        },
        "info": "My very important VPS",
        "dns_resolver": {
          "id": 1
        },
        "node": {
          "id": 1,
          "name": "node1"
        },
        "onstartall": true
      }
    ]
  },
  "errors": null
}

Vps # Migrate

Path:
POST /v7.0/vpses/{vps_id}/migrate
Description:
Migrate VPS to another node
Authentication required:
yes
Scope:
vps#migrate
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
Node node yes Resource
Replace IP addresses replace_ip_addresses no Boolean When migrating to another location, current IP addresses are replaced by addresses from the new location
Transfer IP addresses transfer_ip_addresses no Boolean If possible, keep IP addresses and recharge them to a different environment or location
Swap swap no String
Include
values
["enforce"]
message
%{value} cannot be used
enforce
Maintenance window maintenance_window no Boolean true Migrate the VPS within the nearest maintenance window
Finish weekday finish_weekday no Integer
Number
message
has to be in range <0, 6>
min
0
max
6
Prepare the migration and finish it on this day
Finish minutes finish_minutes no Integer
Number
message
has to be in range <0, 1410>
min
0
max
1410
Number of minutes from midnight of start_weekday after which the migration is done
Cleanup data cleanup_data no Boolean true Remove VPS dataset from the source node
No start no_start no Boolean false Do not start the VPS on the target node
Skip start skip_start no Boolean false Continue even if the VPS fails to start on the target node
Send e-mails send_mail no Boolean true Inform the VPS owner about migration progress
Reason reason no String

Output parameters

No parameters.

Vps # Passwd

Path:
POST /v7.0/vpses/{vps_id}/passwd
Description:
Set root password
Authentication required:
yes
Scope:
vps#passwd
Aliases:
Blocking:
yes

Input parameters

Layout:
hash
Namespace:
vps
Label Name Required Type Validators Default Description
Type type no String
Include
values
["secure", "simple"]
message
%{value} cannot be used
secure

Output parameters

Layout:
hash
Namespace:
vps
Label Name Type Description
Password password String Auto-generated password

Vps # Reinstall

Path:
POST /v7.0/vpses/{vps_id}/reinstall
Description:
Reinstall VPS
Authentication required:
yes
Scope:
vps#reinstall
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
OS template os_template no Resource
User data vps_user_data no Resource
User data format user_data_format no String
Include
values
["script", "cloudinit_config", "cloudinit_script", "nixos_configuration", "nixos_flake_configuration", "nixos_flake_uri"]
message
%{value} cannot be used
User data content user_data_content no Text

Output parameters

No parameters.

Vps # Replace

Path:
POST /v7.0/vpses/{vps_id}/replace
Description:
Replace broken VPS
Authentication required:
yes
Scope:
vps#replace
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
Node node no Resource Clone to node
Expiration_date expiration_date no Datetime How long should the original VPS be kept
Start start no Boolean true Start thew new VPS
Reason reason no Text

Output parameters

Layout:
object
Namespace:
vps
Label Name Type Description
VPS id id Integer
User user Resource VPS owner
Hostname hostname String VPS hostname
Manage hostname manage_hostname Boolean Determines whether vpsAdmin sets VPS hostname or not
OS template os_template Resource
Cgroup_version cgroup_version String
Map mode map_mode String
Info info String VPS description
DNS resolver dns_resolver Resource DNS resolver the VPS will use
Node node Resource Node VPS will run on
UID/GID mapping user_namespace_map Resource
Auto-start autostart_enable Boolean Start VPS on node boot?
Auto-start priority autostart_priority Integer 0 is the highest priority, greater numbers have lower priority
On start all onstartall Boolean Start VPS on start all action?
Config config String Custom configuration options
CPU limit cpu_limit Integer Limit of maximum CPU usage
Start menu timeout start_menu_timeout Integer Number of seconds the start menu waits for the user
Allow admin modifications allow_admin_modifications Boolean
Enable OS template auto update enable_os_template_auto_update Boolean
Enable network enable_network Boolean
Dataset dataset Resource Dataset the VPS resides in
Pool pool Resource Storage pool the VPS resides in
Created at created_at Datetime
Implicit_oom_report_rule_hit_count implicit_oom_report_rule_hit_count Integer
Memory memory Integer Minimally 512, maximally 65536, step size is 1
Swap swap Integer Minimally 0, maximally 12288, step size is 1
CPU cpu Integer Minimally 1, maximally 32, step size is 1
Disk space diskspace Integer Minimally 1024, maximally 10485760, step size is 1
Running is_running Boolean
In rescue mode in_rescue_mode Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Used disk space used_diskspace Integer in MB

Vps # Restart

Path:
POST /v7.0/vpses/{vps_id}/restart
Description:
Restart VPS
Authentication required:
yes
Scope:
vps#restart
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Vps # Set_maintenance

Path:
POST /v7.0/vpses/{vps_id}/set_maintenance
Description:
Set maintenance lock
Authentication required:
yes
Scope:
vps#set_maintenance
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
vps
Label Name Required Type Validators Default Description
Lock lock yes Boolean
Present
empty
false
message
must be present and non-empty
Reason reason no String

Output parameters

No parameters.

Vps # Show

Path:
GET /v7.0/vpses/{vps_id}
Description:
Show VPS properties
Authentication required:
yes
Scope:
vps#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
vps
Label Name Type Description
VPS id id Integer
User user Resource VPS owner
Hostname hostname String VPS hostname
Manage hostname manage_hostname Boolean Determines whether vpsAdmin sets VPS hostname or not
OS template os_template Resource
Cgroup_version cgroup_version String
Map mode map_mode String
Info info String VPS description
DNS resolver dns_resolver Resource DNS resolver the VPS will use
Node node Resource Node VPS will run on
UID/GID mapping user_namespace_map Resource
Auto-start autostart_enable Boolean Start VPS on node boot?
Auto-start priority autostart_priority Integer 0 is the highest priority, greater numbers have lower priority
On start all onstartall Boolean Start VPS on start all action?
Config config String Custom configuration options
CPU limit cpu_limit Integer Limit of maximum CPU usage
Start menu timeout start_menu_timeout Integer Number of seconds the start menu waits for the user
Allow admin modifications allow_admin_modifications Boolean
Enable OS template auto update enable_os_template_auto_update Boolean
Enable network enable_network Boolean
Dataset dataset Resource Dataset the VPS resides in
Pool pool Resource Storage pool the VPS resides in
Created at created_at Datetime
Implicit_oom_report_rule_hit_count implicit_oom_report_rule_hit_count Integer
Memory memory Integer Minimally 512, maximally 65536, step size is 1
Swap swap Integer Minimally 0, maximally 12288, step size is 1
CPU cpu Integer Minimally 1, maximally 32, step size is 1
Disk space diskspace Integer Minimally 1024, maximally 10485760, step size is 1
Running is_running Boolean
In rescue mode in_rescue_mode Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Used memory used_memory Integer in MB
Used swap used_swap Integer in MB
Used disk space used_diskspace Integer in MB
Maintenance lock maintenance_lock String
Maintenance reason maintenance_lock_reason String
Object state object_state String
Expiration expiration_date Datetime A date after which the state will progress
Remind after remind_after_date Datetime Mail warnings are silenced until this date

Vps # Start

Path:
POST /v7.0/vpses/{vps_id}/start
Description:
Start VPS
Authentication required:
yes
Scope:
vps#start
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Vps # Stop

Path:
POST /v7.0/vpses/{vps_id}/stop
Description:
Stop VPS
Authentication required:
yes
Scope:
vps#stop
Aliases:
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Vps # Swap_with

Path:
POST /v7.0/vpses/{vps_id}/swap_with
Description:
Swap VPS with another
Authentication required:
yes
Scope:
vps#swap_with
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
VPS vps yes Resource Swap with this VPS
Resources resources no Boolean Swap resources (CPU, memory and swap, not disk space)
Hostname hostname no Boolean Swap hostname
Expirations expirations no Boolean Swap expirations

Output parameters

No parameters.

Vps # Update

Path:
PUT /v7.0/vpses/{vps_id}
Description:
Update VPS
Authentication required:
yes
Scope:
vps#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps
Label Name Required Type Validators Default Description
User user no Resource VPS owner
Hostname hostname no String
Format
rx
\A[a-zA-Z0-9][a-zA-Z\-_.0-9]{0,62}[a-zA-Z0-9]\z
match
true
description
message
bad format
VPS hostname
Manage hostname manage_hostname no Boolean Determines whether vpsAdmin sets VPS hostname or not
OS template os_template no Resource
Cgroup_version cgroup_version no String
Include
values
["cgroup_any", "cgroup_v1", "cgroup_v2"]
message
%{value} cannot be used
cgroup_any
Map mode map_mode no String
Include
values
["native", "zfs"]
message
%{value} cannot be used
native
Info info no String VPS description
DNS resolver dns_resolver no Resource DNS resolver the VPS will use
Node node no Resource Node VPS will run on
UID/GID mapping user_namespace_map no Resource
Auto-start autostart_enable no Boolean Start VPS on node boot?
Auto-start priority autostart_priority no Integer
Number
message
has to be minimally 0
min
0
1000 0 is the highest priority, greater numbers have lower priority
On start all onstartall no Boolean true Start VPS on start all action?
Config config no String Custom configuration options
CPU limit cpu_limit no Integer
Number
message
has to be minimally 0
min
0
Limit of maximum CPU usage
Start menu timeout start_menu_timeout no Integer
Number
message
has to be in range <0, 86400>
min
0
max
86400
Number of seconds the start menu waits for the user
Allow admin modifications allow_admin_modifications no Boolean
Enable OS template auto update enable_os_template_auto_update no Boolean
Enable network enable_network no Boolean
CPU cpu no Integer Minimally 1, maximally 32, step size is 1
Memory memory no Integer Minimally 512, maximally 65536, step size is 1
Swap swap no Integer Minimally 0, maximally 12288, step size is 1
Change reason change_reason no Text If filled, it is send to VPS owner in an email
Admin override admin_override no Boolean Make it possible to assign more resource than the user actually has
Admin lock type admin_lock_type no String
Include
values
["no_lock", "absolute", "not_less", "not_more"]
message
%{value} cannot be used
How is the admin lock enforced
Object state object_state no String
Include
values
["active", "suspended", "soft_delete", "hard_delete", "deleted"]
message
%{value} cannot be used
Expiration expiration_date no Datetime A date after which the state will progress
Remind after remind_after_date no Datetime Mail warnings are silenced until this date

Output parameters

No parameters.

Console token


Remote console tokens

Vps.Console token # Create

Path:
POST /v7.0/vpses/{vps_id}/console_token
Description:
Authentication required:
yes
Scope:
vps.console_token#create
Aliases:
new
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
console_token
Label Name Type Description
Token token String Authentication token
Expiration date expiration Datetime A date after which the token becomes invalid

Vps.Console token # Delete

Path:
DELETE /v7.0/vpses/{vps_id}/console_token
Description:
Authentication required:
yes
Scope:
vps.console_token#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Vps.Console token # Show

Path:
GET /v7.0/vpses/{vps_id}/console_token
Description:
Authentication required:
yes
Scope:
vps.console_token#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
console_token
Label Name Type Description
Token token String Authentication token
Expiration date expiration Datetime A date after which the token becomes invalid

Feature


Toggle VPS features

Vps.Feature # Index

Path:
GET /v7.0/vpses/{vps_id}/features
Description:
List VPS features
Authentication required:
yes
Scope:
vps.feature#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
feature
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
features
Label Name Type Description
Id id Integer
Name name String
Label label String
Enabled enabled Boolean

Vps.Feature # Show

Path:
GET /v7.0/vpses/{vps_id}/features/{feature_id}
Description:
Show VPS feature
Authentication required:
yes
Scope:
vps.feature#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
feature
Label Name Type Description
Id id Integer
Name name String
Label label String
Enabled enabled Boolean

Vps.Feature # Update

Path:
PUT /v7.0/vpses/{vps_id}/features/{feature_id}
Description:
Toggle VPS feature
Authentication required:
yes
Scope:
vps.feature#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
feature
Label Name Required Type Validators Default Description
Enabled enabled no Boolean

Output parameters

No parameters.

Vps.Feature # Update_all

Path:
POST /v7.0/vpses/{vps_id}/features/update_all
Description:
Set all features at once
Authentication required:
yes
Scope:
vps.feature#update_all
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
feature
Label Name Required Type Validators Default Description
#true}> tun no Boolean
#true}> fuse no Boolean
# ppp no Boolean
#true}> kvm no Boolean
# lxc no Boolean
# impermanence no Boolean

Output parameters

No parameters.

Maintenance window


Manage VPS maintenance windows

Vps.Maintenance window # Index

Path:
GET /v7.0/vpses/{vps_id}/maintenance_windows
Description:
List maintenance windows
Authentication required:
yes
Scope:
vps.maintenance_window#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
maintenance_window
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
maintenance_windows
Label Name Type Description
Weekday weekday Integer
Is_open is_open Boolean
Opens_at opens_at Integer
Closes_at closes_at Integer

Vps.Maintenance window # Show

Path:
GET /v7.0/vpses/{vps_id}/maintenance_windows/{maintenance_window_id}
Description:
Show maintenance window
Authentication required:
yes
Scope:
vps.maintenance_window#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
maintenance_window
Label Name Type Description
Weekday weekday Integer
Is_open is_open Boolean
Opens_at opens_at Integer
Closes_at closes_at Integer

Vps.Maintenance window # Update

Path:
PUT /v7.0/vpses/{vps_id}/maintenance_windows/{maintenance_window_id}
Description:
Resize maintenance window
Authentication required:
yes
Scope:
vps.maintenance_window#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
maintenance_window
Label Name Required Type Validators Default Description
Is_open is_open no Boolean
Opens_at opens_at no Integer
Closes_at closes_at no Integer

Output parameters

Layout:
object
Namespace:
maintenance_window
Label Name Type Description
Weekday weekday Integer
Is_open is_open Boolean
Opens_at opens_at Integer
Closes_at closes_at Integer

Vps.Maintenance window # Update_all

Path:
PUT /v7.0/vpses/{vps_id}/maintenance_windows
Description:
Update maintenance windows for all week days at once
Authentication required:
yes
Scope:
vps.maintenance_window#update_all
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
maintenance_window
Label Name Required Type Validators Default Description
Is_open is_open no Boolean
Opens_at opens_at no Integer
Closes_at closes_at no Integer

Output parameters

Layout:
object_list
Namespace:
maintenance_windows
Label Name Type Description
Weekday weekday Integer
Is_open is_open Boolean
Opens_at opens_at Integer
Closes_at closes_at Integer

Mount


Manage mounts

Vps.Mount # Create

Path:
POST /v7.0/vpses/{vps_id}/mounts
Description:
Mount local dataset to directory in VPS
Authentication required:
yes
Scope:
vps.mount#create
Aliases:
new
Blocking:
yes

Input parameters

Layout:
object
Namespace:
mount
Label Name Required Type Validators Default Description
Dataset dataset yes Resource
UID/GID map user_namespace_map no Resource
Mountpoint mountpoint no String
Mode mode no String
Include
values
["ro", "rw"]
message
%{value} cannot be used
rw
On mount failure on_start_fail no String
Include
values
["skip", "mount_later", "fail_start", "wait_for_mount"]
message
%{value} cannot be used
What happens when the mount fails during VPS start
Enabled enabled no Boolean true

Output parameters

Layout:
object
Namespace:
mount
Label Name Type Description
Id id Integer
VPS vps Resource
Dataset dataset Resource
UID/GID map user_namespace_map Resource
Mountpoint mountpoint String
Mode mode String
On mount failure on_start_fail String What happens when the mount fails during VPS start
Expiration date expiration_date Datetime The mount is deleted when expiration date passes
Enabled enabled Boolean
Master enabled master_enabled Boolean
Current state current_state String

Vps.Mount # Delete

Path:
DELETE /v7.0/vpses/{vps_id}/mounts/{mount_id}
Description:
Delete mount from VPS
Authentication required:
yes
Scope:
vps.mount#delete
Aliases:
destroy
Blocking:
yes

Input parameters

No parameters.

Output parameters

No parameters.

Vps.Mount # Index

Path:
GET /v7.0/vpses/{vps_id}/mounts
Description:
List mounts
Authentication required:
yes
Scope:
vps.mount#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
mount
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
mounts
Label Name Type Description
Id id Integer
VPS vps Resource
Dataset dataset Resource
UID/GID map user_namespace_map Resource
Mountpoint mountpoint String
Mode mode String
On mount failure on_start_fail String What happens when the mount fails during VPS start
Expiration date expiration_date Datetime The mount is deleted when expiration date passes
Enabled enabled Boolean
Master enabled master_enabled Boolean
Current state current_state String

Vps.Mount # Show

Path:
GET /v7.0/vpses/{vps_id}/mounts/{mount_id}
Description:
Show mount
Authentication required:
yes
Scope:
vps.mount#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
mount
Label Name Type Description
Id id Integer
VPS vps Resource
Dataset dataset Resource
UID/GID map user_namespace_map Resource
Mountpoint mountpoint String
Mode mode String
On mount failure on_start_fail String What happens when the mount fails during VPS start
Expiration date expiration_date Datetime The mount is deleted when expiration date passes
Enabled enabled Boolean
Master enabled master_enabled Boolean
Current state current_state String

Vps.Mount # Update

Path:
PUT /v7.0/vpses/{vps_id}/mounts/{mount_id}
Description:
Update a mount
Authentication required:
yes
Scope:
vps.mount#update
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
mount
Label Name Required Type Validators Default Description
On mount failure on_start_fail no String
Include
values
["skip", "mount_later", "fail_start", "wait_for_mount"]
message
%{value} cannot be used
What happens when the mount fails during VPS start
Enabled enabled no Boolean
Master enabled master_enabled no Boolean

Output parameters

Layout:
object
Namespace:
mount
Label Name Type Description
Id id Integer
VPS vps Resource
Dataset dataset Resource
UID/GID map user_namespace_map Resource
Mountpoint mountpoint String
Mode mode String
On mount failure on_start_fail String What happens when the mount fails during VPS start
Expiration date expiration_date Datetime The mount is deleted when expiration date passes
Enabled enabled Boolean
Master enabled master_enabled Boolean
Current state current_state String

Ssh host key


View VPS SSH host keys

Vps.Ssh host key # Index

Path:
GET /v7.0/vpses/{vps_id}/ssh_host_keys
Description:
Authentication required:
yes
Scope:
vps.ssh_host_key#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
ssh_host_key
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Algorithm algorithm no String

Output parameters

Layout:
object_list
Namespace:
ssh_host_keys
Label Name Type Description
Id id Integer
Bits bits Integer
Fingerprint fingerprint String
Algorithm algorithm String
Created_at created_at Datetime
Updated_at updated_at Datetime

Vps.Ssh host key # Show

Path:
GET /v7.0/vpses/{vps_id}/ssh_host_keys/{ssh_host_key_id}
Description:
Authentication required:
yes
Scope:
vps.ssh_host_key#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
ssh_host_key
Label Name Type Description
Id id Integer
Bits bits Integer
Fingerprint fingerprint String
Algorithm algorithm String
Created_at created_at Datetime
Updated_at updated_at Datetime

State log


Browse object's state log

Vps.State log # Index

Path:
GET /v7.0/vpses/{vps_id}/state_logs
Description:
List object state changes
Authentication required:
yes
Scope:
vps.state_log#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
state_log
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve

Output parameters

Layout:
object_list
Namespace:
state_logs
Label Name Type Description
Id id Integer
State state String
Changed_at changed_at Datetime
Expiration expiration Datetime
Remind_after remind_after Datetime
User user Resource
Reason reason Text

Vps.State log # Show

Path:
GET /v7.0/vpses/{vps_id}/state_logs/{state_log_id}
Description:
Show object state change
Authentication required:
yes
Scope:
vps.state_log#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
state_log
Label Name Type Description
Id id Integer
State state String
Changed_at changed_at Datetime
Expiration expiration Datetime
Remind_after remind_after Datetime
User user Resource
Reason reason Text

Status


View VPS statuses in time

Vps.Status # Index

Path:
GET /v7.0/vpses/{vps_id}/statuses
Description:
Authentication required:
yes
Scope:
vps.status#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
status
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
25 Number of objects to retrieve
From from no Datetime
To to no Datetime
Status status no Boolean
Is_running is_running no Boolean

Output parameters

Layout:
object_list
Namespace:
statuses
Label Name Type Description
Id id Integer
Status status Boolean
Running is_running Boolean
In rescue mode in_rescue_mode Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpus cpus Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Total_memory total_memory Integer
Used memory used_memory Integer in MB
Total_swap total_swap Integer
Used swap used_swap Integer in MB
Created_at created_at Datetime

Vps.Status # Show

Path:
GET /v7.0/vpses/{vps_id}/statuses/{status_id}
Description:
Authentication required:
yes
Scope:
vps.status#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
status
Label Name Type Description
Id id Integer
Status status Boolean
Running is_running Boolean
In rescue mode in_rescue_mode Boolean
Uptime uptime Integer
Loadavg1 loadavg1 Float
Loadavg5 loadavg5 Float
Loadavg15 loadavg15 Float
Process count process_count Integer
Cpus cpus Integer
Cpu_user cpu_user Float
Cpu_nice cpu_nice Float
Cpu_system cpu_system Float
Cpu_idle cpu_idle Float
Cpu_iowait cpu_iowait Float
Cpu_irq cpu_irq Float
Cpu_softirq cpu_softirq Float
Total_memory total_memory Integer
Used memory used_memory Integer in MB
Total_swap total_swap Integer
Used swap used_swap Integer in MB
Created_at created_at Datetime

Vps outage


Browse VPSes affected by outages

Vps outage # Index

Path:
GET /v7.0/vps_outages
Description:
List VPSes affected by outage
Authentication required:
yes
Scope:
vps_outage#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
vps_outage
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
Outage outage no Resource
VPS vps no Resource
User user no Resource
Environment environment no Resource
Location location no Resource
Node node no Resource
Direct direct no Boolean

Output parameters

Layout:
object_list
Namespace:
vps_outages
Label Name Type Description
Id id Integer
Outage outage Resource
VPS vps Resource
User user Resource
Environment environment Resource
Location location Resource
Node node Resource
Direct direct Boolean

Vps outage # Show

Path:
GET /v7.0/vps_outages/{vps_outage_id}
Description:
Show VPS affected by an outage
Authentication required:
yes
Scope:
vps_outage#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
vps_outage
Label Name Type Description
Id id Integer
Outage outage Resource
VPS vps Resource
User user Resource
Environment environment Resource
Location location Resource
Node node Resource
Direct direct Boolean

Vps user data


Manage VPS user data

Vps user data # Create

Path:
POST /v7.0/vps_user_data
Description:
Store VPS user data
Authentication required:
yes
Scope:
vps_user_data#create
Aliases:
new
Blocking:
no

Input parameters

Layout:
object
Namespace:
vps_user_data
Label Name Required Type Validators Default Description
User user no Resource
Label label no String
Length
message
length has to be maximally 255
max
255
Format format no String
Include
values
["script", "cloudinit_config", "cloudinit_script", "nixos_configuration", "nixos_flake_configuration", "nixos_flake_uri"]
message
%{value} cannot be used
Content content no Text
Length
message
length has to be maximally 65536
max
65536

Output parameters

Layout:
object
Namespace:
vps_user_data
Label Name Type Description
Id id Integer
User user Resource
Label label String
Format format String
Content content Text
Created at created_at Datetime
Updated at updated_at Datetime

Vps user data # Delete

Path:
DELETE /v7.0/vps_user_data/{vps_user_data_id}
Description:
Delete VPS user data
Authentication required:
yes
Scope:
vps_user_data#delete
Aliases:
destroy
Blocking:
no

Input parameters

No parameters.

Output parameters

No parameters.

Vps user data # Deploy

Path:
POST /v7.0/vps_user_data/{vps_user_data_id}/deploy
Description:
Deploy user data to VPS
Authentication required:
yes
Scope:
vps_user_data#deploy
Aliases:
Blocking:
yes

Input parameters

Layout:
object
Namespace:
vps_user_data
Label Name Required Type Validators Default Description
VPS vps yes Resource

Output parameters

No parameters.

Vps user data # Index

Path:
GET /v7.0/vps_user_data
Description:
List VPS user data
Authentication required:
yes
Scope:
vps_user_data#index
Aliases:
list
Blocking:
no

Input parameters

Layout:
object
Namespace:
vps_user_data
Label Name Required Type Validators Default Description
From ID from_id no Integer
Number
message
has to be minimally 0
min
0
List objects with greater/lesser ID
Limit limit no Integer
Number
message
has to be minimally 0
min
0
Number of objects to retrieve
User user no Resource
Format format no String
Include
values
["script", "cloudinit_config", "cloudinit_script", "nixos_configuration", "nixos_flake_configuration", "nixos_flake_uri"]
message
%{value} cannot be used

Output parameters

Layout:
object_list
Namespace:
vps_user_data
Label Name Type Description
Id id Integer
User user Resource
Label label String
Format format String
Content content Text
Created at created_at Datetime
Updated at updated_at Datetime

Vps user data # Show

Path:
GET /v7.0/vps_user_data/{vps_user_data_id}
Description:
Show VPS user data
Authentication required:
yes
Scope:
vps_user_data#show
Aliases:
find
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
object
Namespace:
vps_user_data
Label Name Type Description
Id id Integer
User user Resource
Label label String
Format format String
Content content Text
Created at created_at Datetime
Updated at updated_at Datetime

Vps user data # Update

Path:
PUT /v7.0/vps_user_data/{vps_user_data_id}
Description:
Update VPS user data
Authentication required:
yes
Scope:
vps_user_data#update
Aliases:
Blocking:
no

Input parameters

Layout:
object
Namespace:
vps_user_data
Label Name Required Type Validators Default Description
Label label no String
Length
message
length has to be maximally 255
max
255
Format format no String
Include
values
["script", "cloudinit_config", "cloudinit_script", "nixos_configuration", "nixos_flake_configuration", "nixos_flake_uri"]
message
%{value} cannot be used
Content content no Text
Length
message
length has to be maximally 65536
max
65536

Output parameters

Layout:
object
Namespace:
vps_user_data
Label Name Type Description
Id id Integer
User user Resource
Label label String
Format format String
Content content Text
Created at created_at Datetime
Updated at updated_at Datetime

Webauthn


Authentication


Webauthn.Authentication # Begin

Path:
POST /v7.0/webauthn/authentication/begin
Description:
Authentication required:
no
Scope:
webauthn.authentication#begin
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
authentication
Label Name Required Type Validators Default Description
Auth_token auth_token yes String
Present
empty
false
message
must be present and non-empty

Output parameters

Layout:
hash
Namespace:
authentication
Label Name Type Description
Challenge_token challenge_token String
Options options Custom

Webauthn.Authentication # Finish

Path:
POST /v7.0/webauthn/authentication/finish
Description:
Authentication required:
no
Scope:
webauthn.authentication#finish
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
authentication
Label Name Required Type Validators Default Description
Challenge_token challenge_token yes String
Present
empty
false
message
must be present and non-empty
Auth_token auth_token yes String
Present
empty
false
message
must be present and non-empty
Public_key_credential public_key_credential yes Custom
Present
empty
false
message
must be present and non-empty

Output parameters

No parameters.

Registration


Webauthn.Registration # Begin

Path:
POST /v7.0/webauthn/registration/begin
Description:
Authentication required:
yes
Scope:
webauthn.registration#begin
Aliases:
Blocking:
no

Input parameters

No parameters.

Output parameters

Layout:
hash
Namespace:
registration
Label Name Type Description
Challenge_token challenge_token String
Options options Custom

Webauthn.Registration # Finish

Path:
POST /v7.0/webauthn/registration/finish
Description:
Authentication required:
yes
Scope:
webauthn.registration#finish
Aliases:
Blocking:
no

Input parameters

Layout:
hash
Namespace:
registration
Label Name Required Type Validators Default Description
Challenge_token challenge_token yes String
Present
empty
false
message
must be present and non-empty
Label label yes String
Present
empty
false
message
must be present and non-empty
Public_key_credential public_key_credential yes Custom
Present
empty
false
message
must be present and non-empty

Output parameters

No parameters.

Generated by HaveAPI v0.26.0