/cloud/ssh/user/add


POST https://api.sitehost.nz/1.3/cloud/ssh/user/add.json

Creates a new SSH user.

Form Parameters

ParameterTypeRequiredDescription
client_idintegerYesThe ID for the client that the SSH user will belong to.Example: 1
server_namestringYesThe server to create the SSH user on.Example: ch-servername
usernamestringYesThe username for the new SSH user.Example: sshuser
params[password]stringThe password for the new SSH user.Example: password
params[containers][0]stringThe list of containers to link the new SSH user to. This parameter accepts one or more values in the format of params[containers][]=x, params[containers][]=y. Note that you must have either containers or volumes, not both.Example: example.nz
params[volumes][0]stringThe list of volumes to link the new SSH user to. This parameter accepts one or more values in the format of params[volumes][]=x, params[volumes][]=y. Note that you must have either containers or volumes, not both.Example: my-volume
params[ssh_keys][0]stringA list of IDs for SSH keys to assign to the user. This parameter accepts one or more values in the format of params[ssh_keys][]=23, params[ssh_keys][]=25.Example: 23
params[read_only_config]integerSpecifies whether to make the configuration files read-only for the user. 0 for No and 1 for YesExample: 0

Code Samples

JavaScript PHP Rails Python
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST", "https://api.sitehost.nz/1.3/cloud/ssh/user/add.json", false);

var data = new FormData();
data.append("apikey", "your_key_here");
data.append("client_id", "1");
data.append("server_name", "ch-servername");
data.append("username", "sshuser");
data.append("params[password]", "password");
data.append("params[containers][0]", "example.nz");
data.append("params[volumes][0]", "my-volume");
data.append("params[ssh_keys][0]", "23");
data.append("params[read_only_config]", "0");

xmlHttp.send(data);

var response = xmlHttp.responseText;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sitehost.nz/1.3/cloud/ssh/user/add.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$body = array(
'apikey' => 'your_key_here',
'client_id' => 1,
'server_name' => 'ch-servername',
'username' => 'sshuser',
'params[password]' => 'password',
'params[containers][0]' => 'example.nz',
'params[volumes][0]' => 'my-volume',
'params[ssh_keys][0]' => '23',
'params[read_only_config]' => 0,
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
require 'net/http'
require 'uri'

uri = URI.parse("https://api.sitehost.nz/1.3/cloud/ssh/user/add.json")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)

body = {"apikey" => "your_key_here",
"client_id" => 1,
"server_name" => "ch-servername",
"username" => "sshuser",
"params[password]" => "password",
"params[containers][0]" => "example.nz",
"params[volumes][0]" => "my-volume",
"params[ssh_keys][0]" => "23",
"params[read_only_config]" => 0,
}
request.set_form_data(body)

response = http.request(request)
import requests
from collections import OrderedDict

uri = 'https://api.sitehost.nz/1.3/cloud/ssh/user/add.json'

# We need ordered dictionary because parameters have to be in the right order.
# Refer to Developer Notes for more information.
body = OrderedDict()

body['apikey'] = 'your_key_here'
body['client_id'] = 1
body['server_name'] = 'ch-servername'
body['username'] = 'sshuser'
body['params[password]'] = 'password'
body['params[containers][0]'] = 'example.nz'
body['params[volumes][0]'] = 'my-volume'
body['params[ssh_keys][0]'] = '23'
body['params[read_only_config]'] = 0

response = requests.post(uri, data=body)

Response

200:

application/json
{
  "return": {
    "job_id": "3433562"
  },
  "msg": "Successful",
  "status": true
}