/cloud/image/create


POST https://api.sitehost.nz/1.0/cloud/image/create.json

Creates a new custom image.

Form Parameters

ParameterTypeRequiredDescription
client_idintegerYesThe ID for the client that the image will belong to.Example: 1
labelstringYesThe label for the new image.Example: My Custom Image
params[code]stringThe code used to identify this image. This field is optional and if not provided, it will be generated automatically from the label.Example: my-custom-image
params[ssh_keys][]stringA list of IDs for SSH keys to grant access to this image. This parameter accepts one or more values in the format of ssh_keys[]=23, ssh_keys[]=25.Example: 23
params[fork_id]stringThe ID for public SiteHost image to fork from.Example: 61

Code Samples

JavaScript PHP Rails Python
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST", "https://api.sitehost.nz/1.0/cloud/image/create.json", false);

var data = new FormData();
data.append("apikey", "your_key_here");
data.append("client_id", "1");
data.append("label", "My Custom Image");
data.append("params[code]", "my-custom-image");
data.append("params[ssh_keys][]", "23");
data.append("params[fork_id]", "61");

xmlHttp.send(data);

var response = xmlHttp.responseText;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sitehost.nz/1.0/cloud/image/create.json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$body = array(
'apikey' => 'your_key_here',
'client_id' => 1,
'label' => 'My Custom Image',
'params[code]' => 'my-custom-image',
'params[ssh_keys][]' => '23',
'params[fork_id]' => '61',
);
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.0/cloud/image/create.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,
"label" => "My Custom Image",
"params[code]" => "my-custom-image",
"params[ssh_keys][]" => "23",
"params[fork_id]" => "61",
}
request.set_form_data(body)

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

uri = 'https://api.sitehost.nz/1.0/cloud/image/create.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['label'] = 'My Custom Image'
body['params[code]'] = 'my-custom-image'
body['params[ssh_keys][]'] = '23'
body['params[fork_id]'] = '61'

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

Response

200:

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