Fork me on GitHub

InterServer API Documentation

Introduction

Welcome to the InterServer API! You can use this API to access the featurs you enjoy through our websites. We have code samples for all of the API calls in many languages and implementnig the API calls in varoius ways. At the time of this writing we have at least 1 script for each api call in PHP, Python, Perl, and Ruby.

You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Connecting To the API

Prerequisites and API URLs

API Endpoint: https://my.interserver.net/api.php

WSDL File: https://my.interserver.net/api.php?wsdl

To use the API you will need to first have an account with us.  You can sign up for an account at http://my.interserver.net/

Authentication

Use this code to authenticate and get a session id. Make sure to replace 'username@site.com' and 'password' with your actual info

<?php
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
$session_id = $client->api_login('username@site.com', 'password');
if (!strlen($session_id) > 0)
    die("Failure!\nNo Session Returned - Bad Login Info\n");
echo "Success!\n Got Session ID: {$session_id}\n”;
// Rest of code logic would go here
?>
use SOAP::Lite;
print SOAP::Lite
-> uri('urn:myapi')
-> proxy('https://my.interserver.net/api.php?wsdl')
-> api_login('username@site.com', 'password')
-> result;
require 'savon'

## create a client for the service
client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(:api_login, message: {})
print response.body[:api_login_response][:return],"\n"
from pysimplesoap.client import SoapClient
client = SoapClient(wsdl="https://my.interserver.net/api.php?WSDL",trace=False)
response = client.api_login('username@site.com', 'password')
print response


The Session ID, or SID will be needed for most future commands so store this value in a variable for later use!

Billing

