Introduction
Our HTTP REST API allows you to manage vital details of your account and services in client portal. JSON is used for all API returns
Use left menu to browse trough available methods, use right menu to check required parameters, data to post and code samples in various languages.
Swagger Doc: You can download or display the JSON to generate documentation in Swagger.
Authentication
To authorize, use this code:
# With bash, you can just pass the correct header with each request
curl 'https://portal.internetport.com/api/details' \
-u "username:password"
//We recommend to use Requests library available at https://github.com/rmccue/Requests
require_once 'Requests.php';
Requests::register_autoloader();
$resp = Requests::get('https://portal.internetport.com/api/details', array(), array(
'auth' => array('username', 'password')
));
# python requests module will handle basic authentication if provided with auth parameter
import requests
req = requests.get('https://portal.internetport.com/api/details', auth=('username', 'password'))
Make sure to replace
username
andpassword
with your client area details.
This API uses Basic HTTP Authentication.
To authenticate with API with your client area access details (email address as username and your client area password).
All API calls requires authentication, API expects for the auth to be included in a header that looks like the following:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Clientarea
User Details
Return registration details for my account
curl "https://portal.internetport.com/api/details" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/details', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/details', auth=auth)
print(req.json())
Example Response:
{
"client": {
"id": "26",
"email": "api@example.com",
"lastlogin": "2016-12-30 12:24:28",
"ip": "172.100.2.1",
"host": "hostname",
"firstname": "Joe",
"lastname": "Doe",
"companyname": "",
"address1": "Pretty View Lane",
"address2": "3294",
"city": "Santa Rosa",
"state": "California",
"postcode": "95401",
"country": "US",
"phonenumber": "+1.24123123"
}
}
HTTP Request
GET /details
Update User Details
Update registration details under my account
curl "https://portal.internetport.com/api/details" \
-u user:pass \
-d firstname="firstnameValue"\
-d lastname="lastnameValue"\
-d phonenumber="phonenumberValue"\
-d vateu="vateuValue"\
-d email="emailValue"\
-d address1="address1Value"\
-d companyname="companynameValue"\
-d address2="address2Value"\
-d city="cityValue"\
-d state="stateValue"\
-d postcode="postcodeValue"\
-d country="countryValue"\
-d type="typeValue"\
-d multicheck="multicheckValue"\
-d 2faenable="2faenableValue"\
-d 2fasecret="2fasecretValue"\
-d mobilephone="mobilephoneValue"\
-d pushoveruserkey="pushoveruserkeyValue"
$data = array(
'firstname' => 'firstnameValue',
'lastname' => 'lastnameValue',
'phonenumber' => 'phonenumberValue',
'vateu' => 'vateuValue',
'email' => 'emailValue',
'address1' => 'address1Value',
'companyname' => 'companynameValue',
'address2' => 'address2Value',
'city' => 'cityValue',
'state' => 'stateValue',
'postcode' => 'postcodeValue',
'country' => 'countryValue',
'type' => 'typeValue',
'multicheck' => 'multicheckValue',
'2faenable' => '2faenableValue',
'2fasecret' => '2fasecretValue',
'mobilephone' => 'mobilephoneValue',
'pushoveruserkey' => 'pushoveruserkeyValue'
);
$resp = Requests::put('https://portal.internetport.com/api/details', array(), $data, $options);
echo $resp->body;
payload = {
'firstname' : 'firstnameValue',
'lastname' : 'lastnameValue',
'phonenumber' : 'phonenumberValue',
'vateu' : 'vateuValue',
'email' : 'emailValue',
'address1' : 'address1Value',
'companyname' : 'companynameValue',
'address2' : 'address2Value',
'city' : 'cityValue',
'state' : 'stateValue',
'postcode' : 'postcodeValue',
'country' : 'countryValue',
'type' : 'typeValue',
'multicheck' : 'multicheckValue',
'2faenable' : '2faenableValue',
'2fasecret' : '2fasecretValue',
'mobilephone' : 'mobilephoneValue',
'pushoveruserkey' : 'pushoveruserkeyValue'
}
req = requests.put('https://portal.internetport.com/api/details', data=payload, auth=auth)
print(req.json())
Example Response:
{
"client": {
"id": "26",
"email": "api@example.com",
"lastlogin": "2016-12-30 12:34:20",
"ip": "172.100.2.1",
"host": "hostname",
"firstname": "Joe",
"lastname": "Doe",
"companyname": "",
"address1": "Pretty View Lane",
"address2": "3194",
"city": "Santa Rosa",
"state": "California",
"postcode": "95401",
"country": "US",
"phonenumber": "+1.24123123"
},
"info": [
"client_info_updated"
]
}
HTTP Request
PUT /details
Query Parameters
Parameter | Type | Description |
---|---|---|
firstname | string |
First Name - First name |
lastname | string |
Last Name - Your family name |
phonenumber | string |
Phone |
vateu | string |
VAT ID |
string |
Email Address | |
address1 | string |
Address 1 - Example description |
companyname | string |
Organization |
address2 | string |
Address 2 |
city | string |
City |
state | string |
State |
postcode | string |
Post code |
country | string |
Country |
type | string |
Account Type |
multicheck | string |
Multi Check |
2faenable | string |
Two-Factor Authentication |
2fasecret | string |
Two-Factor Secret - If Two-Factor is enabled, enter 16-chars (letters/digits) secret code to use in Google Authenticator App. |
mobilephone | string |
Mobile phone number - To receive SMS notifications about your services with us please provide your mobile phone number, starting with country code prefix, ie. +1 |
pushoveruserkey | string |
Pushover user key - Your Pushover user key |
List contacts
Return a list of contacts on this account
curl "https://portal.internetport.com/api/contact" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/contact', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/contact', auth=auth)
print(req.json())
Example Response:
{
"contacts": [
{
"email": "mary@example.com",
"id": "49",
"firstname": "Mary",
"lastname": "Sue",
"companyname": "",
"company": "0",
"lastlogin": "0000-00-00 00:00:00"
}
]
}
HTTP Request
GET /contact
Add contact
Create new contact account, if password is provided you can use provided email addres to login as that contact.
curl "https://portal.internetport.com/api/contact" \
-u user:pass \
-d firstname="firstnameValue"\
-d lastname="lastnameValue"\
-d phonenumber="phonenumberValue"\
-d vateu="vateuValue"\
-d email="emailValue"\
-d address1="address1Value"\
-d companyname="companynameValue"\
-d address2="address2Value"\
-d city="cityValue"\
-d state="stateValue"\
-d postcode="postcodeValue"\
-d country="countryValue"\
-d type="typeValue"\
-d multicheck="multicheckValue"\
-d 2faenable="2faenableValue"\
-d 2fasecret="2fasecretValue"\
-d mobilephone="mobilephoneValue"\
-d pushoveruserkey="pushoveruserkeyValue"\
-d password="passwordValue"\
-d privileges[key]="privilegesValue"
$data = array(
'firstname' => 'firstnameValue',
'lastname' => 'lastnameValue',
'phonenumber' => 'phonenumberValue',
'vateu' => 'vateuValue',
'email' => 'emailValue',
'address1' => 'address1Value',
'companyname' => 'companynameValue',
'address2' => 'address2Value',
'city' => 'cityValue',
'state' => 'stateValue',
'postcode' => 'postcodeValue',
'country' => 'countryValue',
'type' => 'typeValue',
'multicheck' => 'multicheckValue',
'2faenable' => '2faenableValue',
'2fasecret' => '2fasecretValue',
'mobilephone' => 'mobilephoneValue',
'pushoveruserkey' => 'pushoveruserkeyValue',
'password' => 'passwordValue',
'privileges' => array('key'=>'value')
);
$resp = Requests::post('https://portal.internetport.com/api/contact', array(), $data, $options);
echo $resp->body;
payload = {
'firstname' : 'firstnameValue',
'lastname' : 'lastnameValue',
'phonenumber' : 'phonenumberValue',
'vateu' : 'vateuValue',
'email' : 'emailValue',
'address1' : 'address1Value',
'companyname' : 'companynameValue',
'address2' : 'address2Value',
'city' : 'cityValue',
'state' : 'stateValue',
'postcode' : 'postcodeValue',
'country' : 'countryValue',
'type' : 'typeValue',
'multicheck' : 'multicheckValue',
'2faenable' : '2faenableValue',
'2fasecret' : '2fasecretValue',
'mobilephone' : 'mobilephoneValue',
'pushoveruserkey' : 'pushoveruserkeyValue',
'password' : 'passwordValue',
'privileges' : {'key':'value'}
}
req = requests.post('https://portal.internetport.com/api/contact', data=payload, auth=auth)
print(req.json())
Example Response:
{
"contact_id": "1",
"info": [
"profile_added"
]
}
HTTP Request
POST /contact
Query Parameters
Parameter | Type | Description |
---|---|---|
firstname | string |
First Name - First name |
lastname | string |
Last Name - Your family name |
phonenumber | string |
Phone |
vateu | string |
VAT ID |
string |
Email Address | |
address1 | string |
Address 1 - Example description |
companyname | string |
Organization |
address2 | string |
Address 2 |
city | string |
City |
state | string |
State |
postcode | string |
Post code |
country | string |
Country |
type | string |
Account Type |
multicheck | string |
Multi Check |
2faenable | string |
Two-Factor Authentication |
2fasecret | string |
Two-Factor Secret - If Two-Factor is enabled, enter 16-chars (letters/digits) secret code to use in Google Authenticator App. |
mobilephone | string |
Mobile phone number - To receive SMS notifications about your services with us please provide your mobile phone number, starting with country code prefix, ie. +1 |
pushoveruserkey | string |
Pushover user key - Your Pushover user key |
password | string |
Optional, allows you to login as contact |
privileges | array |
Array with privileges that you want to enable. Formatted the same way as output from GET /contact/privileges |
Contact privileges
List possible contact privileges.
Each domain and service may list additional privileges, depending on available features.
curl "https://portal.internetport.com/api/contact/privileges" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/contact/privileges', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/contact/privileges', auth=auth)
print(req.json())
Example Response:
{
"privileges": {
"billing": [
"emails", // Receive billing notifications
"payinvoice", // Allow to view/pay invoices
"orders", // Allow to place new orders
"balance", // View account balance
"addfunds", // Add account funds
"creditcard" // Edit Credit Card details
],
"support": [
"newticket", // Open new tickets
"tickets", // View all tickets
"closeticket", // Close tickets
"emails" // Receive email notifications from support
],
"misc": [
"editmain", // Modify main profile details
"emails", // View emails history
"editipaccess", // Edit allowed IP access
"manageprofiles", // Add / Edit contacts
"affiliates" // Access affiliates section
],
"services": {
"full": 1, // Full control over services
"332": [
"basic", // View basic details
"billing", // View billing info
"cancelation", // Request cancellation
"upgrade", // Upgrade / Downgrade
"notify", // Receive related email notifications
(...)
"logindetails"
]
},
"domains": {
"full": 1, // Full control over domains
"523": [
"basic", // View basic details
"renew", // Renew domain
"notify", // Receive related email notifications
"contactinfo", // Contact Information
(...)
"nameservers" // Manage Nameservers
]
}
}
}
HTTP Request
GET /contact/privileges
Get contacts details
Return array with contact details
curl "https://portal.internetport.com/api/contact/@id" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/contact/@id', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/contact/@id', auth=auth)
print(req.json())
Example Response:
{
"contact": {
"id": "49",
"email": "mary@example.com",
"firstname": "Mary",
"lastname": "Sue",
"companyname": "",
"address1": "Pretty View Lane",
"address2": "3194",
"city": "Santa Rosa",
"state": "California",
"postcode": "95401",
"country": "US",
"phonenumber": "+1.24123123",
"type": "Private",
"privileges" : {
"support" : ["tickets", "newticket"]
}
}
}
HTTP Request
GET /contact/@id
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Contact ID |
Edit contact
Change contact details`
curl "https://portal.internetport.com/api/contact/@id" \
-u user:pass \
-d firstname="firstnameValue"\
-d lastname="lastnameValue"\
-d phonenumber="phonenumberValue"\
-d vateu="vateuValue"\
-d email="emailValue"\
-d address1="address1Value"\
-d companyname="companynameValue"\
-d address2="address2Value"\
-d city="cityValue"\
-d state="stateValue"\
-d postcode="postcodeValue"\
-d country="countryValue"\
-d type="typeValue"\
-d multicheck="multicheckValue"\
-d 2faenable="2faenableValue"\
-d 2fasecret="2fasecretValue"\
-d mobilephone="mobilephoneValue"\
-d pushoveruserkey="pushoveruserkeyValue"\
-d privileges[key]="privilegesValue"
$data = array(
'firstname' => 'firstnameValue',
'lastname' => 'lastnameValue',
'phonenumber' => 'phonenumberValue',
'vateu' => 'vateuValue',
'email' => 'emailValue',
'address1' => 'address1Value',
'companyname' => 'companynameValue',
'address2' => 'address2Value',
'city' => 'cityValue',
'state' => 'stateValue',
'postcode' => 'postcodeValue',
'country' => 'countryValue',
'type' => 'typeValue',
'multicheck' => 'multicheckValue',
'2faenable' => '2faenableValue',
'2fasecret' => '2fasecretValue',
'mobilephone' => 'mobilephoneValue',
'pushoveruserkey' => 'pushoveruserkeyValue',
'privileges' => array('key'=>'value')
);
$resp = Requests::put('https://portal.internetport.com/api/contact/@id', array(), $data, $options);
echo $resp->body;
payload = {
'firstname' : 'firstnameValue',
'lastname' : 'lastnameValue',
'phonenumber' : 'phonenumberValue',
'vateu' : 'vateuValue',
'email' : 'emailValue',
'address1' : 'address1Value',
'companyname' : 'companynameValue',
'address2' : 'address2Value',
'city' : 'cityValue',
'state' : 'stateValue',
'postcode' : 'postcodeValue',
'country' : 'countryValue',
'type' : 'typeValue',
'multicheck' : 'multicheckValue',
'2faenable' : '2faenableValue',
'2fasecret' : '2fasecretValue',
'mobilephone' : 'mobilephoneValue',
'pushoveruserkey' : 'pushoveruserkeyValue',
'privileges' : {'key':'value'}
}
req = requests.put('https://portal.internetport.com/api/contact/@id', data=payload, auth=auth)
print(req.json())
Example Response:
{
"info": [
"profile_updated"
]
}
HTTP Request
PUT /contact/@id
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
firstname | string |
First Name - First name |
lastname | string |
Last Name - Your family name |
phonenumber | string |
Phone |
vateu | string |
VAT ID |
string |
Email Address | |
address1 | string |
Address 1 - Example description |
companyname | string |
Organization |
address2 | string |
Address 2 |
city | string |
City |
state | string |
State |
postcode | string |
Post code |
country | string |
Country |
type | string |
Account Type |
multicheck | string |
Multi Check |
2faenable | string |
Two-Factor Authentication |
2fasecret | string |
Two-Factor Secret - If Two-Factor is enabled, enter 16-chars (letters/digits) secret code to use in Google Authenticator App. |
mobilephone | string |
Mobile phone number - To receive SMS notifications about your services with us please provide your mobile phone number, starting with country code prefix, ie. +1 |
pushoveruserkey | string |
Pushover user key - Your Pushover user key |
privileges | array |
Array with privileges that you want to enable. Formatted the same way as output from GET /contact/privileges |
List portal notifications
Return a list of portal notifications.
curl "https://portal.internetport.com/api/notifications" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/notifications', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/notifications', auth=auth)
print(req.json())
HTTP Request
GET /notifications
Query Parameters
Parameter | Type | Description |
---|---|---|
rel_type | string |
Optional, return only by relation type |
rel_id | string |
Optional, return only by relation id |
List portal notifications
Return a list of portal notifications.
curl "https://portal.internetport.com/api/notifications/new" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/notifications/new', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/notifications/new', auth=auth)
print(req.json())
HTTP Request
GET /notifications/new
Query Parameters
Parameter | Type | Description |
---|---|---|
rel_type | string |
Optional, return only by relation type |
rel_id | string |
Optional, return only by relation id |
Acknowledge notification
Marks the notification as read
curl "https://portal.internetport.com/api/notifications/@id/ack" \
-u user:pass \
$data = array(
);
$resp = Requests::put('https://portal.internetport.com/api/notifications/@id/ack', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.put('https://portal.internetport.com/api/notifications/@id/ack', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /notifications/@id/ack
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Billing
Account balance
Get current account balance(unpaid invoices total), account credit
curl "https://portal.internetport.com/api/balance" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/balance', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/balance', auth=auth)
print(req.json())
Example Response:
{
{
"success": true,
"details": {
"currency": "USD",
"acc_balance": "123456.55",
"acc_credit": "0.00"
}
}
}
HTTP Request
GET /balance
List Invoices
List all invoices under my account
curl "https://portal.internetport.com/api/invoice" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/invoice', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/invoice', auth=auth)
print(req.json())
Example Response:
{
"invoices": [
{
"id": "308976",
"date": "2016-12-30",
"dateorig": "2016-12-30",
"duedate": "2017-01-06",
"paybefore": "2017-01-06",
"total": "19.65",
"datepaid": "2016-12-30 12:40:47",
"status": "Paid",
"merge_id": null,
"number": "2016\/12\/1",
"currency": "USD"
}
]
}
HTTP Request
GET /invoice
Invoice Details
Get invoice details
curl "https://portal.internetport.com/api/invoice/@id" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/invoice/@id', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/invoice/@id', auth=auth)
print(req.json())
Example Response:
{
"invoice": {
"id": "308976",
"status": "Paid",
"date": "2016-12-30",
"duedate": "2017-01-06",
"paybefore": "2017-01-06",
"datepaid": "2016-12-30 12:40:47",
"subtotal": 16.24,
"credit": 0,
"tax": 3.41,
"taxrate": 21,
"tax2": 0,
"taxrate2": 0,
"taxexempt": "0",
"total": 19.65,
"rate": 1,
"rate2": 0,
"rate3": 1,
"notes": "",
"items": [
{
"id": "12305",
"invoice_id": "308976",
"type": "Other",
"item_id": "0",
"description": "Example Service",
"amount": "15.00",
"taxed": "1",
"qty": "1.00",
"linetotal": "15.00"
},
{
"id": "12309",
"invoice_id": "308976",
"type": "Other",
"item_id": "-2",
"description": "PayPal Payment Fee",
"amount": "1.24",
"taxed": "1",
"qty": "1.00",
"linetotal": "1.24"
}
],
"client": {
"id": "26",
"email": "api@example.com",
"firstname": "Joe",
"lastname": "Doe",
"companyname": "",
"address1": "Pretty View Lane",
"address2": "3194",
"city": "Santa Rosa",
"state": "California",
"postcode": "95401",
"country": "US",
"phonenumber": "+1.24123123"
},
"number": "2016\/12\/1",
"currency": "USD"
}
}
HTTP Request
GET /invoice/@id
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Payment Methods
List available payment methods
curl "https://portal.internetport.com/api/payment" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/payment', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/payment', auth=auth)
print(req.json())
Example Response:
{
"payments": {
"10": "BankTransfer",
"9": "PayPal"
}
}
HTTP Request
GET /payment
Support
List Tickets
List support tickets under my account
curl "https://portal.internetport.com/api/tickets" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/tickets', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/tickets', auth=auth)
print(req.json())
Example Response:
{
"tickets": [
{
"client_read": "1",
"ticket_number": "736633",
"date": "2016-12-30 12:48:13",
"deptname": "Billing",
"subject": "Lore Ipsum",
"status": "Open"
}
]
}
HTTP Request
GET /tickets
Ticket details
Get ticket details, including all replies
curl "https://portal.internetport.com/api/tickets/@number" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/tickets/@number', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/tickets/@number', auth=auth)
print(req.json())
Example Response:
{
"ticket": {
"date": "2016-12-30 12:48:13",
"ticket_number": "736633",
"name": "Joe Doe",
"email": "api@example.com",
"subject": "Lore Ipsum",
"body": "Donec sollicitudin molestie malesuada. \r\nSed porttitor lectus nibh. Vivamus magna justo, \r\nlacinia eget consectetur sed, convallis at tellus.",
"status": "Answered",
"client_read": "1",
"deptname": "Billing"
},
"replies": [
{
"id": "929",
"name": "Suppport Staff",
"date": "2016-12-30 12:51:04",
"body": "Vestibulum ac diam sit amet quam \r\nvehicula elementum sed sit amet dui. \r\nPraesent sapien massa\r\n\r\n-- Maecenas efficitur elit est --",
"status": "Sent",
"type": "Admin"
}
]
}
HTTP Request
GET /tickets/@number
Query Parameters
Parameter | Type | Description |
---|---|---|
number | int |
Ticket number |
Domains
List Domains
List domains under your account
curl "https://portal.internetport.com/api/domain" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain', auth=auth)
print(req.json())
Example Response:
{
"domains": [
{
"id": "47",
"name": "testname.com",
"expires": "2017-12-30",
"recurring_amount": "15.00",
"date_created": "2016-12-30",
"status": "Active",
"period": "1",
"autorenew": "1",
"daytoexpire": "365"
}
]
}
HTTP Request
GET /domain
Domain details
Get domain details
curl "https://portal.internetport.com/api/domain/@id" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id', auth=auth)
print(req.json())
Example Response:
{
"details": {
"id": "47",
"name": "testname.com",
"date_created": "2016-12-30",
"firstpayment": "10.00",
"recurring_amount": "15.00",
"period": "1",
"expires": "2017-12-30",
"status": "Active",
"next_due": "2017-12-30",
"next_invoice": "2017-11-30",
"idprotection": "0",
"nameservers": [
"ns1.example.com",
"ns2.example.com",
"ns3.example.com",
"ns4.example.com"
],
"autorenew": "1"
}
}
HTTP Request
GET /domain/@id
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Domain details by name
Get domain details by name
curl "https://portal.internetport.com/api/domain/name/@name" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/name/@name', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/name/@name', auth=auth)
print(req.json())
Example Response:
{
"details": [
{
"id": "47",
"name": "testname.com",
"date_created": "2016-12-30",
"firstpayment": "10.00",
"recurring_amount": "15.00",
"period": "1",
"expires": "2017-12-30",
"status": "Active",
"next_due": "2017-12-30",
"next_invoice": "2017-11-30",
"idprotection": "0",
"nameservers": [
"ns1.example.com",
"ns2.example.com",
"ns3.example.com",
"ns4.example.com"
],
"autorenew": "1"
},
{
"id": "48",
"name": "testname.com",
"date_created": "2016-05-30",
"firstpayment": "10.00",
"recurring_amount": "15.00",
"period": "1",
"expires": "2017-05-30",
"status": "Expired",
"next_due": "2017-05-30",
"next_invoice": "2017-04-30",
"idprotection": "0",
"nameservers": [
"ns1.example.com",
"ns2.example.com",
"ns3.example.com",
"ns4.example.com"
],
"autorenew": "1"
},
]
}
HTTP Request
GET /domain/name/@name
Query Parameters
Parameter | Type | Description |
---|---|---|
name | string |
Domain name |
Get domain nameservers
curl "https://portal.internetport.com/api/domain/@id/ns" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/ns', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/ns', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/ns
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Update domain nameservers
Change domain nameservers, if $nameservers
is left empty, default namesevers will be used
curl "https://portal.internetport.com/api/domain/@id/ns" \
-u user:pass \
-d nameservers[key]="nameserversValue"
$data = array(
'nameservers' => array('key'=>'value')
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/ns', array(), $data, $options);
echo $resp->body;
payload = {
'nameservers' : {'key':'value'}
}
req = requests.put('https://portal.internetport.com/api/domain/@id/ns', data=payload, auth=auth)
print(req.json())
Example Response:
{
"info": [
"success_changes_save"
]
}
HTTP Request
PUT /domain/@id/ns
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
nameservers | array |
List of nameservers to use |
Register domain nameservers
curl "https://portal.internetport.com/api/domain/@id/reg" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/domain/@id/reg', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/domain/@id/reg', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /domain/@id/reg
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
DNS Records DNS Records
List DNS records
curl "https://portal.internetport.com/api/domain/@id/dns" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/dns', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/dns', auth=auth)
print(req.json())
Example Response:
{
"records": [
{
"id": 1,
"name": "test",
"ttl": 0,
"priority": 0,
"type": "A",
"content": "100.100.10.1"
}
]
}
HTTP Request
GET /domain/@id/dns
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Create DNS Records
Add a new DNS record
curl "https://portal.internetport.com/api/domain/@id/dns" \
-u user:pass \
-d name="nameValue"\
-d type="typeValue"\
-d priority="priorityValue"\
-d content="contentValue"
$data = array(
'name' => 'nameValue',
'type' => 'typeValue',
'priority' => 'priorityValue',
'content' => 'contentValue'
);
$resp = Requests::post('https://portal.internetport.com/api/domain/@id/dns', array(), $data, $options);
echo $resp->body;
payload = {
'name' : 'nameValue',
'type' : 'typeValue',
'priority' : 'priorityValue',
'content' : 'contentValue'
}
req = requests.post('https://portal.internetport.com/api/domain/@id/dns', data=payload, auth=auth)
print(req.json())
Example Response:
{
"info": [
"DNS Management updated successfully"
]
}
HTTP Request
POST /domain/@id/dns
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
name | string |
Reord name |
type | string |
Reord type |
priority | string |
Reord priority |
content | string |
Reord content eg. IP addres for A records |
Update DNS Records
Change a DNS record
curl "https://portal.internetport.com/api/domain/@id/dns/@index" \
-u user:pass \
-d name="nameValue"\
-d type="typeValue"\
-d priority="priorityValue"\
-d content="contentValue"
$data = array(
'name' => 'nameValue',
'type' => 'typeValue',
'priority' => 'priorityValue',
'content' => 'contentValue'
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/dns/@index', array(), $data, $options);
echo $resp->body;
payload = {
'name' : 'nameValue',
'type' : 'typeValue',
'priority' : 'priorityValue',
'content' : 'contentValue'
}
req = requests.put('https://portal.internetport.com/api/domain/@id/dns/@index', data=payload, auth=auth)
print(req.json())
Example Response:
{
"info": [
"DNS Management updated successfully"
]
}
HTTP Request
PUT /domain/@id/dns/@index
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
record_id | int |
Recod index |
name | string |
Record name |
type | string |
Record type |
priority | string |
Record priority |
content | string |
Record content eg. IP address for A records |
Remove DNS Records
Remove a DNS record
curl "https://portal.internetport.com/api/domain/@id/dns/@index" \
-u user:pass
$resp = Requests::delete('https://portal.internetport.com/api/domain/@id/dns/@index', array(), $options);
echo $resp->body;
req = requests.delete('https://portal.internetport.com/api/domain/@id/dns/@index', auth=auth)
print(req.json())
Example Response:
{
"info": [
"DNS Management updated successfully"
]
}
HTTP Request
DELETE /domain/@id/dns/@index
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
record_id | int |
Recod index |
DNS Records Types
List supported records type
curl "https://portal.internetport.com/api/domain/@id/dns/types" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/dns/types', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/dns/types', auth=auth)
print(req.json())
Example Response:
{
"types": [
"A",
"CNAME",
"URL",
"FRAME",
"MX",
"MXE",
"TXT"
]
}
HTTP Request
GET /domain/@id/dns/types
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Get domain EPP Code
curl "https://portal.internetport.com/api/domain/@id/epp" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/epp', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/epp', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/epp
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Synchronize domain
curl "https://portal.internetport.com/api/domain/@id/sync" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/sync', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/sync', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/sync
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Get domain lock
curl "https://portal.internetport.com/api/domain/@id/reglock" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/reglock', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/reglock', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/reglock
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Update domain lock
curl "https://portal.internetport.com/api/domain/@id/reglock" \
-u user:pass \
$data = array(
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/reglock', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.put('https://portal.internetport.com/api/domain/@id/reglock', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /domain/@id/reglock
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Update domain ID Protection
curl "https://portal.internetport.com/api/domain/@id/idprotection" \
-u user:pass \
$data = array(
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/idprotection', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.put('https://portal.internetport.com/api/domain/@id/idprotection', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /domain/@id/idprotection
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
GET domain contact info
curl "https://portal.internetport.com/api/domain/@id/contact" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/contact', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/contact', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/contact
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Update domain contact info
curl "https://portal.internetport.com/api/domain/@id/contact" \
-u user:pass \
$data = array(
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/contact', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.put('https://portal.internetport.com/api/domain/@id/contact', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /domain/@id/contact
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
GET email forwarding
curl "https://portal.internetport.com/api/domain/@id/emforwarding" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/emforwarding', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/emforwarding', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/emforwarding
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Update email forwarding
curl "https://portal.internetport.com/api/domain/@id/emforwarding" \
-u user:pass \
$data = array(
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/emforwarding', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.put('https://portal.internetport.com/api/domain/@id/emforwarding', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /domain/@id/emforwarding
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Update domain forwarding
curl "https://portal.internetport.com/api/domain/@id/forwarding" \
-u user:pass \
$data = array(
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/forwarding', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.put('https://portal.internetport.com/api/domain/@id/forwarding', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /domain/@id/forwarding
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Get domain autorenew
curl "https://portal.internetport.com/api/domain/@id/autorenew" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/autorenew', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/autorenew', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/autorenew
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Enable/disable domain autorenew
curl "https://portal.internetport.com/api/domain/@id/autorenew" \
-u user:pass \
$data = array(
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/autorenew', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.put('https://portal.internetport.com/api/domain/@id/autorenew', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /domain/@id/autorenew
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Returns the available flags
curl "https://portal.internetport.com/api/domain/@id/dnssec/flags" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/dnssec/flags', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/dnssec/flags', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/dnssec/flags
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Returns the list of DNSSEC keys
curl "https://portal.internetport.com/api/domain/@id/dnssec" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/@id/dnssec', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/@id/dnssec', auth=auth)
print(req.json())
HTTP Request
GET /domain/@id/dnssec
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
Adds the DNSSEC key
curl "https://portal.internetport.com/api/domain/@id/dnssec" \
-u user:pass \
-d flags="flagsValue"\
-d protocol="protocolValue"\
-d algorithm="algorithmValue"\
-d publickey="publickeyValue"\
-d keytag="keytagValue"\
-d digesttype="digesttypeValue"\
-d digest="digestValue"
$data = array(
'flags' => 'flagsValue',
'protocol' => 'protocolValue',
'algorithm' => 'algorithmValue',
'publickey' => 'publickeyValue',
'keytag' => 'keytagValue',
'digesttype' => 'digesttypeValue',
'digest' => 'digestValue'
);
$resp = Requests::put('https://portal.internetport.com/api/domain/@id/dnssec', array(), $data, $options);
echo $resp->body;
payload = {
'flags' : 'flagsValue',
'protocol' : 'protocolValue',
'algorithm' : 'algorithmValue',
'publickey' : 'publickeyValue',
'keytag' : 'keytagValue',
'digesttype' : 'digesttypeValue',
'digest' : 'digestValue'
}
req = requests.put('https://portal.internetport.com/api/domain/@id/dnssec', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /domain/@id/dnssec
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
flags | int |
Key flag [256|257] |
protocol | int |
Protocol [3] |
algorithm | int |
Algorithm [1|2|3|5|6|7|8|10|12|13|14] |
publickey | string |
Public Key |
keytag | string |
Key tag |
digesttype | int |
Digest type [1|2|3|4] |
digest | string |
Digest |
curl "https://portal.internetport.com/api/domain/@id/dnssec/@key" \
-u user:pass
$resp = Requests::delete('https://portal.internetport.com/api/domain/@id/dnssec/@key', array(), $options);
echo $resp->body;
req = requests.delete('https://portal.internetport.com/api/domain/@id/dnssec/@key', auth=auth)
print(req.json())
HTTP Request
DELETE /domain/@id/dnssec/@key
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Domain id |
key | string |
Domain availability
Check if domain is available for registration. Returns status: "ok" if domain is available, empty response otherwise
curl "https://portal.internetport.com/api/domain/lookup" \
-u user:pass \
-d name="nameValue"
$data = array(
'name' => 'nameValue'
);
$resp = Requests::post('https://portal.internetport.com/api/domain/lookup', array(), $data, $options);
echo $resp->body;
payload = {
'name' : 'nameValue'
}
req = requests.post('https://portal.internetport.com/api/domain/lookup', data=payload, auth=auth)
print(req.json())
Example Response:
{
"available": false,
"periods": [
{
"id": "6",
"period": "1",
"register": "10.00",
"transfer": "0.00",
"renew": "15.00",
"redemption": "40.00"
},
{
"id": "6",
"period": "2",
"register": "20.00",
"transfer": "20.00",
"renew": "20.00",
"redemption": "80.00"
}
]
}
HTTP Request
POST /domain/lookup
Query Parameters
Parameter | Type | Description |
---|---|---|
name | string |
Domain name, ie. example.com |
Available TLDs
List TLDs available for registration and transfer
curl "https://portal.internetport.com/api/domain/order" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/order', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/order', auth=auth)
print(req.json())
Example Response:
{
"tlds": [
{
"id": "6",
"tld": ".com",
"periods": [
{
"period": "1",
"register": "10.00",
"transfer": "0.00",
"renew": "15.00",
"redemption": "40.00"
},
{
"period": "2",
"register": "20.00",
"transfer": "20.00",
"renew": "30.00",
"redemption": "80.00"
}
]
},
(...)
]
}
HTTP Request
GET /domain/order
Additinal data for TLD
Get additional forms required for some TLDs
curl "https://portal.internetport.com/api/domain/order/@id/form" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/domain/order/@id/form', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/domain/order/@id/form', auth=auth)
print(req.json())
Example Response:
{
"forms": [
{
"type": "domaindnssupport",
"title": "DNS Management",
"id": "1424",
"firstItemId": 9067,
"description": "",
"name": "custom[1424][9067]",
"required": false,
"multiple": false,
"config": {
"enableddefault": 0
},
"value": [],
"textvalue": [],
"price": 0,
"recurring_price": 0,
"setup": 0,
"prorata_date": null,
"items": [
{
"title": "",
"value": 1,
"id": 9067,
"price": 4,
"setup": 0,
"selected": false
}
]
},
{
"type": "select",
"title": "Language",
"id": "1755",
"firstItemId": 10952,
"description": "",
"name": "custom[1755]",
"required": false,
"multiple": false,
"config": {
"conditionals": []
},
"value": [],
"textvalue": [],
"price": 0,
"recurring_price": 0,
"setup": 0,
"prorata_date": null,
"items": [
{
"title": "AFR",
"value": 1,
"id": 10952,
"price": 0,
"setup": 0,
"selected": false
},
{
"title": "ALB",
"value": 1,
"id": 10953,
"price": 0,
"setup": 0,
"selected": false
},
(...)
]
}
]
}
HTTP Request
GET /domain/order/@id/form
Query Parameters
Parameter | Type | Description |
---|---|---|
tld_id | int |
TLD ID |
Order new domain
Create new order for a domain, please check if requested domain is available first, otherwise your order may get cancelled.
curl "https://portal.internetport.com/api/domain/order" \
-u user:pass \
-d name="nameValue"\
-d years="yearsValue"\
-d action="actionValue"\
-d tld_id="tld_idValue"\
-d pay_method="pay_methodValue"\
-d epp="eppValue"\
-d nameservers[key]="nameserversValue"\
-d registrant="registrantValue"\
-d admin="adminValue"\
-d tech="techValue"\
-d billing="billingValue"\
-d data[key]="dataValue"
$data = array(
'name' => 'nameValue',
'years' => 'yearsValue',
'action' => 'actionValue',
'tld_id' => 'tld_idValue',
'pay_method' => 'pay_methodValue',
'epp' => 'eppValue',
'nameservers' => array('key'=>'value'),
'registrant' => 'registrantValue',
'admin' => 'adminValue',
'tech' => 'techValue',
'billing' => 'billingValue',
'data' => array('key'=>'value')
);
$resp = Requests::post('https://portal.internetport.com/api/domain/order', array(), $data, $options);
echo $resp->body;
payload = {
'name' : 'nameValue',
'years' : 'yearsValue',
'action' : 'actionValue',
'tld_id' : 'tld_idValue',
'pay_method' : 'pay_methodValue',
'epp' : 'eppValue',
'nameservers' : {'key':'value'},
'registrant' : 'registrantValue',
'admin' : 'adminValue',
'tech' : 'techValue',
'billing' : 'billingValue',
'data' : {'key':'value'}
}
req = requests.post('https://portal.internetport.com/api/domain/order', data=payload, auth=auth)
print(req.json())
Example Response:
{
"order_num": 563647679,
"invoice_id": "308977",
"total": "10.00",
"items": {
"id": "10",
"type": "Domain Register",
"name": "test.com",
"product_id": "3"
}
}
HTTP Request
POST /domain/order
Query Parameters
Parameter | Type | Description |
---|---|---|
name | string |
Domain name, ie. example.com |
years | string |
Number of years |
action | string |
register|transfer |
tld_id | string |
TLD id |
pay_method | int |
Payment method ID |
epp | string |
EPP Transfer code, required when transfering some domains |
nameservers | array |
Optional array with 2 - 4 nameservers that you want to use |
registrant | int |
Optional contact ID to use for registrant contact this domain |
admin | int |
Optional contact ID to use for admin contact this domain |
tech | int |
Optional contact ID to use for tech contact this domain |
billing | int |
Optional contact ID to use for billing contact this domain |
data | array |
Addditional data required for some TLDs |
Renew domain
Create new renew order for a domain, please check if requested domain is available first, otherwise your order may get cancelled.
curl "https://portal.internetport.com/api/domain/@id/renew" \
-u user:pass \
-d years="yearsValue"\
-d pay_method="pay_methodValue"
$data = array(
'years' => 'yearsValue',
'pay_method' => 'pay_methodValue'
);
$resp = Requests::post('https://portal.internetport.com/api/domain/@id/renew', array(), $data, $options);
echo $resp->body;
payload = {
'years' : 'yearsValue',
'pay_method' : 'pay_methodValue'
}
req = requests.post('https://portal.internetport.com/api/domain/@id/renew', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /domain/@id/renew
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
years | string |
Number of years |
pay_method | int |
Payment method ID |
SSL Certificates
List SSL Certificates
List all ssl services under your account
curl "https://portal.internetport.com/api/certificate" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/certificate', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/certificate', auth=auth)
print(req.json())
Example Response:
{
"sslservices": [
{
"id": "300",
"domain": "examplename.com",
"total": "27.85",
"status": "Pending",
"billingcycle": "Annually",
"next_due": "2017-12-30",
"category": "GoGetSSL",
"category_url": "gogetssl",
"name": "Comodo InstantSSL",
"cert_email": "admin@example.com",
"cert_status": "",
"cert_expires": "2017-12-30 13:43:12"
}
]
}
HTTP Request
GET /certificate
Certificate details
Return details for certificate @id
curl "https://portal.internetport.com/api/certificate/@id" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/certificate/@id', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/certificate/@id', auth=auth)
print(req.json())
Example Response:
{
"service": {
"id": "300",
"date_created": "2016-12-30",
"domain": "examplename.com",
"firstpayment": "27.85",
"total": "27.85",
"billingcycle": "Annually",
"next_due": "2017-12-30",
"next_invoice": "2017-10-31",
"status": "Pending",
"label": "",
"name": "Comodo InstantSSL",
"cert_status": "",
"cert_expires": "2017-12-30 13:43:12",
"csr": "-----BEGIN CERTIFICATE REQUEST----- ...",
"contacts": {
"admin": {
"FName": "Mary",
"LName": "Sue",
"City": "Santa Rosa",
"State": "California",
"PostalCode": "95401",
"EmailAddress": "mary@example.com",
"Country": "US",
"Address1": "Pretty View Lane",
"Address2": "3194",
"Phone": 24123223,
"OrgName": "n\/a",
"PreFix": 1,
"JobTitle": "n\/a"
},
"billing": {
(...)
},
"tech": {
(...)
}
},
"organization": {
"state": "Texas",
"country": "US",
"name": "My Org name",
"unit": "Dev",
"locality": "SanAntonio",
"postalcode": "n\/a",
"address2": "n\/a",
"address1": "n\/a",
},
"cert_email": "admin@example.com",
"software": "1"
}
}
HTTP Request
GET /certificate/@id
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
Download certificate
Return X.509 certificate data
curl "https://portal.internetport.com/api/certificate/@id/crt" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/certificate/@id/crt', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/certificate/@id/crt', auth=auth)
print(req.json())
HTTP Request
GET /certificate/@id/crt
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
Download CA Bundle
Return a bundle of X.509 certificates
curl "https://portal.internetport.com/api/certificate/@id/ca" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/certificate/@id/ca', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/certificate/@id/ca', auth=auth)
print(req.json())
HTTP Request
GET /certificate/@id/ca
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
List available certificates
Return a list with certificate available for purchase
curl "https://portal.internetport.com/api/certificate/order" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/certificate/order', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/certificate/order', auth=auth)
print(req.json())
Example Response:
{
"products": [
{
"id": "25",
"name": "InstantSSL",
"description": "",
"periods": [
{
"years": 1,
"price": 27.85,
"renew": 27.85
},
{
"years": 2,
"price": 48.75,
"renew": 48.75
}
],
"category": "SSL Certificates",
"category_url": "sslcertificates"
},
(...)
]
}
HTTP Request
GET /certificate/order
List server software for certificates
Return a list with software IDs required or certificate
curl "https://portal.internetport.com/api/certificate/order/@product_id/software" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/certificate/order/@product_id/software', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/certificate/order/@product_id/software', auth=auth)
print(req.json())
Example Response:
{
"software": [
{
"id": 0,
"name": "AOL"
},
{
"id": 1,
"name": "Apache-SSL (Ben-SSL, not Stronghold)"
},
(...)
]
}
HTTP Request
GET /certificate/order/@product_id/software
Query Parameters
Parameter | Type | Description |
---|---|---|
product_id | int |
Certificate product ID |
Order new certificates
Create new order for a certificate
curl "https://portal.internetport.com/api/certificate/order" \
-u user:pass \
-d product_id="product_idValue"\
-d csr="csrValue"\
-d years="yearsValue"\
-d pay_method="pay_methodValue"\
-d approver_email="approver_emailValue"\
-d admin="adminValue"\
-d tech="techValue"\
-d billing="billingValue"\
-d organization[key]="organizationValue"\
-d software="softwareValue"\
-d data[key]="dataValue"
$data = array(
'product_id' => 'product_idValue',
'csr' => 'csrValue',
'years' => 'yearsValue',
'pay_method' => 'pay_methodValue',
'approver_email' => 'approver_emailValue',
'admin' => 'adminValue',
'tech' => 'techValue',
'billing' => 'billingValue',
'organization' => array('key'=>'value'),
'software' => 'softwareValue',
'data' => array('key'=>'value')
);
$resp = Requests::post('https://portal.internetport.com/api/certificate/order', array(), $data, $options);
echo $resp->body;
payload = {
'product_id' : 'product_idValue',
'csr' : 'csrValue',
'years' : 'yearsValue',
'pay_method' : 'pay_methodValue',
'approver_email' : 'approver_emailValue',
'admin' : 'adminValue',
'tech' : 'techValue',
'billing' : 'billingValue',
'organization' : {'key':'value'},
'software' : 'softwareValue',
'data' : {'key':'value'}
}
req = requests.post('https://portal.internetport.com/api/certificate/order', data=payload, auth=auth)
print(req.json())
Example Response:
{
"order_num": 873340994,
"invoice_id": "308978",
"total": "27.85",
"items": {
"id": "10",
"type": "Hosting",
"name": "test.com",
"product_id": "3"
}
}
HTTP Request
POST /certificate/order
Query Parameters
Parameter | Type | Description |
---|---|---|
product_id | int |
Certificate product ID |
csr | string |
Domain name, ie. example.com |
years | int |
Number of years |
pay_method | int |
Payment method ID |
approver_email | string |
Email addres used in domain validation |
admin | int |
Admin contact ID |
tech | int |
Tech contact ID |
billing | int |
Billing contact ID |
organization | array |
Organization details |
software | int |
Server/Software ID |
data | array |
Addditional data required for some products |
Services
List services
List all services under your account
curl "https://portal.internetport.com/api/service" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service', auth=auth)
print(req.json())
Example Response:
{
"services": [
{
"id": "301",
"domain": "examplename.com",
"total": "9.99",
"status": "Pending",
"billingcycle": "Monthly",
"next_due": "2017-12-30",
"category": "Hosting",
"category_url": "hosting",
"name": "Starter Hosting"
}
]
}
HTTP Request
GET /service
Service details
Return details for service @id
curl "https://portal.internetport.com/api/service/@id" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id', auth=auth)
print(req.json())
Example Response:
{
"service": {
"id": "301",
"date_created": "2016-12-30",
"domain": "examplename.com",
"firstpayment": "9.99",
"total": "9.99",
"billingcycle": "Monthly",
"next_due": "2017-12-30",
"next_invoice": "2017-01-27",
"status": "Active",
"label": "",
"username": "examplen",
"password": "pdtzc",
"name": "Starter Hosting"
}
}
HTTP Request
GET /service/@id
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
Upgrade Options
List upgrade options
curl "https://portal.internetport.com/api/service/@id/upgrade" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/upgrade', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/upgrade', auth=auth)
print(req.json())
Example Response:
{
"resources": [
{
"id": 1557,
"name": "Bandwidth",
"type": "select",
"items": [
{
"id": "9953",
"name": "100 GB",
"price": 1,
"setup_price": 0,
"selected": true
},
{
"id": "10103",
"name": "500 GB",
"price": 5,
"setup_price": 0,
"selected": false
},
{
"id": "10104",
"name": "1 TB",
"price": 10,
"setup_price": 0,
"selected": false
}
]
}
],
"package": []
}
HTTP Request
GET /service/@id/upgrade
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Upgrade Request
Estimate or request upgrade
// Format of ''resources'' paremeter
{
"resource_id" : "qty_value", // sliders & qty fields
"resource_id" : "item_id", // dropdown & radio fields
"resource_id" : {
"item_id": "qty_value" // dropdown with qty field
}
}
curl "https://portal.internetport.com/api/service/@id/upgrade" \
-u user:pass \
-d resources[key]="resourcesValue"\
-d package="packageValue"\
-d cycle="cycleValue"\
-d send="sendValue"
$data = array(
'resources' => array('key'=>'value'),
'package' => 'packageValue',
'cycle' => 'cycleValue',
'send' => 'sendValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/upgrade', array(), $data, $options);
echo $resp->body;
payload = {
'resources' : {'key':'value'},
'package' : 'packageValue',
'cycle' : 'cycleValue',
'send' : 'sendValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/upgrade', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/upgrade
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
resources | array |
array with resource values |
package | int |
New package id, optonal when upgrading resources |
cycle | string |
New billing cycle, optonal when upgrading resources |
send | boolean |
Set to true when you want to send your upgrade request |
Cancel Service
Request service cancellation
curl "https://portal.internetport.com/api/service/@id/cancel" \
-u user:pass \
-d immediate="immediateValue"\
-d reason="reasonValue"
$data = array(
'immediate' => 'immediateValue',
'reason' => 'reasonValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/cancel', array(), $data, $options);
echo $resp->body;
payload = {
'immediate' : 'immediateValue',
'reason' : 'reasonValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/cancel', data=payload, auth=auth)
print(req.json())
Example Response:
{
"info": [
"cancell_sent"
]
}
HTTP Request
POST /service/@id/cancel
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
immediate | string |
set to false to terminate service at the end of billing date, true - terminate immediately |
reason | string |
Reason for this request |
Service label
Show current service label
curl "https://portal.internetport.com/api/service/@id/label" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/label', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/label', auth=auth)
print(req.json())
Example Response:
{
"label": "example"
}
HTTP Request
GET /service/@id/label
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
Change service label
Set new custom label to identify this service
curl "https://portal.internetport.com/api/service/@id/label" \
-u user:pass \
-d label="labelValue"
$data = array(
'label' => 'labelValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/label', array(), $data, $options);
echo $resp->body;
payload = {
'label' : 'labelValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/label', data=payload, auth=auth)
print(req.json())
Example Response:
{
"success": true,
"info": [
"label_updated"
]
}
HTTP Request
POST /service/@id/label
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
label | string |
New label |
IP Addresses
List Service IP Addresses
curl "https://portal.internetport.com/api/service/@id/ip" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/ip', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/ip', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/ip
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service ID |
Reverse DNS
Get reverse DNS entries for service's IP addresses
curl "https://portal.internetport.com/api/service/@id/rdns" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/rdns', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/rdns', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/rdns
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service ID |
Update rDNS
Update reverse DNS entries service's IP addresses
curl "https://portal.internetport.com/api/service/@id/rdns" \
-u user:pass \
-d ipaddress[key]="ipaddressValue"
$data = array(
'ipaddress' => array('key'=>'value')
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/rdns', array(), $data, $options);
echo $resp->body;
payload = {
'ipaddress' : {'key':'value'}
}
req = requests.post('https://portal.internetport.com/api/service/@id/rdns', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/rdns
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service ID |
ipaddress | array |
Use Ip address as parameter key and hostname as value |
Bandwidth Graph
Return base64 encoded images representing bandwidth usage for last day, week and month
curl "https://portal.internetport.com/api/service/@id/bandwidth-graphs" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/bandwidth-graphs', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/bandwidth-graphs', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/bandwidth-graphs
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Bandwidth Usage
Return bandwidth usage and billing details
curl "https://portal.internetport.com/api/service/@id/bandwidth" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/bandwidth', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/bandwidth', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/bandwidth
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
PDU ports
List PDU ports assigned to service
curl "https://portal.internetport.com/api/service/@id/pdu" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/pdu', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/pdu', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/pdu
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
PDU Port state
Get PDU port/outlet state
curl "https://portal.internetport.com/api/service/@id/pdu/@port" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/pdu/@port', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/pdu/@port', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/pdu/@port
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
port | int |
Port id |
Set PDU port status
Set PDU port/outlet state
curl "https://portal.internetport.com/api/service/@id/pdu/@port" \
-u user:pass \
-d power="powerValue"
$data = array(
'power' => 'powerValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/pdu/@port', array(), $data, $options);
echo $resp->body;
payload = {
'power' : 'powerValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/pdu/@port', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/pdu/@port
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Service id |
port | int |
Port id |
power | bool |
Desired power state - 'true' for ON or 'false' for OFF |
List VMs
List virtual servers
curl "https://portal.internetport.com/api/service/@id/vms" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/vms', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/vms', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/vms
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Get VM Details
Get the details of a particular virtual server
curl "https://portal.internetport.com/api/service/@id/vms/@vmid" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/vms/@vmid', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/vms/@vmid', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/vms/@vmid
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Create VM
Add new virtual server
curl "https://portal.internetport.com/api/service/@id/vms" \
-u user:pass \
-d label="labelValue"\
-d template="templateValue"\
-d memory="memoryValue"\
-d cpu="cpuValue"\
-d disk="diskValue"
$data = array(
'label' => 'labelValue',
'template' => 'templateValue',
'memory' => 'memoryValue',
'cpu' => 'cpuValue',
'disk' => 'diskValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms', array(), $data, $options);
echo $resp->body;
payload = {
'label' : 'labelValue',
'template' : 'templateValue',
'memory' : 'memoryValue',
'cpu' : 'cpuValue',
'disk' : 'diskValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
label | string |
VM label |
template | string |
Template ID |
memory | string |
Amount of RAM memory in MB |
cpu | string |
Amount of CPU cores |
disk | string |
Disk Space in GB |
Destroy VM
Remove virtual server
curl "https://portal.internetport.com/api/service/@id/vms/@vmid" \
-u user:pass
$resp = Requests::delete('https://portal.internetport.com/api/service/@id/vms/@vmid', array(), $options);
echo $resp->body;
req = requests.delete('https://portal.internetport.com/api/service/@id/vms/@vmid', auth=auth)
print(req.json())
HTTP Request
DELETE /service/@id/vms/@vmid
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Resize VM
Edit a virtual server
curl "https://portal.internetport.com/api/service/@id/vms/@vmid" \
-u user:pass \
-d memory="memoryValue"\
-d cpu="cpuValue"
$data = array(
'memory' => 'memoryValue',
'cpu' => 'cpuValue'
);
$resp = Requests::put('https://portal.internetport.com/api/service/@id/vms/@vmid', array(), $data, $options);
echo $resp->body;
payload = {
'memory' : 'memoryValue',
'cpu' : 'cpuValue'
}
req = requests.put('https://portal.internetport.com/api/service/@id/vms/@vmid', data=payload, auth=auth)
print(req.json())
HTTP Request
PUT /service/@id/vms/@vmid
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
memory | string |
Amount of RAM in MB |
cpu | string |
Amount of CPU cores |
Stop VM
Stop virtual server
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/stop" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/stop', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/stop', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/stop
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Start VM
Start virtual servers
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/start" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/start', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/start', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/start
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Shutdown VM
Perform graceful shutdown
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/shutdown" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/shutdown', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/shutdown', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/shutdown
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Reboot VM
Reboot virtual servers
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/reboot" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/reboot', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/reboot', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/reboot
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Reset VM
Reset virtual servers power
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/reset" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/reset', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/reset', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/reset
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Rebuild VM
Rebuild server, you can get list of templates supported by this server using '''/service/$id/vms/$vmid/rebuild'''
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/rebuild" \
-u user:pass \
-d template="templateValue"
$data = array(
'template' => 'templateValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/rebuild', array(), $data, $options);
echo $resp->body;
payload = {
'template' : 'templateValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/rebuild', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/rebuild
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | int |
|
template | string |
Template ID |
List OS templates
List templates that can be used to create virtual server
curl "https://portal.internetport.com/api/service/@id/templates" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/templates', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/templates', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/templates
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
Resources
Show available and used resources
curl "https://portal.internetport.com/api/service/@id/resources" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/resources', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/resources', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/resources
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
VM Cpu Usage graph
Retuns base64 encoded png image
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/usage/cpu" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/vms/@vmid/usage/cpu', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/vms/@vmid/usage/cpu', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/vms/@vmid/usage/cpu
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
VM Bandwidth Usage graph
Retuns base64 encoded png image
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/usage/net" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/vms/@vmid/usage/net', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/vms/@vmid/usage/net', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/vms/@vmid/usage/net
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
VM Memory Usage graph
Retuns base64 encoded png image
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/usage/memory" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/vms/@vmid/usage/memory', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/vms/@vmid/usage/memory', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/vms/@vmid/usage/memory
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
List ISO images
List ISO images for a virtual server
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/images" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/vms/@vmid/images', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/vms/@vmid/images', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/vms/@vmid/images
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
List VM rebuild templates
List templates that can be used to rebuild virtual server
curl "https://portal.internetport.com/api/service/@id/templates/@vmid" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/templates/@vmid', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/templates/@vmid', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/templates/@vmid
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Mount ISO image
Mount or Unmount ISO image for a virtual server
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/images" \
-u user:pass \
-d image="imageValue"
$data = array(
'image' => 'imageValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/images', array(), $data, $options);
echo $resp->body;
payload = {
'image' : 'imageValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/images', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/images
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
image | string |
ISO Image name, leave empty to unmount images |
Boot Order
Change Boot order
//Possible options for $order parameter
"cd" // (1) Hard Disk (2) CDROM
"dc" // (1) CDROM (2) Hard Disk
"c" // Hard Disk Only
"d" // CDROM Only
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/boot" \
-u user:pass \
-d order="orderValue"
$data = array(
'order' => 'orderValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/boot', array(), $data, $options);
echo $resp->body;
payload = {
'order' : 'orderValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/boot', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/boot
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
order | string |
Boot order option |
Enable PXE
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/tuntap" \
-u user:pass \
-d state="stateValue"
$data = array(
'state' => 'stateValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/tuntap', array(), $data, $options);
echo $resp->body;
payload = {
'state' : 'stateValue'
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/tuntap', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/tuntap
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
state | bool |
on/off |
Suspend VM
Suspend virtual server
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/suspend" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/suspend', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/suspend', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/suspend
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Unsuspend VM
Unsuspend virtual servers
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/unsuspend" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/unsuspend', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/unsuspend', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/unsuspend
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
Reset VM password
Reset root password for VM
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/resetpwd" \
-u user:pass \
$data = array(
);
$resp = Requests::post('https://portal.internetport.com/api/service/@id/vms/@vmid/resetpwd', array(), $data, $options);
echo $resp->body;
payload = {
}
req = requests.post('https://portal.internetport.com/api/service/@id/vms/@vmid/resetpwd', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /service/@id/vms/@vmid/resetpwd
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | string |
Virtual server id |
List Rebuild templates
curl "https://portal.internetport.com/api/service/@id/vms/@vmid/rebuild" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@id/vms/@vmid/rebuild', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@id/vms/@vmid/rebuild', auth=auth)
print(req.json())
HTTP Request
GET /service/@id/vms/@vmid/rebuild
Query Parameters
Parameter | Type | Description |
---|---|---|
id | int |
|
vmid | int |
|
template | string |
Template ID |
Cart
Most of API methods found here will require service @id
, you can lookup your service ids with /service
method
List product categories
Return a list of product categories.
curl "https://portal.internetport.com/api/category" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/category', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/category', auth=auth)
print(req.json())
Example Response:
{
"categories": [
{
"id": "10",
"name": "Hosting",
"description": "",
"slug": "hosting"
},
{
"id": "6",
"name": "Domains",
"description": "",
"slug": "domains"
},
{
"id": "16",
"name": "Dedicated",
"description": "",
"slug": "dedicated"
}
]
}
HTTP Request
GET /category
List products in category
Return a list of product available for purchase under requested category
curl "https://portal.internetport.com/api/category/@category_id/product" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/category/@category_id/product', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/category/@category_id/product', auth=auth)
print(req.json())
Example Response:
{
"products": [
{
"id": "333",
"type": "1",
"name": "Starter Hosting",
"stock": false,
"paytype": "Regular",
"description": "Disk:10GB
Memory:2GB
MySql:10 DB
Email:100 Users
",
"qty": "0",
"tags": [
],
"periods": [
{
"title": "m",
"value": "m",
"price": 9.99,
"setup": 0,
"selected": true
},
{
"title": "a",
"value": "a",
"price": 109.89,
"setup": 0,
"selected": false
},
{
"title": "b",
"value": "b",
"price": 199.8,
"setup": 0,
"selected": false
},
{
"title": "t",
"value": "t",
"price": 299.7,
"setup": 0,
"selected": false
}
]
},
(...)
]
}
HTTP Request
GET /category/@category_id/product
Query Parameters
Parameter | Type | Description |
---|---|---|
category_id | int |
Category ID |
Get product configuration details
Return product details with form configuration, addons and subproducts if available.
curl "https://portal.internetport.com/api/order/@product_id" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/order/@product_id', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/order/@product_id', auth=auth)
print(req.json())
Example Response:
{
"product": {
"id": "333",
"category_name": "Hosting",
"category_id": "49",
"name": "Starter Hosting",
"price": 9.99,
"recurring": "m",
"setup": 0,
"config": {
"product": [
{
"type": "select",
"title": "pickcycle",
"id": "cycle",
"name": "cycle",
"items": [
{
"title": "m",
"value": "m",
"price": 9.99,
"setup": 0,
"selected": true
},
{
"title": "a",
"value": "a",
"price": 109.89,
"setup": 0,
"selected": false
},
{
"title": "b",
"value": "b",
"price": 199.8,
"setup": 0,
"selected": false
},
{
"title": "t",
"value": "t",
"price": 299.7,
"setup": 0,
"selected": false
}
],
"value": "m",
"price": 9.99,
"setup": 0
},
{
"type": "input",
"title": "domain",
"id": "domain",
"name": "domain",
"value": null
}
],
"forms": [
{
"type": "select",
"title": "Disk Size",
"id": "1618",
"firstItemId": 10330,
"description": "",
"name": "custom[1618]",
"required": false,
"multiple": false,
"config": {
"conditionals": []
},
"value": [],
"textvalue": [],
"price": 0,
"recurring_price": 0,
"setup": 0,
"prorata_date": null,
"items": [
{
"title": "512MB",
"value": 1,
"id": 10330,
"price": 0,
"setup": 0,
"selected": false
},
{
"title": "1GB",
"value": 1,
"id": 10331,
"price": 0,
"setup": 0,
"selected": false
},
{
"title": "2GB",
"value": 1,
"id": 10332,
"price": 0,
"setup": 0,
"selected": false
}
]
},
(...)
],
"addons": [
{
"type": "subitem",
"title": "Cpanel2: Add Extra IP",
"id": "31",
"value": null,
"description": "Automatically adds IP address to account",
"config": [
{
"type": "checkbox",
"title": "add",
"name": "addon[31]",
"checked": false
},
{
"type": "select",
"title": "billingcycle",
"name": "addon_cycles[31]",
"items": [
{
"title": "m",
"value": "m",
"price": 5,
"setup": 0,
"selected": true
},
{
"title": "q",
"value": "q",
"price": 20,
"setup": 0,
"selected": false
},
{
"title": "a",
"value": "a",
"price": 50,
"setup": 0,
"selected": false
}
]
}
],
"price": 0,
"recurring_price": 0,
"setup": 0,
"prorata_date": null
},
(...)
],
"subproducts": []
},
"recurring_price": 9.99,
"prorata_date": null
}
}
HTTP Request
GET /order/@product_id
Query Parameters
Parameter | Type | Description |
---|---|---|
product_id | int |
Product ID |
Order new service
Create and submit new order for selected product.
To get available cycle and configuration options lookup product details
using GET /order/@product_id
curl "https://portal.internetport.com/api/order/@product_id" \
-u user:pass \
-d domain="domainValue"\
-d cycle="cycleValue"\
-d pay_method="pay_methodValue"\
-d custom[key]="customValue"
$data = array(
'domain' => 'domainValue',
'cycle' => 'cycleValue',
'pay_method' => 'pay_methodValue',
'custom' => array('key'=>'value')
);
$resp = Requests::post('https://portal.internetport.com/api/order/@product_id', array(), $data, $options);
echo $resp->body;
payload = {
'domain' : 'domainValue',
'cycle' : 'cycleValue',
'pay_method' : 'pay_methodValue',
'custom' : {'key':'value'}
}
req = requests.post('https://portal.internetport.com/api/order/@product_id', data=payload, auth=auth)
print(req.json())
Example Response:
{
"order_num": 873340995,
"invoice_id": "308979",
"total": "9.99",
"items": {
"id": "10",
"type": "Hosting",
"name": "test.com",
"product_id": "3"
}
}
HTTP Request
POST /order/@product_id
Query Parameters
Parameter | Type | Description |
---|---|---|
product_id | int |
Product ID |
domain | string |
Domain name, ie. example.com, may be optional |
cycle | string |
Billing period symbol |
pay_method | int |
Payment method ID |
custom | array |
Additional options data available for sop products |
DNS
List DNS
Returns a list of all DNS
curl "https://portal.internetport.com/api/dns" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/dns', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/dns', auth=auth)
print(req.json())
Example Response:
{
"service_ids": [
"10",
"20"
],
"zones": [
{
"domain_id": "60",
"name": "booble.com",
"service_id": "10"
},
{
"domain_id": "61",
"name": "bgg12ooble.com",
"service_id": "20"
}
]
}
HTTP Request
GET /dns
Add DNS Zone
Creates a new DNS zone
curl "https://portal.internetport.com/api/service/@service_id/dns" \
-u user:pass \
-d name="nameValue"
$data = array(
'name' => 'nameValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@service_id/dns', array(), $data, $options);
echo $resp->body;
payload = {
'name' : 'nameValue'
}
req = requests.post('https://portal.internetport.com/api/service/@service_id/dns', data=payload, auth=auth)
print(req.json())
Example Response:
{
"info": [
"Domain zone testzone.com was created successfully."
]
}
HTTP Request
POST /service/@service_id/dns
Query Parameters
Parameter | Type | Description |
---|---|---|
service_id | int |
Service ID |
name | string |
Zone name (example: testzone.com) |
Get DNS details
Returns details of the DNS zone
curl "https://portal.internetport.com/api/service/@service_id/dns/@zone_id" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/service/@service_id/dns/@zone_id', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/service/@service_id/dns/@zone_id', auth=auth)
print(req.json())
Example Response:
{
"service_id": 10,
"name": "booble.com",
"records": [
{
"id":"10",
"name":"qwerty",
"ttl":1800,
"priority":0,
"content":"127.0.0.1"
"type":"A"
},
{
"id":"11",
"name":"qwerty",
"ttl":1800,
"priority":0,
"content":"ns1.qwerty.com"
"type":"NS"
}
]
}
HTTP Request
GET /service/@service_id/dns/@zone_id
Query Parameters
Parameter | Type | Description |
---|---|---|
service_id | int |
Service ID |
zone_id | int |
Zone ID |
Remove DNS zone
Deletes the selected DNS zone
curl "https://portal.internetport.com/api/service/@service_id/dns/@zone_id" \
-u user:pass
$resp = Requests::delete('https://portal.internetport.com/api/service/@service_id/dns/@zone_id', array(), $options);
echo $resp->body;
req = requests.delete('https://portal.internetport.com/api/service/@service_id/dns/@zone_id', auth=auth)
print(req.json())
Example Response:
{
"info": [
"Domain zone testzone.com was deleted successfully."
]
}
HTTP Request
DELETE /service/@service_id/dns/@zone_id
Query Parameters
Parameter | Type | Description |
---|---|---|
service_id | int |
Service ID |
zone_id | int |
Zone ID |
Add DNS Record
Creates a new record in the DNS zone
curl "https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records" \
-u user:pass \
-d name="nameValue"\
-d ttl="ttlValue"\
-d priority="priorityValue"\
-d type="typeValue"\
-d content="contentValue"
$data = array(
'name' => 'nameValue',
'ttl' => 'ttlValue',
'priority' => 'priorityValue',
'type' => 'typeValue',
'content' => 'contentValue'
);
$resp = Requests::post('https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records', array(), $data, $options);
echo $resp->body;
payload = {
'name' : 'nameValue',
'ttl' : 'ttlValue',
'priority' : 'priorityValue',
'type' : 'typeValue',
'content' : 'contentValue'
}
req = requests.post('https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records', data=payload, auth=auth)
print(req.json())
Example Response:
{
"info": [
"Domain zone testzone.com was created successfully."
]
}
HTTP Request
POST /service/@service_id/dns/@zone_id/records
Query Parameters
Parameter | Type | Description |
---|---|---|
service_id | int |
Service ID |
zone_id | int |
Zone ID |
name | string |
Record name |
ttl | int |
Record ttl (example: 3600) |
priority | int |
Priority of the record |
type | string |
Record type (example: A) |
content | string |
Contents of the record (example: 192.168.1.2) |
Edit DNS Record
Edits the selected DNS zone record
curl "https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records/@record_id" \
-u user:pass \
-d name="nameValue"\
-d ttl="ttlValue"\
-d priority="priorityValue"\
-d type="typeValue"\
-d content="contentValue"
$data = array(
'name' => 'nameValue',
'ttl' => 'ttlValue',
'priority' => 'priorityValue',
'type' => 'typeValue',
'content' => 'contentValue'
);
$resp = Requests::put('https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records/@record_id', array(), $data, $options);
echo $resp->body;
payload = {
'name' : 'nameValue',
'ttl' : 'ttlValue',
'priority' : 'priorityValue',
'type' : 'typeValue',
'content' : 'contentValue'
}
req = requests.put('https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records/@record_id', data=payload, auth=auth)
print(req.json())
Example Response:
{
"record": {
"id": "55",
"type": "A",
"ttl": "3600",
"name": "test",
"priority": 0,
"content": "192.168.1.2"
},
"info": [
"The record was updated successfully."
]
}
HTTP Request
PUT /service/@service_id/dns/@zone_id/records/@record_id
Query Parameters
Parameter | Type | Description |
---|---|---|
service_id | int |
Service ID |
zone_id | int |
Zone ID |
record_id | int |
Record ID |
name | string |
Record name |
ttl | int |
Record ttl (example: 3600) |
priority | int |
Priority of the record |
type | string |
Record type (example: A) |
content | string |
Contents of the record (example: 192.168.1.2) |
Remove DNS Record
Removes the selected DNS zone record
curl "https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records/@record_id" \
-u user:pass
$resp = Requests::delete('https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records/@record_id', array(), $options);
echo $resp->body;
req = requests.delete('https://portal.internetport.com/api/service/@service_id/dns/@zone_id/records/@record_id', auth=auth)
print(req.json())
HTTP Request
DELETE /service/@service_id/dns/@zone_id/records/@record_id
Query Parameters
Parameter | Type | Description |
---|---|---|
service_id | int |
Service ID |
zone_id | int |
Zone ID |
record_id | int |
Record ID |
Services
SMS Account billing
Return billing details of sms account assigned with your profile
curl "https://portal.internetport.com/api/sms/billing" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/sms/billing', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/sms/billing', auth=auth)
print(req.json())
HTTP Request
GET /sms/billing
SMS History
Return sent sms history
curl "https://portal.internetport.com/api/sms/history" \
-u user:pass
$resp = Requests::get('https://portal.internetport.com/api/sms/history', array(), $options);
echo $resp->body;
req = requests.get('https://portal.internetport.com/api/sms/history', auth=auth)
print(req.json())
HTTP Request
GET /sms/history
Send SMS
curl "https://portal.internetport.com/api/sms/send" \
-u user:pass \
-d to="toValue"\
-d from="fromValue"\
-d text="textValue"
$data = array(
'to' => 'toValue',
'from' => 'fromValue',
'text' => 'textValue'
);
$resp = Requests::post('https://portal.internetport.com/api/sms/send', array(), $data, $options);
echo $resp->body;
payload = {
'to' : 'toValue',
'from' : 'fromValue',
'text' : 'textValue'
}
req = requests.post('https://portal.internetport.com/api/sms/send', data=payload, auth=auth)
print(req.json())
HTTP Request
POST /sms/send
Query Parameters
Parameter | Type | Description |
---|---|---|
to | string |
Phone number to send message to |
from | string |
Phone number to send message from |
text | string |
Text message body to send |