Add Prepay

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$module = $ARGV[2];
$amount = $ARGV[3];
$automatic_use = $ARGV[4];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_add_prepay($sid, $module, $amount, $automatic_use);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_add_prepay()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_add_prepay, message: { 
    sid: ARGV[0], 
    module: ARGV[1], 
    amount: ARGV[2], 
    automatic_use: ARGV[3], 
})
print response.body[:api_add_prepay_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$module = $_SERVER['argv'][3];
$amount = $_SERVER['argv'][4];
$automatic_use = $_SERVER['argv'][5];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_add_prepay($sid, $module, $amount, $automatic_use);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_add_prepay

Adds a PrePay into the system under the given module. PrePays are a credit on

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
module string the module the prepay is for. use get_modules to get a list of modules
amount float the dollar amount of prepay total
automatic_use bool wether or not the prepay will get used automatically by billing system.

Output Fields

Field Type Description
return int the prepay id

Example API Response

Type Value
Integer 1274

Backups Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_backups_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_backups_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_backups_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_backups_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_backups_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_backups_cancel_service

This Function Applies to the Backup Services services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

Backups Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_backups_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_backups_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_backups_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_backups_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_backups_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_backups_get_client_invoices

This Function Applies to the Backup Services services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

Backups Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_backups_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_backups_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_backups_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_backups_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_backups_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_backups_get_client_unpaid_invoices

This Function Applies to the Backup Services services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

Cancel License Ip

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$ip = $ARGV[2];
$type = $ARGV[3];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_cancel_license_ip($sid, $ip, $type);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_cancel_license_ip()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_cancel_license_ip, message: { 
    sid: ARGV[0], 
    ip: ARGV[1], 
    type: ARGV[2], 
})
print response.body[:api_cancel_license_ip_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$ip = $_SERVER['argv'][3];
$type = $_SERVER['argv'][4];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_cancel_license_ip($sid, $ip, $type);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_cancel_license_ip

Cancel a License by IP and Type.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
ip string IP Address to cancel
type int Package ID. use get_license_types to get a list of possible types.

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text Invalid License IP/Type

Cancel License

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_cancel_license($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_cancel_license()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_cancel_license, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_cancel_license_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_cancel_license($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_cancel_license

Cancel a License.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int License Order ID

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text Invalid License ID

Domains Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_domains_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_domains_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_domains_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_domains_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_domains_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_domains_cancel_service

This Function Applies to the Domain Registrations services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

Domains Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_domains_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_domains_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_domains_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_domains_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_domains_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_domains_get_client_invoices

This Function Applies to the Domain Registrations services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

Domains Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_domains_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_domains_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_domains_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_domains_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_domains_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_domains_get_client_unpaid_invoices

This Function Applies to the Domain Registrations services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

Get Paypal Url

#!/usr/bin/perl -w
use SOAP::Lite;

$module = $ARGV[0];
$invoice = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> api_get_paypal_url($module, $invoice);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info

result = client.service.api_get_paypal_url()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(
  :api_get_paypal_url, message: { 
    module: ARGV[0], 
    invoice: ARGV[1], 
})
print response.body[:api_get_paypal_url_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$module = $_SERVER['argv'][1];
$invoice = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->api_get_paypal_url($module, $invoice);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_get_paypal_url

Get the PayPal payment URL for an invoice on a given module.

Input Parameters

Parameter Type Description
module string the module the invoice is for. use get_modules to get a list of modules
invoice int the invoice id, or a comma seperated list of invoice ids to get a payment url for.

Output Fields

Field Type Description
return string the paypal payment url.

Example API Response

Type Value
String Click Here to make a PayPal payment

Get Prepay List

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_get_prepay_list($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_get_prepay_list()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_get_prepay_list, message: { 
    sid: ARGV[0], 
})
print response.body[:api_get_prepay_list_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_get_prepay_list($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_get_prepay_list

Gets a list of your current prepays added into the system and how much is left

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
prepay_id int
prepay_type int
prepay_status string
prepay_date string
prepay_created string
prepay_amount float
prepay_remaining float
prepay_service int
prepay_automatic_use int
prepay_module string

Example API Response

Prepay Id Prepay Type Prepay Status Prepay Date Prepay Created Prepay Amount Prepay Remaining Prepay Service Prepay Automatic Use Prepay Module
1116 -1 2015-10-29 23:06:37 2015-10-29 23:06:37 10 0 0 1 domains
1117 -1 2015-10-29 23:10:23 2015-10-29 23:10:23 10 0 0 1 domains
1118 -1 2015-10-29 23:26:52 2015-10-29 23:26:52 10 0 0 1 domains
1119 -1 2015-10-29 23:28:27 2015-10-29 23:28:27 10 0 0 1 domains
1120 -1 2015-10-29 23:36:50 2015-10-29 23:36:50 10 0 0 1 domains
1121 -1 2015-10-29 23:44:48 2015-10-29 23:44:48 10 0 0 1 domains
1122 -1 2015-10-29 23:52:55 2015-10-29 23:52:55 10 0 0 1 domains
1123 -1 2015-10-29 23:57:24 2015-10-29 23:57:24 10 0 0 1 domains
1124 -1 2015-10-29 23:58:56 2015-10-29 23:58:56 10 0 0 1 domains
1125 -1 2015-10-30 00:03:50 2015-10-30 00:03:50 10 0 0 1 domains
1126 -1 2015-10-30 00:04:34 2015-10-30 00:04:34 10 0 0 1 domains
1127 -1 2015-10-30 00:29:32 2015-10-30 00:29:32 10 0 0 1 domains
1128 -1 2015-10-30 00:31:38 2015-10-30 00:31:38 10 0 0 1 domains
1129 -1 2015-10-30 00:48:41 2015-10-30 00:48:41 10 0 0 1 domains
1130 -1 2015-10-30 01:02:53 2015-10-30 01:02:53 10 0 0 1 domains
1131 -1 2015-10-30 01:09:31 2015-10-30 01:09:31 10 0 0 1 domains
1132 -1 2015-10-30 01:13:03 2015-10-30 01:13:03 10 0 0 1 domains
1133 -1 2015-10-30 01:14:30 2015-10-30 01:14:30 10 0 0 1 domains
1134 -1 2015-10-30 01:15:18 2015-10-30 01:15:18 10 0 0 1 domains
1135 -1 2015-10-30 01:17:42 2015-10-30 01:17:42 10 0 0 1 domains
1136 -1 2015-10-30 01:18:04 2015-10-30 01:18:04 10 0 0 1 domains
1137 -1 2015-10-30 01:19:13 2015-10-30 01:19:13 10 0 0 1 domains
1138 -1 2015-10-30 01:20:54 2015-10-30 01:20:54 10 0 0 1 domains
1139 -1 2015-10-30 01:21:19 2015-10-30 01:21:19 10 0 0 1 domains
1140 -1 2015-10-30 01:22:44 2015-10-30 01:22:44 10 0 0 1 domains
1141 -1 2015-10-30 01:40:44 2015-10-30 01:40:44 10 0 0 1 domains
1142 -1 2015-10-30 01:54:02 2015-10-30 01:54:02 10 0 0 1 domains
1143 -1 2015-10-30 02:01:25 2015-10-30 02:01:25 10 0 0 1 domains
1144 -1 2015-10-30 02:15:47 2015-10-30 02:15:47 10 0 0 1 domains
1145 -1 2015-10-30 02:23:04 2015-10-30 02:23:04 10 0 0 1 domains
1146 -1 2015-10-30 02:26:35 2015-10-30 02:26:35 10 0 0 1 domains
1147 -1 2015-10-30 02:36:40 2015-10-30 02:36:40 10 0 0 1 domains
1148 -1 2015-10-30 02:39:59 2015-10-30 02:39:59 10 0 0 1 domains
1149 -1 2015-10-30 02:42:15 2015-10-30 02:42:15 10 0 0 1 domains
1150 -1 2015-10-30 02:44:05 2015-10-30 02:44:05 10 0 0 1 domains
1151 -1 2015-10-30 02:56:59 2015-10-30 02:56:59 10 0 0 1 domains
1152 -1 2015-10-30 04:27:34 2015-10-30 04:27:34 10 0 0 1 domains
1156 -1 2015-10-30 14:48:00 2015-10-30 14:48:00 10 0 0 1 domains
1157 -1 2015-10-30 14:55:41 2015-10-30 14:55:41 10 0 0 1 domains
1158 -1 2015-10-30 14:55:57 2015-10-30 14:55:57 10 0 0 1 domains
1159 -1 2015-10-30 15:00:26 2015-10-30 15:00:26 10 0 0 1 domains
1160 -1 2015-10-30 15:01:13 2015-10-30 15:01:13 10 0 0 1 domains
1161 -1 2015-10-30 15:02:57 2015-10-30 15:02:57 10 0 0 1 domains
1162 -1 2015-10-30 15:05:15 2015-10-30 15:05:15 10 0 0 1 domains
1163 -1 2015-10-30 15:08:01 2015-10-30 15:08:01 10 0 0 1 domains
1164 -1 2015-10-30 15:15:26 2015-10-30 15:15:26 10 0 0 1 domains
1165 -1 2015-10-30 15:21:50 2015-10-30 15:21:50 10 0 0 1 domains
1166 -1 2015-10-30 15:27:48 2015-10-30 15:27:48 10 0 0 1 domains
1167 -1 2015-10-30 15:29:10 2015-10-30 15:29:10 10 0 0 1 domains
1168 -1 2015-10-30 15:29:23 2015-10-30 15:29:23 10 0 0 1 domains
1169 -1 2015-10-30 15:29:43 2015-10-30 15:29:43 10 0 0 1 domains
1170 -1 2015-10-30 15:29:52 2015-10-30 15:29:52 109 0 0 0 domains
1171 -1 2015-10-30 15:29:55 2015-10-30 15:29:55 109 0 0 0 domains
1172 -1 2015-10-30 15:29:57 2015-10-30 15:29:57 10 0 0 0 domains
1173 -1 2015-10-30 15:35:31 2015-10-30 15:35:31 10 0 0 1 domains
1174 -1 2015-10-30 15:44:53 2015-10-30 15:44:53 10 0 0 1 domains
1175 -1 2015-10-30 15:45:06 2015-10-30 15:45:06 10 0 0 1 domains
1176 -1 2015-10-30 15:45:44 2015-10-30 15:45:44 10 0 0 1 domains
1177 -1 2015-10-30 15:48:39 2015-10-30 15:48:39 10 0 0 1 domains
1178 -1 2015-10-30 15:50:22 2015-10-30 15:50:22 10 0 0 1 domains
1179 -1 2015-10-30 15:51:26 2015-10-30 15:51:26 10 0 0 1 domains
1180 -1 2015-10-30 15:52:00 2015-10-30 15:52:00 10 0 0 1 domains
1181 -1 2015-10-30 15:53:00 2015-10-30 15:53:00 10 0 0 1 domains
1182 -1 2015-10-30 16:26:46 2015-10-30 16:26:46 10 0 0 1 domains
1246 -1 2015-11-03 11:21:14 2015-11-03 11:21:14 10 0 0 1 domains
1247 -1 2015-11-03 12:28:39 2015-11-03 12:28:39 10 0 0 1 domains
1248 -1 2015-11-03 12:31:39 2015-11-03 12:31:39 10 0 0 1 domains
1249 -1 2015-11-03 12:34:45 2015-11-03 12:34:45 10 0 0 1 domains
1250 -1 2015-11-03 12:38:22 2015-11-03 12:38:22 10 0 0 1 domains
1251 -1 2015-11-03 12:41:20 2015-11-03 12:41:20 10 0 0 1 domains
1253 -1 2015-11-03 12:44:51 2015-11-03 12:44:51 10 0 0 1 domains
1254 -1 2015-11-03 12:50:16 2015-11-03 12:50:16 10 0 0 1 domains
1255 -1 2015-11-03 13:35:18 2015-11-03 13:35:18 10 0 0 1 domains
1256 -1 2015-11-03 13:44:03 2015-11-03 13:44:03 10 0 0 1 domains
1257 -1 2015-11-03 13:46:17 2015-11-03 13:46:17 10 0 0 1 domains
1258 -1 2015-11-03 13:48:09 2015-11-03 13:48:09 10 0 0 1 domains
1259 -1 2015-11-03 13:51:14 2015-11-03 13:51:14 10 0 0 1 domains
1260 -1 2015-11-03 13:59:41 2015-11-03 13:59:41 10 0 0 1 domains
1261 -1 2015-11-03 13:59:52 2015-11-03 13:59:52 10 0 0 1 domains
1262 -1 2015-11-03 14:02:00 2015-11-03 14:02:00 10 0 0 1 domains
1263 -1 2015-11-03 14:03:35 2015-11-03 14:03:35 10 0 0 1 domains
1264 -1 2015-11-03 14:04:33 2015-11-03 14:04:33 10 0 0 1 domains
1265 -1 2015-11-03 14:06:21 2015-11-03 14:06:21 10 0 0 1 domains
1266 -1 2015-11-03 14:08:45 2015-11-03 14:08:45 10 0 0 1 domains
1267 -1 2015-11-03 14:15:31 2015-11-03 14:15:31 10 0 0 1 domains
1268 -1 2015-11-03 14:30:40 2015-11-03 14:30:40 10 0 0 1 domains
1269 -1 2015-11-03 14:31:36 2015-11-03 14:31:36 10 0 0 1 domains
1270 -1 2015-11-03 14:36:05 2015-11-03 14:36:05 10 0 0 1 domains
1271 -1 2015-11-03 16:47:31 2015-11-03 16:47:31 10 0 0 1 domains
1272 -1 2015-11-03 16:52:46 2015-11-03 16:52:46 10 0 0 1 domains
1273 -1 2015-11-03 16:58:52 2015-11-03 16:58:52 10 0 0 1 domains
1274 -1 2015-11-03 17:01:43 2015-11-03 17:01:43 10 0 0 1 domains

Get Prepay Paypal Fill Url

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$module = $ARGV[2];
$prepay_id = $ARGV[3];
$amount = $ARGV[4];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_get_prepay_paypal_fill_url($sid, $module, $prepay_id, $amount);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_get_prepay_paypal_fill_url()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_get_prepay_paypal_fill_url, message: { 
    sid: ARGV[0], 
    module: ARGV[1], 
    prepay_id: ARGV[2], 
    amount: ARGV[3], 
})
print response.body[:api_get_prepay_paypal_fill_url_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$module = $_SERVER['argv'][3];
$prepay_id = $_SERVER['argv'][4];
$amount = $_SERVER['argv'][5];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_get_prepay_paypal_fill_url($sid, $module, $prepay_id, $amount);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_get_prepay_paypal_fill_url

Gets a PayPal URL to fill a PrePay.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
module string the module the prepay is for. use get_modules to get a list of modules
prepay_id int the ID of the PrePay
amount float the amount to pay on the prepay.

Output Fields

Field Type Description
return string a paypal payment url.

Example API Response

Type Value
String https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=vps@interserver.net&item_name=Fill+domains+PrePay+100&custom=PREPAYdomains100&buyer_credit_promo_code=&buyer_credit_product_category=&buyer_credit_shipping_method=&buyer_credit_user_address_change=&amount=10.00&no_shipping=0&no_note=1&currency_code=USD&lc=US&bn=PP%2dBuyNowBF&charset=UTF%2d8

Get Prepay Remaining

#!/usr/bin/perl -w
use SOAP::Lite;

$module = $ARGV[0];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> api_get_prepay_remaining($module);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info

result = client.service.api_get_prepay_remaining()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(
  :api_get_prepay_remaining, message: { 
    module: ARGV[0], 
})
print response.body[:api_get_prepay_remaining_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$module = $_SERVER['argv'][1];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->api_get_prepay_remaining($module);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_get_prepay_remaining

Get the PrePay amount available for a given module.

Input Parameters

Parameter Type Description
module string the module you want to check your prepay amounts on

Output Fields

Field Type Description
return string

Example API Response

Type Value
String Array

Licenses Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_licenses_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_licenses_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_licenses_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_licenses_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_licenses_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_licenses_cancel_service

This Function Applies to the Licensing services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

Licenses Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_licenses_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_licenses_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_licenses_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_licenses_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_licenses_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_licenses_get_client_invoices

This Function Applies to the Licensing services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

Example API Response

Invoices Id Invoices Description Invoices Amount Invoices Custid Invoices Type Invoices Date Invoices Group Invoices Extra Invoices Paid Invoices Module Invoices Due Date
2514249 (Repeat Invoice: 2504689) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 14:55:40 0 2504689 0 licenses 2015-11-08 14:55:40
2514250 (Repeat Invoice: 2504690) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 14:55:56 0 2504690 0 licenses 2015-11-08 14:55:56
2514251 (Repeat Invoice: 2504691) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:00:25 0 2504691 0 licenses 2015-11-08 15:00:25
2514252 (Repeat Invoice: 2504692) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:01:12 0 2504692 0 licenses 2015-11-08 15:01:12
2514255 (Repeat Invoice: 2504694) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:02:56 0 2504694 0 licenses 2015-11-08 15:02:56
2514256 (Repeat Invoice: 2504695) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:05:14 0 2504695 0 licenses 2015-11-08 15:05:14
2514257 (Repeat Invoice: 2504696) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:15:25 0 2504696 0 licenses 2015-11-08 15:15:25
2514258 (Repeat Invoice: 2504697) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:21:50 0 2504697 0 licenses 2015-11-08 15:21:50
2514259 (Repeat Invoice: 2504698) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:27:46 0 2504698 0 licenses 2015-11-08 15:27:46
2514262 (Repeat Invoice: 2504700) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:35:30 0 2504700 0 licenses 2015-11-08 15:35:30
2514263 (Repeat Invoice: 2504701) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:48:38 0 2504701 0 licenses 2015-11-08 15:48:38
2514264 (Repeat Invoice: 2504702) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:50:21 0 2504702 0 licenses 2015-11-08 15:50:21
2514265 (Repeat Invoice: 2504703) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:51:59 0 2504703 0 licenses 2015-11-08 15:51:59
2514266 (Repeat Invoice: 2504704) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 16:26:45 0 2504704 0 licenses 2015-11-08 16:26:45
2515314 (Repeat Invoice: 2504881) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 11:21:14 0 2504881 0 licenses 2015-11-12 11:21:14
2515335 (Repeat Invoice: 2504886) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:28:38 0 2504886 0 licenses 2015-11-12 12:28:38
2515336 (Repeat Invoice: 2504887) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:31:38 0 2504887 0 licenses 2015-11-12 12:31:38
2515340 (Repeat Invoice: 2504890) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:34:44 0 2504890 0 licenses 2015-11-12 12:34:44
2515341 (Repeat Invoice: 2504891) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:38:22 0 2504891 0 licenses 2015-11-12 12:38:22
2515343 (Repeat Invoice: 2504892) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:41:19 0 2504892 0 licenses 2015-11-12 12:41:19
2515347 (Repeat Invoice: 2504895) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:44:51 0 2504895 0 licenses 2015-11-12 12:44:51
2515351 (Repeat Invoice: 2504897) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:50:15 0 2504897 0 licenses 2015-11-12 12:50:15
2515359 (Repeat Invoice: 2504902) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:35:17 0 2504902 0 licenses 2015-11-12 13:35:17
2515362 (Repeat Invoice: 2504904) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:44:02 0 2504904 0 licenses 2015-11-12 13:44:02
2515363 (Repeat Invoice: 2504905) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:46:16 0 2504905 0 licenses 2015-11-12 13:46:16
2515364 (Repeat Invoice: 2504906) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:48:08 0 2504906 0 licenses 2015-11-12 13:48:08
2515365 (Repeat Invoice: 2504907) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:51:13 0 2504907 0 licenses 2015-11-12 13:51:13
2515366 (Repeat Invoice: 2504908) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:59:40 0 2504908 0 licenses 2015-11-12 13:59:40
2515367 (Repeat Invoice: 2504909) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:59:51 0 2504909 0 licenses 2015-11-12 13:59:51
2515368 (Repeat Invoice: 2504910) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:01:59 0 2504910 0 licenses 2015-11-12 14:01:59
2515369 (Repeat Invoice: 2504911) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:03:34 0 2504911 0 licenses 2015-11-12 14:03:34
2515370 (Repeat Invoice: 2504912) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:04:33 0 2504912 0 licenses 2015-11-12 14:04:33
2515371 (Repeat Invoice: 2504913) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:06:20 0 2504913 0 licenses 2015-11-12 14:06:20
2515372 (Repeat Invoice: 2504914) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:08:44 0 2504914 0 licenses 2015-11-12 14:08:44
2515373 (Repeat Invoice: 2504915) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:15:31 0 2504915 0 licenses 2015-11-12 14:15:31
2515375 (Repeat Invoice: 2504916) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:30:39 0 2504916 0 licenses 2015-11-12 14:30:39
2515376 (Repeat Invoice: 2504917) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:31:35 0 2504917 0 licenses 2015-11-12 14:31:35
2515377 (Repeat Invoice: 2504918) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:36:04 0 2504918 0 licenses 2015-11-12 14:36:04
2515389 (Repeat Invoice: 2504927) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 16:47:30 0 2504927 0 licenses 2015-11-12 16:47:30
2515392 (Repeat Invoice: 2504929) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 16:52:45 0 2504929 0 licenses 2015-11-12 16:52:45
2515393 (Repeat Invoice: 2504930) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 16:58:51 0 2504930 0 licenses 2015-11-12 16:58:51
2515394 (Repeat Invoice: 2504931) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 17:01:43 0 2504931 0 licenses 2015-11-12 17:01:43

Licenses Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_licenses_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_licenses_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_licenses_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_licenses_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_licenses_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_licenses_get_client_unpaid_invoices

This Function Applies to the Licensing services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

Example API Response

Invoices Id Invoices Description Invoices Amount Invoices Custid Invoices Type Invoices Date Invoices Group Invoices Extra Invoices Paid Invoices Module Invoices Due Date
2514249 (Repeat Invoice: 2504689) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 14:55:40 0 2504689 0 licenses 2015-11-08 14:55:40
2514250 (Repeat Invoice: 2504690) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 14:55:56 0 2504690 0 licenses 2015-11-08 14:55:56
2514251 (Repeat Invoice: 2504691) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:00:25 0 2504691 0 licenses 2015-11-08 15:00:25
2514252 (Repeat Invoice: 2504692) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:01:12 0 2504692 0 licenses 2015-11-08 15:01:12
2514255 (Repeat Invoice: 2504694) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:02:56 0 2504694 0 licenses 2015-11-08 15:02:56
2514256 (Repeat Invoice: 2504695) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:05:14 0 2504695 0 licenses 2015-11-08 15:05:14
2514257 (Repeat Invoice: 2504696) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:15:25 0 2504696 0 licenses 2015-11-08 15:15:25
2514258 (Repeat Invoice: 2504697) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:21:50 0 2504697 0 licenses 2015-11-08 15:21:50
2514259 (Repeat Invoice: 2504698) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:27:46 0 2504698 0 licenses 2015-11-08 15:27:46
2514262 (Repeat Invoice: 2504700) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:35:30 0 2504700 0 licenses 2015-11-08 15:35:30
2514263 (Repeat Invoice: 2504701) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:48:38 0 2504701 0 licenses 2015-11-08 15:48:38
2514264 (Repeat Invoice: 2504702) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:50:21 0 2504702 0 licenses 2015-11-08 15:50:21
2514265 (Repeat Invoice: 2504703) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:51:59 0 2504703 0 licenses 2015-11-08 15:51:59
2514266 (Repeat Invoice: 2504704) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 16:26:45 0 2504704 0 licenses 2015-11-08 16:26:45
2515314 (Repeat Invoice: 2504881) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 11:21:14 0 2504881 0 licenses 2015-11-12 11:21:14
2515335 (Repeat Invoice: 2504886) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:28:38 0 2504886 0 licenses 2015-11-12 12:28:38
2515336 (Repeat Invoice: 2504887) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:31:38 0 2504887 0 licenses 2015-11-12 12:31:38
2515340 (Repeat Invoice: 2504890) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:34:44 0 2504890 0 licenses 2015-11-12 12:34:44
2515341 (Repeat Invoice: 2504891) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:38:22 0 2504891 0 licenses 2015-11-12 12:38:22
2515343 (Repeat Invoice: 2504892) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:41:19 0 2504892 0 licenses 2015-11-12 12:41:19
2515347 (Repeat Invoice: 2504895) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:44:51 0 2504895 0 licenses 2015-11-12 12:44:51
2515351 (Repeat Invoice: 2504897) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 12:50:15 0 2504897 0 licenses 2015-11-12 12:50:15
2515359 (Repeat Invoice: 2504902) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:35:17 0 2504902 0 licenses 2015-11-12 13:35:17
2515362 (Repeat Invoice: 2504904) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:44:02 0 2504904 0 licenses 2015-11-12 13:44:02
2515363 (Repeat Invoice: 2504905) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:46:16 0 2504905 0 licenses 2015-11-12 13:46:16
2515364 (Repeat Invoice: 2504906) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:48:08 0 2504906 0 licenses 2015-11-12 13:48:08
2515365 (Repeat Invoice: 2504907) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:51:13 0 2504907 0 licenses 2015-11-12 13:51:13
2515366 (Repeat Invoice: 2504908) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:59:40 0 2504908 0 licenses 2015-11-12 13:59:40
2515367 (Repeat Invoice: 2504909) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 13:59:51 0 2504909 0 licenses 2015-11-12 13:59:51
2515368 (Repeat Invoice: 2504910) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:01:59 0 2504910 0 licenses 2015-11-12 14:01:59
2515369 (Repeat Invoice: 2504911) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:03:34 0 2504911 0 licenses 2015-11-12 14:03:34
2515370 (Repeat Invoice: 2504912) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:04:33 0 2504912 0 licenses 2015-11-12 14:04:33
2515371 (Repeat Invoice: 2504913) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:06:20 0 2504913 0 licenses 2015-11-12 14:06:20
2515372 (Repeat Invoice: 2504914) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:08:44 0 2504914 0 licenses 2015-11-12 14:08:44
2515373 (Repeat Invoice: 2504915) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:15:31 0 2504915 0 licenses 2015-11-12 14:15:31
2515375 (Repeat Invoice: 2504916) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:30:39 0 2504916 0 licenses 2015-11-12 14:30:39
2515376 (Repeat Invoice: 2504917) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:31:35 0 2504917 0 licenses 2015-11-12 14:31:35
2515377 (Repeat Invoice: 2504918) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 14:36:04 0 2504918 0 licenses 2015-11-12 14:36:04
2515389 (Repeat Invoice: 2504927) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 16:47:30 0 2504927 0 licenses 2015-11-12 16:47:30
2515392 (Repeat Invoice: 2504929) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 16:52:45 0 2504929 0 licenses 2015-11-12 16:52:45
2515393 (Repeat Invoice: 2504930) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 16:58:51 0 2504930 0 licenses 2015-11-12 16:58:51
2515394 (Repeat Invoice: 2504931) INTERSERVER-EXTERNAL 34.95 160884 1 2015-11-03 17:01:43 0 2504931 0 licenses 2015-11-12 17:01:43

Make Payment

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$module = $ARGV[2];
$invoice = $ARGV[3];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_make_payment($sid, $module, $invoice);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_make_payment()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_make_payment, message: { 
    sid: ARGV[0], 
    module: ARGV[1], 
    invoice: ARGV[2], 
})
print response.body[:api_make_payment_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$module = $_SERVER['argv'][3];
$invoice = $_SERVER['argv'][4];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_make_payment($sid, $module, $invoice);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_make_payment

Makes a payment for an invoice on a module.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
module string the module of the service being paid on
invoice int the invoice id you want to make a payment on

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text Invalid Invoice Number Passed or missing Module information.

Quickservers Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_quickservers_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_quickservers_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_quickservers_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_quickservers_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_quickservers_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_quickservers_cancel_service

This Function Applies to the QuickServers services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

Quickservers Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_quickservers_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_quickservers_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_quickservers_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_quickservers_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_quickservers_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_quickservers_get_client_invoices

This Function Applies to the QuickServers services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

Quickservers Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_quickservers_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_quickservers_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_quickservers_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_quickservers_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_quickservers_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_quickservers_get_client_unpaid_invoices

This Function Applies to the QuickServers services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

SSL Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_ssl_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_ssl_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_ssl_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_ssl_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_ssl_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_ssl_cancel_service

This Function Applies to the SSL Certificates services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

SSL Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_ssl_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_ssl_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_ssl_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_ssl_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_ssl_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_ssl_get_client_invoices

This Function Applies to the SSL Certificates services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

SSL Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_ssl_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_ssl_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_ssl_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_ssl_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_ssl_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_ssl_get_client_unpaid_invoices

This Function Applies to the SSL Certificates services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

VPS Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_cancel_service

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean 1

VPS Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_vps_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_get_client_invoices

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

VPS Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_vps_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_get_client_unpaid_invoices

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

Webhosting Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_webhosting_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_cancel_service

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

Webhosting Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_webhosting_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_get_client_invoices

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

Webhosting Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_webhosting_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_get_client_unpaid_invoices

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

General

Get Ima

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_get_ima($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_get_ima()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_get_ima, message: { 
    sid: ARGV[0], 
})
print response.body[:api_get_ima_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_get_ima($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_get_ima

Returns the IMA value. This function tells you that I'm a client, or I'm a

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
return string

Login

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> api_login($username, $password);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info

result = client.service.api_login()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(
  :api_login, message: { 
    username: ARGV[0], 
    password: ARGV[1], 
})
print response.body[:api_login_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->api_login($username, $password);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_login

This function creates a session in our system which you will need to pass to

Input Parameters

Parameter Type Description
username string the username (email address) you signed up with.
password string the password you use to login to the web account, or alternatively the API key.

Output Fields

Field Type Description
return string

Example API Response

Type Value
String 1400d4e56fe72cd483fb5d5328fb2779

Get Hostname

#!/usr/bin/perl -w
use SOAP::Lite;

$ip = $ARGV[0];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> get_hostname($ip);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info

result = client.service.get_hostname()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(
  :get_hostname, message: { 
    ip: ARGV[0], 
})
print response.body[:get_hostname_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$ip = $_SERVER['argv'][1];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->get_hostname($ip);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: get_hostname

Resolves an IP Address and returns the hostname it points to.

Input Parameters

Parameter Type Description
ip string IP Address

Output Fields

Field Type Description
return string

Example API Response

Type Value
String my.interserver.net

Get Locked Ips

#!/usr/bin/perl -w
use SOAP::Lite;

$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> get_locked_ips();
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
result = client.service.get_locked_ips()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(:get_locked_ips)
print response.body[:get_locked_ips_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->get_locked_ips();
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: get_locked_ips

This will return a list of all IP addresses used for fraud. Its probably of no

Input

This function takes no input parameters

Output Fields

Field Type Description
return array Array of IP Addresses

Example API Response

Value
0.0.214.110
0.155.34.18
1.10.217.123
1.120.165.35
1.187.113.69
1.187.160.99
1.187.161.30
1.187.167.191
1.187.169.215
1.187.178.73
1.187.184.93

Get Modules

#!/usr/bin/perl -w
use SOAP::Lite;

$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> get_modules();
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
result = client.service.get_modules()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(:get_modules)
print response.body[:get_modules_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->get_modules();
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: get_modules

Returns a list of all the modules available.

Input

This function takes no input parameters

Output Fields

Field Type Description
return array

Example API Response

Value
domains
vps
backups
licenses
ssl
webhosting
quickservers

StrPixels

#!/usr/bin/perl -w
use SOAP::Lite;

$string = $ARGV[0];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> strPixels($string);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info

result = client.service.strPixels()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(
  :strPixels, message: { 
    string: ARGV[0], 
})
print response.body[:strPixels_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$string = $_SERVER['argv'][1];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->strPixels($string);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: strPixels

This function uses the array below to calculate the pixel width of a string of

Input Parameters

Parameter Type Description
string string characters to measure size

Output Fields

Field Type Description
return int size in pixels.

Example API Response

Type Value
Integer 64

Support

GetTicketList

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$page = $ARGV[2];
$limit = $ARGV[3];
$status = $ARGV[4];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_getTicketList($sid, $page, $limit, $status);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_getTicketList()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_getTicketList, message: { 
    sid: ARGV[0], 
    page: ARGV[1], 
    limit: ARGV[2], 
    status: ARGV[3], 
})
print response.body[:api_getTicketList_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$page = $_SERVER['argv'][3];
$limit = $_SERVER['argv'][4];
$status = $_SERVER['argv'][5];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_getTicketList($sid, $page, $limit, $status);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_getTicketList

Returns a list of any tickets in the system.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
page int page number of tickets to list
limit int how many tickets to show per page
status string null for no status limi t or limit to a speicifc status

Output Fields

Field Type Description
status string null for no status limi t or limit to a speicifc status
status_text string
totalPages string
tickets tns:getTicketList_tickets

Example API Response

Field Value
status ok
status_text List of tickets
totalPages 0
tickets Array

OpenTicket

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$user_email = $ARGV[2];
$user_ip = $ARGV[3];
$subject = $ARGV[4];
$product = $ARGV[5];
$body = $ARGV[6];
$box_auth_value = $ARGV[7];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_openTicket($sid, $user_email, $user_ip, $subject, $product, $body, $box_auth_value);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_openTicket()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_openTicket, message: { 
    sid: ARGV[0], 
    user_email: ARGV[1], 
    user_ip: ARGV[2], 
    subject: ARGV[3], 
    product: ARGV[4], 
    body: ARGV[5], 
    box_auth_value: ARGV[6], 
})
print response.body[:api_openTicket_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$user_email = $_SERVER['argv'][3];
$user_ip = $_SERVER['argv'][4];
$subject = $_SERVER['argv'][5];
$product = $_SERVER['argv'][6];
$body = $_SERVER['argv'][7];
$box_auth_value = $_SERVER['argv'][8];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_openTicket($sid, $user_email, $user_ip, $subject, $product, $body, $box_auth_value);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_openTicket

This command creates a new ticket in our system.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
user_email string client email address
user_ip string client ip address
subject string subject of the ticket
product string the product/service if any this is in reference to.
body string full content/description for the ticket
box_auth_value string encryption string?

Output Fields

Field Type Description
status string
status_text string
ticket_reference_id int

TicketPost

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$ticketID = $ARGV[2];
$content = $ARGV[3];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_ticketPost($sid, $ticketID, $content);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_ticketPost()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_ticketPost, message: { 
    sid: ARGV[0], 
    ticketID: ARGV[1], 
    content: ARGV[2], 
})
print response.body[:api_ticketPost_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$ticketID = $_SERVER['argv'][3];
$content = $_SERVER['argv'][4];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_ticketPost($sid, $ticketID, $content);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_ticketPost

This commands adds the content parameter as a response/reply to an existing

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
ticketID string the id of the ticket to add a response to. you can use getTicketList to get a list of your tickets
content string the message to add to the ticket

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status Failed
status_text Kayako exception occurred getting ticket detail. Please try again!

ViewTicket

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$ticketID = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_viewTicket($sid, $ticketID);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_viewTicket()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_viewTicket, message: { 
    sid: ARGV[0], 
    ticketID: ARGV[1], 
})
print response.body[:api_viewTicket_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$ticketID = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_viewTicket($sid, $ticketID);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_viewTicket

View/Retrieve information about the given ticketID.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
ticketID string the id of the ticket to retrieve. you can use getTicketList to get a list of your tickets

Output Fields

Field Type Description
status string
status_text string
result tns:view_ticketdetail_array

Example API Response

Field Value
status Failed
status_text Kayako exception occurred getting ticket details. Please try again!
result Array

VPS

Controlling the VPS

You can use the API to perform basic control functions on your VPS server.

Current commands include the ability to Stop, Start, and Restart the server using the vps_queue_stop, vps_queue_start, and vps_queue_restart function calls.
Some VPS types also allow you to use the vps_screenshot function to get a screenshot of whats currently on the VPS's screen.

Purchasing a VPS

The VPS order process is broken down into 2 functions.
After choosing the order parameters, you must first make a call to validate_buy_vps to check for any problems in the parameters.
The function will respond with an array containing an updated set of parameters (if any of them needed changed) and additional fields telling you if the order details were ok or a description of what problems there were in the order.
It also will return with sevral fields telling you how much it will cost initially , how much it will cost each time you are billed after the initial signup, and how often you are billed.
When you get an 'ok' as the 'status' response you can pass the parameters to the buy_vps function to place the order.

This function will also return a status field with 'ok' if the order was placed properly or 'error' otherwise and a description of any problems in status_text.

VPS Server Locations

Our more popular VPS types are available in multiple locations.

You should probably choose the location closest to you or your clients.

To get a list of the current locations use the get_vps_locations_array function.

Our primary datacenter location is in Secaucus, NJ (location id 1) and is probably the best choice if unsure what to choose.

Some of the VPS types might only be available at that location as well.

VPS Types and Pricing

We have several types of Servers available for use with VPS Hosting.
You can get a list of the types available and there cost per slice/unit by making a call to the get_vps_slice_types function.

Additionally you can get a list of the vps platforms with the get_vps_platforms_array function.

VPS Details

To get a list of all your current VPS's you can use the vps_get_services function and vps_get_service to get all the details for a given VPS.

Buy VPS Admin

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$os = $ARGV[2];
$slices = $ARGV[3];
$platform = $ARGV[4];
$controlpanel = $ARGV[5];
$period = $ARGV[6];
$location = $ARGV[7];
$version = $ARGV[8];
$hostname = $ARGV[9];
$coupon = $ARGV[10];
$rootpass = $ARGV[11];
$server = $ARGV[12];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_api_buy_vps_admin($sid, $os, $slices, $platform, $controlpanel, $period, $location, $version, $hostname, $coupon, $rootpass, $server);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_api_buy_vps_admin()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_api_buy_vps_admin, message: { 
    sid: ARGV[0], 
    os: ARGV[1], 
    slices: ARGV[2], 
    platform: ARGV[3], 
    controlpanel: ARGV[4], 
    period: ARGV[5], 
    location: ARGV[6], 
    version: ARGV[7], 
    hostname: ARGV[8], 
    coupon: ARGV[9], 
    rootpass: ARGV[10], 
    server: ARGV[11], 
})
print response.body[:api_api_buy_vps_admin_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$os = $_SERVER['argv'][3];
$slices = $_SERVER['argv'][4];
$platform = $_SERVER['argv'][5];
$controlpanel = $_SERVER['argv'][6];
$period = $_SERVER['argv'][7];
$location = $_SERVER['argv'][8];
$version = $_SERVER['argv'][9];
$hostname = $_SERVER['argv'][10];
$coupon = $_SERVER['argv'][11];
$rootpass = $_SERVER['argv'][12];
$server = $_SERVER['argv'][13];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_api_buy_vps_admin($sid, $os, $slices, $platform, $controlpanel, $period, $location, $version, $hostname, $coupon, $rootpass, $server);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_api_buy_vps_admin

Purchase a VPS (admins only). Returns a comma seperated list of invoices if

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
os string file field from get_vps_templates
slices int 1 to 16 specifying the scale of the VPS resources you want (a 3 slice has 3x the resources of a 1 slice vps)
platform string platform field from the get_vps_platforms_array
controlpanel string none, cpanel, or da for None, cPanel, or DirectAdmin control panel addons, only available with CentOS
period int 1-36, How frequently to be billed in months. Some discounts as given based on the period
location int id field from the get_vps_locations_array
version int os field from get_vps_templates
hostname string Desired Hostname for the VPS
coupon string Optional Coupon to pass
rootpass string Desired Root Password (unused for windows, send a blank string)
server int 0 for auto assign otherwise the id of the vps master to put this on

Output Fields

Field Type Description
status string
status_text string
invoices string Array
cost float

Example API Response

Field Value
status error
status_text Password must contain atleast 8 characters, one lowercase letter, one uppercase letter, one number, a special character and autogenerated password filled in it.
invoices
cost 6

Buy VPS

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$os = $ARGV[2];
$slices = $ARGV[3];
$platform = $ARGV[4];
$controlpanel = $ARGV[5];
$period = $ARGV[6];
$location = $ARGV[7];
$version = $ARGV[8];
$hostname = $ARGV[9];
$coupon = $ARGV[10];
$rootpass = $ARGV[11];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_api_buy_vps($sid, $os, $slices, $platform, $controlpanel, $period, $location, $version, $hostname, $coupon, $rootpass);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_api_buy_vps()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_api_buy_vps, message: { 
    sid: ARGV[0], 
    os: ARGV[1], 
    slices: ARGV[2], 
    platform: ARGV[3], 
    controlpanel: ARGV[4], 
    period: ARGV[5], 
    location: ARGV[6], 
    version: ARGV[7], 
    hostname: ARGV[8], 
    coupon: ARGV[9], 
    rootpass: ARGV[10], 
})
print response.body[:api_api_buy_vps_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$os = $_SERVER['argv'][3];
$slices = $_SERVER['argv'][4];
$platform = $_SERVER['argv'][5];
$controlpanel = $_SERVER['argv'][6];
$period = $_SERVER['argv'][7];
$location = $_SERVER['argv'][8];
$version = $_SERVER['argv'][9];
$hostname = $_SERVER['argv'][10];
$coupon = $_SERVER['argv'][11];
$rootpass = $_SERVER['argv'][12];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_api_buy_vps($sid, $os, $slices, $platform, $controlpanel, $period, $location, $version, $hostname, $coupon, $rootpass);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_api_buy_vps

Places a VPS order in our system. These are the same parameters as

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
os string file field from get_vps_templates
slices int 1 to 16 specifying the scale of the VPS resources you want (a 3 slice has 3x the resources of a 1 slice vps)
platform string platform field from the get_vps_platforms_array
controlpanel string none, cpanel, or da for None, cPanel, or DirectAdmin control panel addons, only available with CentOS
period int 1-36, How frequently to be billed in months. Some discounts as given based on the period
location int id field from the get_vps_locations_array
version string os field from get_vps_templates
hostname string Desired Hostname for the VPS
coupon string Optional Coupon to pass
rootpass string Desired Root Password (unused for windows, send a blank string)

Output Fields

Field Type Description
status string
status_text string
invoices string Array
cost float

Example API Response

Field Value
status error
status_text Password must contain atleast 8 characters, one lowercase letter, one uppercase letter, one number, a special character and autogenerated password filled in it.
invoices
cost 6

Validate Buy VPS

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$os = $ARGV[2];
$slices = $ARGV[3];
$platform = $ARGV[4];
$controlpanel = $ARGV[5];
$period = $ARGV[6];
$location = $ARGV[7];
$version = $ARGV[8];
$hostname = $ARGV[9];
$coupon = $ARGV[10];
$rootpass = $ARGV[11];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_api_validate_buy_vps($sid, $os, $slices, $platform, $controlpanel, $period, $location, $version, $hostname, $coupon, $rootpass);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_api_validate_buy_vps()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_api_validate_buy_vps, message: { 
    sid: ARGV[0], 
    os: ARGV[1], 
    slices: ARGV[2], 
    platform: ARGV[3], 
    controlpanel: ARGV[4], 
    period: ARGV[5], 
    location: ARGV[6], 
    version: ARGV[7], 
    hostname: ARGV[8], 
    coupon: ARGV[9], 
    rootpass: ARGV[10], 
})
print response.body[:api_api_validate_buy_vps_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$os = $_SERVER['argv'][3];
$slices = $_SERVER['argv'][4];
$platform = $_SERVER['argv'][5];
$controlpanel = $_SERVER['argv'][6];
$period = $_SERVER['argv'][7];
$location = $_SERVER['argv'][8];
$version = $_SERVER['argv'][9];
$hostname = $_SERVER['argv'][10];
$coupon = $_SERVER['argv'][11];
$rootpass = $_SERVER['argv'][12];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_api_validate_buy_vps($sid, $os, $slices, $platform, $controlpanel, $period, $location, $version, $hostname, $coupon, $rootpass);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_api_validate_buy_vps

Checks if the parameters for your order pass validation and let you know if

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
os string file field from get_vps_templates
slices int 1 to 16 specifying the scale of the VPS resources you want (a 3 slice has 3x the resources of a 1 slice vps)
platform string platform field from the get_vps_platforms_array
controlpanel string none, cpanel, or da for None, cPanel, or DirectAdmin control panel addons, only available with CentOS
period int 1-36, How frequently to be billed in months. Some discounts as given based on the period
location int id field from the get_vps_locations_array
version string os field from get_vps_templates
hostname string Desired Hostname for the VPS
coupon string Optional Coupon to pass
rootpass string Desired Root Password (unused for windows, send a blank string)

Output Fields

Field Type Description
coupon_code int
service_cost float
slice_cost float
service_type int
repeat_slice_cost float
original_slice_cost float
original_cost float
repeat_service_cost float
monthly_service_cost float
custid int
os string file field from get_vps_templates
slices int 1 to 16 specifying the scale of the VPS resources you want (a 3 slice has 3x the resources of a 1 slice vps)
platform string platform field from the get_vps_platforms_array
controlpanel string none, cpanel, or da for None, cPanel, or DirectAdmin control panel addons, only available with CentOS
period int 1-36, How frequently to be billed in months. Some discounts as given based on the period
location int id field from the get_vps_locations_array
version string os field from get_vps_templates
hostname string Desired Hostname for the VPS
coupon string Optional Coupon to pass
rootpass string Desired Root Password (unused for windows, send a blank string)
status_text string
status string

Example API Response

Field Value
coupon_code 0
service_cost 6
slice_cost 6
service_type 31
repeat_slice_cost 6
original_slice_cost 6
original_cost 6
repeat_service_cost 6
monthly_service_cost 6
custid 160884
os ubuntu-15.04-x86_64.tar.gz
slices 1
platform openvz
controlpanel none
period 1
location 1
version ubuntu
hostname myserver.mydomain.com
coupon
rootpass sampleP4ssw0rd
status_text Password must contain atleast 8 characters, one lowercase letter, one uppercase letter, one number, a special character and autogenerated password filled in it.
status error

VPS Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_cancel_service

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean 1

VPS Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_vps_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_get_client_invoices

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

VPS Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_vps_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_get_client_unpaid_invoices

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

VPS Get Server Name

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_get_server_name($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_get_server_name()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_get_server_name, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_get_server_name_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_get_server_name($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_get_server_name

Get the name of the vps master/host server your giving the id for

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int id of the vps master

Output Fields

Field Type Description
return string vps masters name

VPS Get Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_get_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_get_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_get_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_get_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_get_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_get_service

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int service id, such as VPS ID

Output Fields

Field Type Description
vps_id int Service ID
vps_server int
vps_vzid string
vps_type int Package ID
vps_cost float Service Cost
vps_custid int Customer ID
vps_ip string IP Address
vps_status string Billing Status
vps_invoice int Invoice ID
vps_coupon int Coupon ID
vps_extra string
vps_hostname string
vps_server_status string
vps_comment string

Example API Response

Field Value
vps_id 10000
vps_server 53
vps_vzid 10000
vps_type 32
vps_cost 22
vps_custid 11803
vps_ip 206.72.197.216
vps_status canceled
vps_invoice 1011318
vps_coupon 3507
vps_extra a:10:{s:8:"rootpass";s:0:"";s:2:"os";s:1:"5";s:6:"slices";i:2;s:8:"platform";s:3:"kvm";s:8:"location";i:1;s:7:"version";i:1;s:4:"name";s:12:"windows10000";s:8:"kmemsize";s:6:"752000";s:3:"mac";s:17:"52:54:00:60:52:f8";s:3:"vnc";s:2:"-1";}
vps_hostname windows10000
vps_server_status deleted
vps_comment

VPS Get Services

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_get_services($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_get_services()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_get_services, message: { 
    sid: ARGV[0], 
})
print response.body[:api_vps_get_services_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_get_services($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_get_services

This Function Applies to the VPS services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
vps_id int Service ID
vps_server int
vps_vzid string
vps_type int Package ID
vps_cost float Service Cost
vps_custid int Customer ID
vps_ip string IP Address
vps_status string Billing Status
vps_invoice int Invoice ID
vps_coupon int Coupon ID
vps_extra string
vps_hostname string
vps_server_status string
vps_comment string

VPS Queue Restart

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_queue_restart($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_queue_restart()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_queue_restart, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_queue_restart_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_queue_restart($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_queue_restart

restart a vps

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int defaults to false, if specifeid tries using that di instead of the one passed

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text That VPS Does Not Belong To Your

VPS Queue Start

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_queue_start($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_queue_start()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_queue_start, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_queue_start_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_queue_start($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_queue_start

start a vps

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int defaults to false, if specifeid tries using that di instead of the one passed

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text That VPS Does Not Belong To Your

VPS Queue Stop

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_queue_stop($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_queue_stop()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_queue_stop, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_queue_stop_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_queue_stop($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_queue_stop

stops a vps

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int defaults to false, if specifeid tries using that di instead of the one passed

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text That VPS Does Not Belong To You

VPS Screenshot

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_vps_screenshot($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_vps_screenshot()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_vps_screenshot, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_vps_screenshot_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_vps_screenshot($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_vps_screenshot

This command returns a link to an animated screenshot of your VPS. Only works

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int false to link to the image itself , otherwise a url

Output Fields

Field Type Description
status string
status_text string
url string
link string
js string

Example API Response

Field Value
status error
status_text Your VPS has no screenshots currently.
url
link
js

Get VPS Locations Array

#!/usr/bin/perl -w
use SOAP::Lite;

$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> get_vps_locations_array();
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
result = client.service.get_vps_locations_array()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(:get_vps_locations_array)
print response.body[:get_vps_locations_array_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->get_vps_locations_array();
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: get_vps_locations_array

Use this function to get a list of the Locations available for ordering. The id

Input

This function takes no input parameters

Output Fields

Field Type Description
id int Internal ID
name string

Example API Response

Id Name
1 Secaucus, NJ
2 Los Angeles, CA

Get VPS Platforms Array

#!/usr/bin/perl -w
use SOAP::Lite;

$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> get_vps_platforms_array();
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
result = client.service.get_vps_platforms_array()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(:get_vps_platforms_array)
print response.body[:get_vps_platforms_array_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->get_vps_platforms_array();
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: get_vps_platforms_array

Use this function to get a list of the various platforms available for ordering.

Input

This function takes no input parameters

Output Fields

Field Type Description
platform string
name string

Example API Response

Platform Name
openvz OpenVZ
kvm KVM
cloudkvm Cloud

Get VPS Slice Types

#!/usr/bin/perl -w
use SOAP::Lite;

$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> get_vps_slice_types();
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
result = client.service.get_vps_slice_types()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(:get_vps_slice_types)
print response.body[:get_vps_slice_types_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->get_vps_slice_types();
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: get_vps_slice_types

We have several types of Servers available for use with VPS Hosting. You can get

Input

This function takes no input parameters

Output Fields

Field Type Description
name string
type int
cost float
buyable int

Example API Response

Name Type Cost Buyable
OpenVZ VPS Slice 6 6 1
KVM Windows VPS Slice 1 10 1
KVM Linux VPS Slice 2 8 1
Cloud KVM Windows VPS Slice 3 22 1
Cloud KVM Linux VPS Slice 4 20 1
SSD OpenVZ VPS Slice 5 9 1
LXC VPS Slice 9 6 0
Xen Windows VPS Slice 7 6 0
Xen Linux VPS Slice 8 6 0
VMware VPS Slice 10 10 0
Hyper-V VPS Slice 11 10 0

Get VPS Templates

#!/usr/bin/perl -w
use SOAP::Lite;

$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> get_vps_templates();
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
result = client.service.get_vps_templates()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(:get_vps_templates)
print response.body[:get_vps_templates_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->get_vps_templates();
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: get_vps_templates

Get the currently available VPS templates for each server type.

Input

This function takes no input parameters

Output Fields

Field Type Description
type int
virtulization string
bits int
os string
version string
file string
title string

Example API Response

Type Virtulization Bits Os Version File Title
1 KVM Windows 64 windows 2012 windows2012 Windows 2012 64bit
1 KVM Windows 64 windows 2008 r2 windowsr2 Windows 2008 r2 64bit
2 KVM Linux 64 centos 7 centos55 CentOS 7 64bit
2 KVM Linux 64 centos 6 centos5 CentOS 6 64bit
2 KVM Linux 64 debian 7 debian6 Debian 7 64bit
2 KVM Linux 64 freepbx 6.6 freepbx FreePBX 6.6 64bit
2 KVM Linux 64 ubuntu 14.04 ubuntu10 Ubuntu 14.04 64bit
2 KVM Linux 64 ubuntu 14.04 Desktop ubuntudesktop Ubuntu 14.04 Desktop 64bit
2 KVM Linux 64 ubuntu 12.04 ubuntu12 Ubuntu 12.04 64bit
2 KVM Linux 64 ubuntu 10.04 ubuntu10 Ubuntu 10.04 64bit
5 SSD OpenVZ 64 centos 7 minimal centos-7-x86_64-minimal.tar.gz CentOS 7 minimal 64bit
5 SSD OpenVZ 64 centos 7 centos-7-x86_64.tar.gz CentOS 7 64bit
5 SSD OpenVZ 64 centos 6 minimal centos-6-x86_64-minimal.tar.gz CentOS 6 minimal 64bit
5 SSD OpenVZ 64 centos 6 devel centos-6-x86_64-devel.tar.gz CentOS 6 devel 64bit
5 SSD OpenVZ 64 centos 6 centos-6-x86_64.tar.gz CentOS 6 64bit
5 SSD OpenVZ 32 centos 6 minimal centos-6-x86-minimal.tar.gz CentOS 6 minimal 32bit
5 SSD OpenVZ 32 centos 6 devel centos-6-x86-devel.tar.gz CentOS 6 devel 32bit
5 SSD OpenVZ 32 centos 6 centos-6-x86.tar.gz CentOS 6 32bit
5 SSD OpenVZ 64 centos 5 devel centos-5-x86_64-devel.tar.gz CentOS 5 devel 64bit
5 SSD OpenVZ 64 centos 5 centos-5-x86_64.tar.gz CentOS 5 64bit
5 SSD OpenVZ 32 centos 5 devel centos-5-x86-devel.tar.gz CentOS 5 devel 32bit
5 SSD OpenVZ 32 centos 5 centos-5-x86.tar.gz CentOS 5 32bit
5 SSD OpenVZ 64 centos 7 nginxwordpress centos-7-x86_64-nginxwordpress.tar.gz CentOS 7 nginxwordpress 64bit (http:mirror.trouble-free.netmyadminopenvz)
5 SSD OpenVZ 64 debian 8.0 minimal debian-8.0-x86_64-minimal.tar.gz Debian 8.0 minimal 64bit
5 SSD OpenVZ 64 debian 8.0 debian-8.0-x86_64.tar.gz Debian 8.0 64bit
5 SSD OpenVZ 64 debian 7.0 minimal debian-7.0-x86_64-minimal.tar.gz Debian 7.0 minimal 64bit
5 SSD OpenVZ 32 debian 7.0 debian-7.0-x86.tar.gz Debian 7.0 32bit
5 SSD OpenVZ 32 debian 7.0 minimal debian-7.0-x86-minimal.tar.gz Debian 7.0 minimal 32bit
5 SSD OpenVZ 64 debian 6.0 minimal debian-6.0-x86_64-minimal.tar.gz Debian 6.0 minimal 64bit
5 SSD OpenVZ 64 debian 6.0 debian-6.0-x86_64.tar.gz Debian 6.0 64bit
5 SSD OpenVZ 32 debian 6.0 minimal debian-6.0-x86-minimal.tar.gz Debian 6.0 minimal 32bit
5 SSD OpenVZ 32 debian 6.0 debian-6.0-x86.tar.gz Debian 6.0 32bit
5 SSD OpenVZ 64 debian 7.0 debian-7.0-x86_64.tar.gz Debian 7.0 64bit (contrib)
5 SSD OpenVZ 64 fedora 21 fedora-21-x86_64.tar.gz Fedora 21 64bit
5 SSD OpenVZ 64 fedora 20 fedora-20-x86_64.tar.gz Fedora 20 64bit
5 SSD OpenVZ 32 fedora 20 fedora-20-x86.tar.gz Fedora 20 32bit
5 SSD OpenVZ 64 fedora 22 fedora-22-x86_64.tar.gz Fedora 22 64bit (beta)
5 SSD OpenVZ 64 scientific 6 scientific-6-x86_64.tar.gz Scientific 6 64bit
5 SSD OpenVZ 32 scientific 6 scientific-6-x86.tar.gz Scientific 6 32bit
5 SSD OpenVZ 64 suse 13.2 suse-13.2-x86_64.tar.gz SuSe 13.2 64bit
5 SSD OpenVZ 64 suse 13.1 suse-13.1-x86_64.tar.gz SuSe 13.1 64bit
5 SSD OpenVZ 64 suse 13.1 minimal suse-13.1-x86_64-minimal.tar.gz SuSe 13.1 minimal 64bit
5 SSD OpenVZ 32 suse 13.1 minimal suse-13.1-x86-minimal.tar.gz SuSe 13.1 minimal 32bit
5 SSD OpenVZ 32 suse 13.1 suse-13.1-x86.tar.gz SuSe 13.1 32bit
5 SSD OpenVZ 64 ubuntu 15.04 minimal ubuntu-15.04-x86_64-minimal.tar.gz Ubuntu 15.04 minimal 64bit
5 SSD OpenVZ 64 ubuntu 15.04 ubuntu-15.04-x86_64.tar.gz Ubuntu 15.04 64bit
5 SSD OpenVZ 64 ubuntu 14.04 ubuntu-14.04-x86_64.tar.gz Ubuntu 14.04 64bit
5 SSD OpenVZ 64 ubuntu 14.04 minimal ubuntu-14.04-x86_64-minimal.tar.gz Ubuntu 14.04 minimal 64bit
5 SSD OpenVZ 32 ubuntu 14.04 ubuntu-14.04-x86.tar.gz Ubuntu 14.04 32bit
5 SSD OpenVZ 32 ubuntu 14.04 minimal ubuntu-14.04-x86-minimal.tar.gz Ubuntu 14.04 minimal 32bit
5 SSD OpenVZ 64 ubuntu 12.04 minimal ubuntu-12.04-x86_64-minimal.tar.gz Ubuntu 12.04 minimal 64bit
5 SSD OpenVZ 64 ubuntu 12.04 ubuntu-12.04-x86_64.tar.gz Ubuntu 12.04 64bit
5 SSD OpenVZ 32 ubuntu 12.04 minimal ubuntu-12.04-x86-minimal.tar.gz Ubuntu 12.04 minimal 32bit
5 SSD OpenVZ 32 ubuntu 12.04 ubuntu-12.04-x86.tar.gz Ubuntu 12.04 32bit
5 SSD OpenVZ 64 ubuntu 10.04 ubuntu-10.04-x86_64.tar.gz Ubuntu 10.04 64bit
5 SSD OpenVZ 32 ubuntu 10.04 ubuntu-10.04-x86.tar.gz Ubuntu 10.04 32bit
6 OpenVZ 64 centos 7 minimal centos-7-x86_64-minimal.tar.gz CentOS 7 minimal 64bit
6 OpenVZ 64 centos 7 centos-7-x86_64.tar.gz CentOS 7 64bit
6 OpenVZ 64 centos 6 minimal centos-6-x86_64-minimal.tar.gz CentOS 6 minimal 64bit
6 OpenVZ 64 centos 6 devel centos-6-x86_64-devel.tar.gz CentOS 6 devel 64bit
6 OpenVZ 64 centos 6 centos-6-x86_64.tar.gz CentOS 6 64bit
6 OpenVZ 32 centos 6 minimal centos-6-x86-minimal.tar.gz CentOS 6 minimal 32bit
6 OpenVZ 32 centos 6 devel centos-6-x86-devel.tar.gz CentOS 6 devel 32bit
6 OpenVZ 32 centos 6 centos-6-x86.tar.gz CentOS 6 32bit
6 OpenVZ 64 centos 5 devel centos-5-x86_64-devel.tar.gz CentOS 5 devel 64bit
6 OpenVZ 64 centos 5 centos-5-x86_64.tar.gz CentOS 5 64bit
6 OpenVZ 32 centos 5 devel centos-5-x86-devel.tar.gz CentOS 5 devel 32bit
6 OpenVZ 32 centos 5 centos-5-x86.tar.gz CentOS 5 32bit
6 OpenVZ 64 centos 7 nginxwordpress centos-7-x86_64-nginxwordpress.tar.gz CentOS 7 nginxwordpress 64bit (http:mirror.trouble-free.netmyadminopenvz)
6 OpenVZ 64 debian 8.0 minimal debian-8.0-x86_64-minimal.tar.gz Debian 8.0 minimal 64bit
6 OpenVZ 64 debian 8.0 debian-8.0-x86_64.tar.gz Debian 8.0 64bit
6 OpenVZ 64 debian 7.0 minimal debian-7.0-x86_64-minimal.tar.gz Debian 7.0 minimal 64bit
6 OpenVZ 32 debian 7.0 debian-7.0-x86.tar.gz Debian 7.0 32bit
6 OpenVZ 32 debian 7.0 minimal debian-7.0-x86-minimal.tar.gz Debian 7.0 minimal 32bit
6 OpenVZ 64 debian 6.0 minimal debian-6.0-x86_64-minimal.tar.gz Debian 6.0 minimal 64bit
6 OpenVZ 64 debian 6.0 debian-6.0-x86_64.tar.gz Debian 6.0 64bit
6 OpenVZ 32 debian 6.0 minimal debian-6.0-x86-minimal.tar.gz Debian 6.0 minimal 32bit
6 OpenVZ 32 debian 6.0 debian-6.0-x86.tar.gz Debian 6.0 32bit
6 OpenVZ 64 debian 7.0 debian-7.0-x86_64.tar.gz Debian 7.0 64bit (contrib)
6 OpenVZ 64 fedora 21 fedora-21-x86_64.tar.gz Fedora 21 64bit
6 OpenVZ 64 fedora 20 fedora-20-x86_64.tar.gz Fedora 20 64bit
6 OpenVZ 32 fedora 20 fedora-20-x86.tar.gz Fedora 20 32bit
6 OpenVZ 64 fedora 22 fedora-22-x86_64.tar.gz Fedora 22 64bit (beta)
6 OpenVZ 64 scientific 6 scientific-6-x86_64.tar.gz Scientific 6 64bit
6 OpenVZ 32 scientific 6 scientific-6-x86.tar.gz Scientific 6 32bit
6 OpenVZ 64 suse 13.2 suse-13.2-x86_64.tar.gz SuSe 13.2 64bit
6 OpenVZ 64 suse 13.1 minimal suse-13.1-x86_64-minimal.tar.gz SuSe 13.1 minimal 64bit
6 OpenVZ 64 suse 13.1 suse-13.1-x86_64.tar.gz SuSe 13.1 64bit
6 OpenVZ 32 suse 13.1 minimal suse-13.1-x86-minimal.tar.gz SuSe 13.1 minimal 32bit
6 OpenVZ 32 suse 13.1 suse-13.1-x86.tar.gz SuSe 13.1 32bit
6 OpenVZ 64 ubuntu 15.04 minimal ubuntu-15.04-x86_64-minimal.tar.gz Ubuntu 15.04 minimal 64bit
6 OpenVZ 64 ubuntu 15.04 ubuntu-15.04-x86_64.tar.gz Ubuntu 15.04 64bit
6 OpenVZ 64 ubuntu 14.04 ubuntu-14.04-x86_64.tar.gz Ubuntu 14.04 64bit
6 OpenVZ 64 ubuntu 14.04 minimal ubuntu-14.04-x86_64-minimal.tar.gz Ubuntu 14.04 minimal 64bit
6 OpenVZ 32 ubuntu 14.04 ubuntu-14.04-x86.tar.gz Ubuntu 14.04 32bit
6 OpenVZ 32 ubuntu 14.04 minimal ubuntu-14.04-x86-minimal.tar.gz Ubuntu 14.04 minimal 32bit
6 OpenVZ 64 ubuntu 12.04 minimal ubuntu-12.04-x86_64-minimal.tar.gz Ubuntu 12.04 minimal 64bit
6 OpenVZ 64 ubuntu 12.04 ubuntu-12.04-x86_64.tar.gz Ubuntu 12.04 64bit
6 OpenVZ 32 ubuntu 12.04 minimal ubuntu-12.04-x86-minimal.tar.gz Ubuntu 12.04 minimal 32bit
6 OpenVZ 32 ubuntu 12.04 ubuntu-12.04-x86.tar.gz Ubuntu 12.04 32bit
6 OpenVZ 64 ubuntu 10.04 ubuntu-10.04-x86_64.tar.gz Ubuntu 10.04 64bit
6 OpenVZ 32 ubuntu 10.04 ubuntu-10.04-x86.tar.gz Ubuntu 10.04 32bit
9 LXC 64 ubuntu 14.04 ubuntu-trusty-amd64 Ubuntu 14.04 64bit
9 LXC 32 ubuntu 14.04 ubuntu-trusty-i3864 Ubuntu 14.04 32bit
10 VMware 64 windows 2008 windows2008 Windows 2008 64bit
11 Hyper-V 64 windows 2012 Standard Windows2012Standard Windows 2012 Standard 64bit

Webhosting

Webhosting Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_webhosting_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_cancel_service

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

Webhosting Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_webhosting_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_get_client_invoices

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

Webhosting Get Client Unpaid Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_get_client_unpaid_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_get_client_unpaid_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_get_client_unpaid_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_webhosting_get_client_unpaid_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_get_client_unpaid_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_get_client_unpaid_invoices

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due
invoices_service int ID of the Service/Order this Invoice is for such as 1000 if the order was vps1000 and the module was vps

Webhosting Get Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_get_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_get_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_get_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_webhosting_get_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_get_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_get_service

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int service id, such as VPS ID

Output Fields

Field Type Description
website_id int Server ID
website_server int
website_type int Server Type
website_cost float Service Cost
website_custid int Customer ID
website_ip string IP Address
website_status string Billing Status
website_invoice int Invoice ID
website_coupon int Coupon ID
website_extra string
website_hostname string
website_comment string
website_username string
website_server_status string

Webhosting Get Services

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_webhosting_get_services($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_webhosting_get_services()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_webhosting_get_services, message: { 
    sid: ARGV[0], 
})
print response.body[:api_webhosting_get_services_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_webhosting_get_services($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_webhosting_get_services

This Function Applies to the Webhosting services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
website_id int Server ID
website_server int
website_type int Server Type
website_cost float Service Cost
website_custid int Customer ID
website_ip string IP Address
website_status string Billing Status
website_invoice int Invoice ID
website_coupon int Coupon ID
website_extra string
website_hostname string
website_comment string
website_username string
website_server_status string

Licenses

Buy License

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$ip = $ARGV[2];
$type = $ARGV[3];
$coupon = $ARGV[4];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_buy_license($sid, $ip, $type, $coupon);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_buy_license()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_buy_license, message: { 
    sid: ARGV[0], 
    ip: ARGV[1], 
    type: ARGV[2], 
    coupon: ARGV[3], 
})
print response.body[:api_buy_license_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$ip = $_SERVER['argv'][3];
$type = $_SERVER['argv'][4];
$coupon = $_SERVER['argv'][5];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_buy_license($sid, $ip, $type, $coupon);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_buy_license

Purchase a License. Returns an invoice ID.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
ip string ip address you wish to license some software on
type int the package id of the license type you want. use get_license_types to get a list of possible types.
coupon string an optional coupon

Output Fields

Field Type Description
status string
status_text string
invoice int
cost float

Example API Response

Field Value
status ok
status_text Order Completed Successfully.
invoice 2515394
cost 34.95

Cancel License Ip

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$ip = $ARGV[2];
$type = $ARGV[3];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_cancel_license_ip($sid, $ip, $type);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_cancel_license_ip()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_cancel_license_ip, message: { 
    sid: ARGV[0], 
    ip: ARGV[1], 
    type: ARGV[2], 
})
print response.body[:api_cancel_license_ip_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$ip = $_SERVER['argv'][3];
$type = $_SERVER['argv'][4];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_cancel_license_ip($sid, $ip, $type);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_cancel_license_ip

Cancel a License by IP and Type.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
ip string IP Address to cancel
type int Package ID. use get_license_types to get a list of possible types.

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text Invalid License IP/Type

Cancel License

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_cancel_license($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_cancel_license()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_cancel_license, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_cancel_license_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_cancel_license($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_cancel_license

Cancel a License.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int License Order ID

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text Invalid License ID

Change License Ip By Id

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$newip = $ARGV[3];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_change_license_ip_by_id($sid, $id, $newip);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_change_license_ip_by_id()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_change_license_ip_by_id, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
    newip: ARGV[2], 
})
print response.body[:api_change_license_ip_by_id_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$newip = $_SERVER['argv'][4];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_change_license_ip_by_id($sid, $id, $newip);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_change_license_ip_by_id

Change the IP on an active license.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the license order id of the license to change the ip for
newip string the new ip address to associate with the license

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text No license found

Change License Ip

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$oldip = $ARGV[2];
$newip = $ARGV[3];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_change_license_ip($sid, $oldip, $newip);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_change_license_ip()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_change_license_ip, message: { 
    sid: ARGV[0], 
    oldip: ARGV[1], 
    newip: ARGV[2], 
})
print response.body[:api_change_license_ip_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$oldip = $_SERVER['argv'][3];
$newip = $_SERVER['argv'][4];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_change_license_ip($sid, $oldip, $newip);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_change_license_ip

Change the IP on an active license.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
oldip string the old ip address
newip string the new ip address

Output Fields

Field Type Description
status string
status_text string

Example API Response

Field Value
status error
status_text Multiple Licenses On This IP. Use the website or contact support@interserver.net.

Get License Types

#!/usr/bin/perl -w
use SOAP::Lite;

$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$res = $client
  -> api_get_license_types();
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
result = client.service.api_get_license_types()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')
response = client.call(:api_get_license_types)
print response.body[:api_get_license_types_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $res = $client->api_get_license_types();
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_get_license_types

Get a license of the various license types.

Input

This function takes no input parameters

Output Fields

Field Type Description
0 tns:license_type[]

Example API Response

Services Id Services Name Services Cost
5000 INTERSERVER-EXTERNAL 34.95
5001 INTERSERVER-EXTERNAL-VPS 14.95
5002 INTERSERVER-EXTERNAL-VZZO 13.95
5003 Fantastico 4
5005 INTERSERVER-ENKOMP-EXTERNAL-A500 55
5006 Softaculous 3
5007 Softaculous VPS 2
5008 INTERSERVER-INTERNAL 20
5009 INTERSERVER-INTERNAL-VZZO 10
5013 Fantastico VPS 4
5014 INTERSERVER-INTERNAL-VPS 10
5017 Parallels Plesk v10+/v11+ for VZ 10 Domains (Inside DataCenter) 8
5018 Parallels Plesk v10+/v11+ 10 Domains (Inside DataCenter) 16
5019 Parallels Plesk v10+/v11+ Unlimited Domains (Inside DataCenter) 40
5020 Parallels Plesk v10+/v11+ for VZ 10 Domains (Outside DataCenter) 12
5021 Parallels Plesk v10+/v11+ 10 Domains (Outside DataCenter) 20
5022 Parallels Plesk v10+/v11+ Unlimited Domains (Outside DataCenter) 50
5023 Parallels Plesk v10+/v11+ for VZ Unlimited Domains (Inside DataCenter) 15
5024 Parallels Plesk v10+/v11+ for VZ Unlimited Domains (Outside DataCenter) 15
5025 LiteSpeed WebServer VPS License 13.95
5026 LiteSpeed WebServer Ultra-VPS License 19
5027 LiteSpeed WebServer 1-CPU License 30
5028 LiteSpeed WebServer 2-CPU License 46
5029 LiteSpeed WebServer 4-CPU License 65
5030 LiteSpeed WebServer 8-CPU License 92
5031 LiteSpeed Load Balancer 65
5032 CloudLinux License 10
5033 CloudLinux Type2 License 11.95
5034 KernelCare License 2.95
5035 Parallels Plesk v10+/v11+ for Windows Unlimited Domains (Inside DataCenter) 40
5036 Parallels Plesk v10+/v11+ for Windows Unlimited Domains (Outside DataCenter) 50
5037 Parallels Plesk v10+/v11+ for Windows for VZ Unlimited Domains (Inside DataCenter) 15
5038 Parallels Plesk v10+/v11+ for Windows for VZ Unlimited Domains (Outside DataCenter) 15
5039 Parallels Plesk v10+/v11+ for VPS Unlimited Domains (Inside DataCenter) 15
5040 Parallels Plesk v10+/v11+ for VPS Unlimited Domains (Outside DataCenter) 15
5041 Parallels Plesk v10+/v11+ for Windows for VPS Unlimited Domains (Inside DataCenter) 15
5042 Parallels Plesk v10+/v11+ for Windows for VPS Unlimited Domains (Outside DataCenter) 15
5043 Parallels Plesk v10+/v11+ for VPS 100 Domains (Inside DataCenter) 5
5044 Parallels Plesk v10+/v11+ for VPS 100 Domains (Outside DataCenter) 5
5045 Parallels Plesk v10+/v11+ for Windows 100 Domains (Inside DaCenter) 5
5046 Parallels Plesk v10+/v11+ for Windows 100 Domains (Outside DataCenter) 5
5047 Parallels Plesk v10+/v11+ 100 Domains (Inside DataCenter) 5
5048 Parallels Plesk v10+/v11+ 100 Domains (Outside DataCenter) 5
5049 Parallels Plesk v10+/v11+ for VZ 100 Domains (Inside DataCenter) 4
5050 Parallels Plesk v10+/v11+ for VZ 100 Domains (Outside DataCenter) 4
5051 Parallels Plesk v10+/v11+ for VZ 100 Domains (Inside DataCenter) 4
5052 Parallels Plesk v10+/v11+ for VZ 100 Domains (Outside DataCenter) 4
5053 Plesk v12 Web Admin Edition for Virtual Machines 4
5054 Plesk v12 Web Admin Edition for Dedicated Servers 4
5055 Plesk v12 Web App Edition for Virtual Machines 5
5056 Plesk v12 Web App Edition for Dedicated Servers 5
5057 Plesk v12 Web Pro Edition for Virtual Machines 10
5058 Plesk v12 Web Pro Edition for Dedicated Servers 15
5059 Plesk v12 Web Host Edition for Virtual Machines 15
5060 Plesk v12 Web Host Edition for Dedicated Servers 35
5061 Plesk v12 Web ProEdition with CloudLinux for Virtual Machines 20
5062 Plesk v12 Web ProEdition with CloudLinux for Dedicated Servers 25
5063 Plesk v12 Web HostEdition with CloudLinux for Virtual Machines 25
5064 Plesk v12 Web HostEdition with CloudLinux for Dedicated Servers 45
5066 DirectAdmin for CentOS 5 64-bit 8
5067 DirectAdmin for CentOS 6 32-bit 8
5068 DirectAdmin for CentOS 6 64-bit 8
5069 DirectAdmin for CentOS 7 64-bit 8
5070 DirectAdmin for FreeBSD 8.x 64-bit 8
5071 DirectAdmin for FreeBSD 9.x 32-bit 8
5072 DirectAdmin for FreeBSD 9.x 64-bit 8
5073 DirectAdmin for Debian 6.0 32-bit 8
5074 DirectAdmin for Debian 6.0 64-bit 8
5075 DirectAdmin for Debian 7.0 32-bit 8
5076 DirectAdmin for Debian 7.0 64-bit 8
5077 DirectAdmin for Debian 8.0 64-bit 8
5078 DirectAdmin for Debian 5.0 32-bit 8
5079 DirectAdmin for Debian 5.0 64-bit 8
5080 DirectAdmin for CentOS 5 32-bit 8

Licenses Cancel Service

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$id = $ARGV[2];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_licenses_cancel_service($sid, $id);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_licenses_cancel_service()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_licenses_cancel_service, message: { 
    sid: ARGV[0], 
    id: ARGV[1], 
})
print response.body[:api_licenses_cancel_service_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$id = $_SERVER['argv'][3];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_licenses_cancel_service($sid, $id);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_licenses_cancel_service

This Function Applies to the Licensing services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call
id int the Order ID / Service ID you wish to cancel

Output Fields

Field Type Description
return bool

Example API Response

Type Value
Boolean

Licenses Get Client Invoices

#!/usr/bin/perl -w
use SOAP::Lite;

$username = $ARGV[0];
$password = $ARGV[1];
$client = SOAP::Lite
  -> uri('urn:myapi')
  -> proxy('https://my.interserver.net/api.php?wsdl');
$sid = $client
  -> api_login($username, $password)
  -> result;
if (length($sid) == 0)  {
  die "Got A Blank Session";
} 
$res = $client
  -> api_licenses_get_client_invoices($sid);
die $res->faultstring if ($res->fault);
print "Response:\n",$res->result,"\n";
#!/usr/bin/python
from suds.client import Client
client = Client("https://my.interserver.net/api.php?wsdl")
#print client ## shows detailed client info
sid = client.service.api_login(argv[1], argv[2])
if (sid == '')
  die("Got a blank session")
print "Got Session ID "+sid+"\n"

result = client.service.api_licenses_get_client_invoices()
print result
#!/usr/bin/env ruby
require 'savon'

client = Savon.client(wsdl: 'https://my.interserver.net/api.php?wsdl')

response = client.call(
  :api_login, message: {
    username: ARGV[0],
    password: ARGV[1]
})
sid = response.body[:api_login_response][:return]
if (sid == "")
  die("Got a blank session id");
print "got session id ",sid,"\n"
response = client.call(
  :api_licenses_get_client_invoices, message: { 
    sid: ARGV[0], 
})
print response.body[:api_licenses_get_client_invoices_response][:return],"\n"
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$username = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$client = new SoapClient("https://my.interserver.net/api.php?wsdl");
try  { 
  $sid = $client->api_login($username, $password);
  if (strlen($sid) == 0)
    die("Got A Blank Session");
  $res = $client->api_licenses_get_client_invoices($sid);
  echo '$res = '.var_export($res, true)."\n";
 } catch (Exception $ex) {
  echo "Exception Occured!\n";
  echo "Code:{$ex->faultcode}\n";
  echo "String:{$ex->faultstring}\n";
}; 
?>

API Function Name: api_licenses_get_client_invoices

This Function Applies to the Licensing services.

Input Parameters

Parameter Type Description
sid string the Session ID you get from the login call

Output Fields

Field Type Description
invoices_id int ID of the Invoice used for referencing
invoices_description string Description of what the Invoice was for
invoices_amount float Cost of the Invoice
invoices_custid int ID of the Customer this Invoice is for
invoices_type int The Type of Invoice (1 = charge, 10+ are payment types)
invoices_date string Date the Invoice was Created
invoices_group int Billing Group the Invoice falls under, Not currently used
invoices_extra int If type 1 invoice this points to the repeat invoice id, otherwise points to the id of the charge invoice its a payment for.
invoices_paid int Wether or not the Invoice was paid (if applicable)
invoices_module string Module the Invoice was for. You can use get_modules to get a list of available modules.
invoices_due_date string Date the Invoice is Due

Example API Response

Invoices Id Invoices Description Invoices Amount Invoices Custid Invoices Type Invoices Date Invoices Group Invoices Extra Invoices Paid Invoices Module Invoices Due Date
2514249 (Repeat Invoice: 2504689) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 14:55:40 0 2504689 0 licenses 2015-11-08 14:55:40
2514250 (Repeat Invoice: 2504690) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 14:55:56 0 2504690 0 licenses 2015-11-08 14:55:56
2514251 (Repeat Invoice: 2504691) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:00:25 0 2504691 0 licenses 2015-11-08 15:00:25
2514252 (Repeat Invoice: 2504692) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:01:12 0 2504692 0 licenses 2015-11-08 15:01:12
2514255 (Repeat Invoice: 2504694) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:02:56 0 2504694 0 licenses 2015-11-08 15:02:56
2514256 (Repeat Invoice: 2504695) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:05:14 0 2504695 0 licenses 2015-11-08 15:05:14
2514257 (Repeat Invoice: 2504696) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:15:25 0 2504696 0 licenses 2015-11-08 15:15:25
2514258 (Repeat Invoice: 2504697) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:21:50 0 2504697 0 licenses 2015-11-08 15:21:50
2514259 (Repeat Invoice: 2504698) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:27:46 0 2504698 0 licenses 2015-11-08 15:27:46
2514262 (Repeat Invoice: 2504700) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:35:30 0 2504700 0 licenses 2015-11-08 15:35:30
2514263 (Repeat Invoice: 2504701) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:48:38 0 2504701 0 licenses 2015-11-08 15:48:38
2514264 (Repeat Invoice: 2504702) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:50:21 0 2504702 0 licenses 2015-11-08 15:50:21
2514265 (Repeat Invoice: 2504703) INTERSERVER-EXTERNAL 34.95 160884 1 2015-10-30 15:51:59 0 2504703 0 licenses 2015-11-08 15:51:59
251