Deploi API Documentation
Introduction
Index
WordpressCheckSetup
Check that the WordPress was set up correctly.
Request:
{
"command": "WordpressCheckSetup",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123,
"network": "192.168.2.1/24"
}
- command: string, "WordpressCheckSetup"
- token: string, required, must be a valid authentication token
- id: number, the ID of the WordPress service
- network: string, the private network connector that get deleted from the firewall
Response:
{
"success": true,
"message": "Domain IPs checked",
"messageId": -1,
"ips": {
"success": true,
"exists": true,
"message": ""
},
"installed": {
"success": true,
"exists": true,
"message": ""
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, id used to lookup localized messages
- ips: structure
- success: boolean, succeeded checking IP status
- exists: boolean, the IPs are set correctly
- message: string, why the IP check failed
- installed: structure
- success: boolean, succeeded checking that WordPress was installed
- exists: boolean, WordPress was installed correctly
- message: string, why the install check failed
GetDomainPrice
Get the price of registering the domain.
Request:
{
"command": "GetDomainPrice",
"domain": "example.com"
}
- command: string, "GetDomainPrice"
- domain: string, domain name
Response:
{
"success": true,
"message": "Price found.",
"messageId": 10,
"priceRegistration": "95",
"priceTransfer": "95",
"priceRenewal": "95"
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- priceRegistration: string, the registration price in NOK
- priceTransfer: string, the transfer price in NOK
- priceRenewal: string, the renewal price in NOK
GetFirewallPublicIPs
Get the public IPs of the firewall.
Request:
{
"command": "GetFirewallPublicIPs",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123
}
- command: string, "GetFirewallPublicIPs"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall service
Response:
{
"success": true,
"message": "",
"messageId": 0,
"publicIPv4s": [
"191.64.51.72"
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- publicIPv4s: array, list of the firewall's public IPv4s
OrderDomain
Order a new domain.
Request:
{
"command": "OrderDomain",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 15,
"domain": "example.com",
"operation": "register",
"prepare": false,
"authcode": "",
"setOwnerAndContacts": true,
"setOwner": true,
"owner": {
"firstname": "John",
"lastname": "Eirik",
"email": "johneirik@eksempel.no",
"phone": "48165937",
"companyname": "",
"taxid": "",
"type": "person",
"addressline1": "Kasperudgata 48",
"country": "NO",
"state": "Ålesund",
"postalcode": "4487",
"city": "Ålesund"
},
"setAdmin": true,
"admin": {
"firstname": "Dag",
"lastname": "Erik",
"email": "dagerik@eksempel.no",
"phone": "41283443",
"companyname": "",
"taxid": "",
"type": "person",
"addressline1": "Skihavnsvegen 93",
"country": "NO",
"state": "Oslo",
"postalcode": "0347",
"city": "Oslo"
},
"setTech": true,
"tech": {
"firstname": "Ragnar",
"lastname": "Erikson",
"email": "ragnarerikson@eksempel.no",
"phone": "92648162",
"companyname": "",
"taxid": "",
"type": "person",
"addressline1": "Ørstadsvingen 34",
"country": "NO",
"state": "Kristiansand",
"postalcode": "0182",
"city": "Kristiansand"
},
"setBilling": true,
"billing": {
"firstname": "Hans",
"lastname": "Petter",
"email": "hanspetter@eksempel.no",
"phone": "98328152",
"companyname": "",
"taxid": "",
"type": "person",
"addressline1": "Haugerstrandveien 56",
"country": "NO",
"state": "Gjøvik",
"postalcode": "0671",
"city": "Gjøvik"
}
}
- command: "OrderDomain"
- token: string, required, must be a valid authentication token
- clientid: string, the id of the client that will own the server
- domain: string, the domain name
- operation: string, can be "register" or "transfer"
- prepare: boolean, if true, the client sets their name server, if false, Deploi sets their name server.
- authcode: string, the authorization code for a domain transfer
- setOwnerAndContacts: boolean, if false for register the contact details on the account will be used, for transfer the existing owner and contacts will be kept
- setOwner: boolean, if true, the information from the owner provided will be used, if false, the information from the account will be used and set as administrative contact
- owner: struct Contact, the legal owner of the domain
- setAdmin: boolean, if true, the information from the administrative contact will be used, if false, the account information will be used and set as administrative contact
- admin: struct Contact, the administrative contact of the domain
- setTech: boolean, if true, the information from the technical contact will be used, if false, the account information will be used and set as technical contact
- tech: struct Contact, the tech contact of the domain
- setBilling: boolean, if true, the information from the billing contact will be used, if false, the account information will be used and the account will be set as billing contact
- billing: struct Contact, the billing contact of the domain
struct Contact:
- firstname: string, the first name of the contact
- lastname: string, the last name of the contact
- email: string, the email of the contact
- phone: string, the phone number of the contact
- companyname: string, the name of the company
- taxid: number, the company registration number
- type: string (enumeration), type of registration, can be set to either "person" or "company"
- addressline1: string, if type: person, the person must use their home address, if type: company, the company must use the address of the company
- country: string, the country part of the address
- state: string, the state part of the address
- postalcode: number, the postal code of the address
- city: string, the city part of the address
Response:
{
"success": true,
"message": "Domain order processing.",
"messageId": 35
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetInvoices
Get invoices.
Request:
{
"command": "GetInvoices",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 15
}
- command: "GetInvoices"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
Response:
{
"success": true,
"message": "",
"messageId": 0,
"invoices": [
{
"id": 4714,
"date": "2022-12-18",
"due": "2023-01-01",
"amount": "960",
"cancelled": false
"paid": true
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- invoices: array of structures
- id: number, the id of the invoice
- date: string, date of the order
- due: string, due date of invoice
- amount: string, the amount as a string
- cancelled: boolean, whether the invoice has been cancelled.
- paid: boolean, whether the invoice has been paid.
Ping
Track availability status.
Request:
{
"command": "Ping",
"token": "cebxfljqkzjyirqxvyxsbaxdq"
}
- command: "Ping"
- token: string, required, must be a valid authentication token
Response:
{
"success": true,
"message": "pong"
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
AddFirewallPrivateNetwork
Add private networks to the firewall.
Request:
{
"command": "AddFirewallPrivateNetwork",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123,
"network": "192.168.2.1/24"
}
- command: string, "AddFirewallPrivateNetwork"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall
- network: string, the private network that get added to the firewall
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetBackupInfo
Get information and details on a backup plan.
Request:
{
"command": "GetBackupInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"planid": "Disk-8-2-1"
}
- command: "GetBackupInfo"
- token: string, required, must be a valid authentication token
- planid: string, required, the ID of the plan
Response:
{
"success": true,
"message": "",
"messageId": 0,
"slots": [
{
"interval": {
"from": "2024-01-01",
"to": "2024-01-07"
},
"name": "2024-01-01 04:00:02",
"present": true
},
{
"interval": {
"from": "2023-12-25",
"to": "2023-12-31"
},
"name": "2024-12-27 04:00:03",
"present": true
},
{
"interval": {
"from": "2023-12-18",
"to": "2023-12-24"
},
"name": "2024-12-20 04:00:04",
"present": true
},
{
"interval": {
"from": "2023-12-11",
"to": "2023-12-17"
},
"name": "2024-12-13 04:00:05",
"present": true
},
{
"type": "permanent",
"interval": {},
"name": "2024-12-06 04:00:06",
"present": true
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- slots, array of structures
- type: string, can be interval or permanent
- interval: structure
- from: string, the date of the backup
- to: string, the date the backup gets deleted
- name: string, the name of the backup
- present: boolean, if true, the backup is present, if false, the backup is deleted or not active
ChangeNameServers
Change name servers of the domain
Request:
{
"command": "ChangeNameServers",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"domain": "progsbase.com",
"defaults": false,
"nameservers": [
"example.com",
""
]
}
- command: "ChangeNameServers"
- token: string, required, must be a valid authentication token
- domain: string, the domain name
- defaults: boolean, if true, deploi's default name server is used, if false, the name server is set by the customer
- nameservers: array, list of name servers specified by the customer
Response:
{
"success": true,
"message": "",
"messageId": 74
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetEmailAccountInfo
Get e-mail account information.
Request:
{
"command": "GetEmailAccountInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"email": "test@example.com"
}
- command: "GetEmailAccountInfo"
- token: string, required, must be a valid authentication token
- email: string, required, an email address
Response:
{
"success": true,
"message": "",
"messageId": 0,
"used": 0.2,
"total": 10
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- used: number, the used GB of storage
- total: number, the available GB of storage
GetFirewalls
Get information about a firewall.
Request:
{
"command": "GetFirewalls",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: string, "GetFirewall"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
- name: string, name of firewall
- tb: number, terabytes of transfer per month
- ipv4s: number, number of public IPv4 addresses to assign to the firewall
- status: string, the status of the firewall
Response:
{
"success": true,
"message": "",
"messageId": 0,
"firewalls": [
{
"id": 675,
"name": "Inductive Firewall",
"tb": 1,
"ipv4s": 1,
"status": "active"
}
],
"
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- firewalls: array of structures
- id: number, the ID of the firewall service
- name: string, name of the firewall
- tb: number, the amount of terrabytes that the firewall can process
- ipv4s: number, the amount of IPv4s
- status: string, the status of the firewall, can either be "active" or "off"
GetDomainContacts
Get the domain contacts.
Request:
{
"command": "GetDomainContacts",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"domain": "example.com"
}
- command: string, "GetDomainContacts"
- token: string, required, must be a valid authentication token
- domain: string, the domain name
Response:
{
"success": true,
"message": "",
"messageId": 0,
"contacts": {
"holder": {
"id": "n-jm6374",
"firstName": "Marc",
"lastName": "Bobson",
"company": true,
"companyName": "Company ASA",
"companyID": "NO 294849297 MVA",
"country": "NO",
"addressLine1": "Main road 1",
"addressLine2": "Flr. 2",
"postalCode": "9387",
"city": "Oslo",
"phone": "(+47) 39384023",
"email": "bobtest@test.com"
},
"administrativeContact": {
"id": "n-jm6375",
"firstName": "Bob",
"lastName": "Marcson",
"company": false,
"companyName": "",
"companyID": "",
"country": "NO",
"addressLine1": "Main road 2",
"addressLine2": "Flr. 1",
"postalCode": "9387",
"city": "Oslo",
"phone": "(+47) 57395475",
"email": "bobtest@test.com"
},
"technicalContact": {
"id": "n-jm6375",
"firstName": "Bob",
"lastName": "Marcson",
"company": false,
"companyName": "",
"companyID": "",
"country": "NO",
"addressLine1": "Main road 2",
"addressLine2": "Flr. 1",
"postalCode": "9387",
"city": "Oslo",
"phone": "(+47) 57395475",
"email": "bobtest@test.com"
},
"billingContact": {
"id": "n-jm6375",
"firstName": "Bob",
"lastName": "Marcson",
"company": false,
"companyName": "",
"companyID": "",
"country": "NO",
"addressLine1": "Main road 2",
"addressLine2": "Flr. 1",
"postalCode": "9387",
"city": "Oslo",
"phone": "(+47) 57395475",
"email": "bobtest@test.com"
}
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- contacts: structure
- holder: structure Domain Contact
- administrativeContact: structure Domain Contact
- technicalContact: structure Domain Contact
- billingContact: structure Domain Contact
structure Domain Contact:
- id: string, the ID of the contact, automatically created upon registration by deploi
- firstName: string, the firstname of the contact
- lastName: string, the lastname of the contact
- company: boolean, is company or person
- companyName: string, the name of the company
- companyID: string, the ID of the company
- country: string, the country of the contact
- addressLine1: string, the address of the contact
- addressLine2: string, second address of the contact
- postalCode: string, the postal code of the address
- city: string, the city of the address
- phone: string, the phone number of the contact
- email: string, the email of the contact
GetAccountInfo
Get account information.
Request:
{
"command": "GetAccountInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetAccountInfo"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
Response:
{
"success": true,
"message": "",
"messageId": 0,
"accountInfo": {
"id": 123,
"firstname": "Bob",
"lastname": "Jensen",
"email": "bob@company.com",
"phone": "1393927405",
"type": "company",
"companyname": "Company Ltd",
"legalentityid": "53942340929",
"addressline1": "Majorstreet 1",
"addressline2": "",
"city": "New Sidney",
"postalcode": "23902",
"countrycode": "US",
"agreedtotac": true,
"receiveinfo": true,
"ehfinvoice": false,
"autocreate": true
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- accountinfo: structure of account information
- loggedin: boolean, whether the user is logged in or not
- firstname: string, the first name of the contact
- lastname: string, the last name of the contact
- email: string, the email of the contact
- phone: string, the phone number of the contact
- type: string, either "company" or "person"
- companyname: string, the name of the company
- legalentityid: string, the ID of the legal entity
- addressline1: string, if type: person, the person must use their home address, if type: company, the company must use the address of the company
- addressline2: string, additional address information
- city: string, the city part of the address
- postalcode: string, the postal code of the address
- countrycode: string, two letter country code, ISO 3166-1 alpha-2
- agreedtotac: boolean, must be true, the agreement of the terms and conditions
- receiveinfo: boolean, if true, the customer will receive newsletters
- ehfinvoice: boolean, if true, customer will receive invoices using EHF
- autocreate: boolean, whether the client can automatically provision services
GetDatabases
Get the databases.
Request:
{
"command": "GetDatabases",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetDatabases"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client that views the databases
Response:
{
"success": true,
"message": "",
"messageId": 0,
"databases": [
{
"id": 106,
"type": "MySQL",
"ram": 1,
"cpu": 0.25,
"disk": 10,
"status": {
"status": "active",
"diskUsed": 0.3,
"ips": ["192.0.2.14", "10.0.0.69", "2001:db8:7204:1::a11a:5741"],
"post": 3427
}
},
{
"id": 117,
"type": "PostgreSQL",
"ram": 1,
"cpu": 0.25,
"disk": 9.9,
"status": {
"status": "active",
"diskUsed": 0.1,
"ips": ["192.0.2.14"],
"post": 5528
}
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- databases: array of structures
- id: number, the ID from the agreement to the specific service delivered by Deploi.
- type: Type of database, for example MySQL or PostgreSQL
- ram: number, RAM quota in GB
- cpu: number, CPU quota
- disk: number, Disk quota.
- status: structure
- status: string, for example "active" or "inactive"
- diskUsed: number, current disk usage
- ips: array of strings, the IP the database is listening on
- port: number, the port the database is listening on
UpdateDomainContact
Update the contact of the domain.
Request:
{
"command": "UpdateDomainContact",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"domain": "inductive.no",
"contact": "admin",
"info": {
"id": "n-jm6375",
"firstName": "Jonas",
"lastName": "Sveinsen",
"company": false,
"companyName": "",
"companyID": "",
"country": "NO",
"addressLine1": "Main road 2",
"addressLine2": "Flr. 1",
"postalCode": "9387",
"city": "Oslo",
"phone": "(+47) 57395475",
"email": "bobtest@test.com"
}
}
- command: string, "UpdateDomainContact"
- token: string, required, must be a valid authentication token
- domain: string, domain name
- contact: string, the type of contact
- info: structure
- id: string, the ID of the contact, automatically created upon registration by Deploi
- firstName: string, the first name of the contact
- lastName: string, the last name of the contact
- company: boolean, whether the contact works for a company or not
- companyName: string, the company the contact works for
- companyID: string, the ID of the company
- country: string, country code of the country the contact lives in
- addressLine1: string, main address of the contact
- addressLine2: string, second address or additional information
- postalCode: string, the postal code of the address
- city: the city of the address
- phone: string, phone number of the contact
- email, string, email address of the contact
Response:
{
"success": true,
"message": "Owner or contact change processing.",
"messageId": 73,
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
DeleteDomainRecord
Delete a domain record.
Request:
{
"command":"DeleteDomainRecord",
"token":"cebxfljqkzjyirqxvyxsbaxdq",
"domain":"example.com",
"type":"A",
"host":"www",
"value": "192.0.2.146"
}
- command: string, "DeleteDomainRecord"
- token: string, required, must be a valid authentication token
- type: string, can be "A", "AAAA", "TXT", "MX", "CNAME", "SOA" and "SRV"
- domain: string, the domain name
- host: string, the subdomain, API supports giving the whole domain
- value: string, the value of the domain record, what the value should be is determined by the record type
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
Login
Login to account.
Request:
{
"command": "Login",
"username": "username",
"password": "password",
"secondfactor": "413903"
}
- command: "Login"
- username: string, required. The e-mail of the user.
- password: string, required. The password of the user.
- secondfactor: string, optional. Two factor code for two factor authentication.
Response:
{
"success": true,
"message": "Login successful.",
"messageId": 0,
"data": {
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clients": [
{
"id": 123,
"name": "Company A"
},
{
"id": 321,
"name": "Company B"
}
]
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId, number, ID to lookup localized messages
- data: structure, optional
- token: string, login token to be passed with subsequent requests
- clients: array of structures, the clients the user has access to
- id: the ID of the user
- name: the name of the company
GetEmailProducts
Get Email Products.
Request:
{
"command": "GetEmailProducts",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetEmailProducts"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
Response:
{
"success": true,
"message": "",
"messageId" 0,
"emailProducts": [
{
"id": 517,
"email": "test@deploi.com",
"type": "account",
"used": 26,
"total": 74
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- emailProducts: array of structures
- id: number, the ID of the agreement to the specific service delivered by Deploi.
- email: string, the email address
- type: string, account or transactional
- used: number, the used GB of storage
- total: number, the available GB of storage
UpdateDomainRecord
Update a domain record.
Request:
{
"command": "UpdateDomainRecord",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"domain": "example.com",
"type": "A",
"from": {
"host":"www",
"value": "192.0.2.146",
"options": {
"ttl": 86400
}
},
"to": {
"host":"www2",
"value": "192.0.2.147",
"options": {
"ttl": 86400
}
}
}
- command: string, "UpdateDomainRecord"
- token: string, required, must be a valid authentication token
- type: string, required, can be "A", "AAAA", "TXT", "MX", "CNAME", "SOA" and "SRV"
- from: structure
- host: string, required, the subdomain, API supports giving the whole domain
- value: string, required, the value of the domain record, what the value should be is determined by the record type
- options: structure
- ttl: number, time to live in seconds
- service: string, the symbolic name of the desired service
- protocol: string, the type of protocol, can be "tcp", "udp" or "tls"
- priority: number, 0 - 65535
- weight: number, 0 - 65535
- port: number, 0 - 65535
- to: structure
- host: string, required, the subdomain, API supports giving the whole domain
- value: string, required, the value of the domain record, what the value should be is determined by the record type
- options: structure
- ttl: number, time to live in seconds
- service: string, the symbolic name of the desired service
- protocol: string, the type of protocol, can be "tcp", "udp" or "tls"
- priority: number, 0 - 65535
- weight: number, 0 - 65535
- port: number, 0 - 65535
Response:
{
"success": true,
"message": "Record updated.",
"messageId": 61
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetKubernetesInfo
Get information about a Kubernetes account.
Request:
{
"command": "GetKubernetesInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123
}
- command: "GetKubernetesInfo"
- token: string, required, must be a valid authentication token
- id: number, ID of the server. Must be accessible by the logged in account.
Response:
{
"success": true,
"message": "",
"messageId": 0,
"kubernetesInfo": {
"resources": {
"cpuAvailable": 4000,
"cpuUsed": 0,
"diskAvailable": 21474836480,
"diskUsed": 0,
"ramAvailable": 8589934592,
"ramUsed": 0
}
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- kubernetesInfo: structure
- resources: structure
- cpuAvailable: number, the number of milli CPU available (1000m = 1 vCPU)
- cpuUsed: number, the number of milli CPUs in use.
- diskAvailable: number, the number of bytes available
- diskUsed: number, the number of bytes allocated for storage
- ramAvailable: number, the number of bytes of memory available for services.
- ramUsed: number, the number of bytes of ram currently allocated for services.
- resources: structure
DuplicateWordpress
Create a database on Deploi's managed database solution.
Request:
{
"command": "DuplicateWordpress",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"type": "forge",
"id": 123,
"siteId: 1231231",
"newDomain": "new.example.com"
}
- command: "DuplicateWordpress"
- token: string, required, must be a valid authentication token
- type: string, the underlying system that delivers WordPress
- id: number, the ID of the WordPress-installation
- siteId: number, the ID of the WordPress site that gets duplicated
- newDomain: string, the domain of the duplicated WordPress site
Response:
{
"success": true,
"message": "Duplicating site succeeded.",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetServerInfo
List server information.
Request:
{
"command": "GetServerInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123
}
- command: "GetServerInfo"
- token: string, required, must be a valid authentication token
- id: number, ID of the server. Must be accessible from the logged in account.
Response:
{
"success": true,
"message": "",
"messageId": 0,
"serverInfo": {
"type": "virtual",
"virtual": {
"mainip": "192.0.2.55",
"ram": 2,
"cpu": 1,
"disks": [
{
"id": "125",
"type": "ssd",
"size": 20
},
{
"id": "126",
"type": "hdd",
"size": 1000
}
],
"suspended": false,
"running": true,
"ips": [
"192.0.2.55",
"2001:8d1:7204:1:0000:0000:01a2:3ecc",
"10.5.0.112"
]
},
"licenses": []
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- serverInfo: structure
- type: string, the underlying technology used to deliver the server
- virtual: structure
- mainip: string, the main IP address of the server
- ram: number, the amount of GB in ram
- cpu: number, the amount of processors
- disks: array of structures
- id: number, the ID of the disk service
- type: string, type of disk, can either be "ssd" or "hdd"
- size: number, the size of the disk in GB
- suspended: boolean, if true, the server has been suspended
- running: boolean, if true, the server is up and running
- ips: array, list of IPs in the server
- licenses: array of structures, licenses associated with the server
UpdateVirtualServer
Update a virtual server.
Request:
{
"command": "UpdateVirtualServer",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123,
"setCpu": true,
"cpucent": 400,
"setRam": false,
"ram": 0,
"diskChange": [
{
"id": "323",
"size": 33
}
]
}
- command: "UpdateVirtualServer"
- token: string, required, must be a valid authentication token
- id: number, ID of virtual server product
- setCpu: boolean, whether to update the amount of CPU
- cpucent: number, new CPU amount
- setRam: boolean, whether to update the amount of RAM
- ram: number, new amount of RAM in GB
- diskChange: array of structures
- id: string, the ID of the disk
- size: number, the new size of the disk in GB
Response:
{
"success": true,
"message": "Request to change server resources received.",
"messageId": 63
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetAlerts
Get alerts.
Request:
{
"command": "GetAlerts",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetAlerts"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
Response:
{
"success": true,
"message": "",
"messageId": 0,
"alerts": [
{
"id": 834,
"description": "Backup of server 123 has been performed.",
"checkFrequency": {
"day": 1,
"week": 0,
"month": 0,
"year": 0
},
"checkTime": "01:00"
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- alerts: array
- id: number, the ID of the alert service.
- description: string, description of the alert
- checkFrequency: structure, how often the alert is checked
- day: number
- week: number
- month: number
- year: number
- checkTime: time, the time of day when the check is performed
AddFirewallRule
Add firewall rule.
Request:
{
"command": "AddFirewallRule",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123,
"src-cidr": "192.0.2.0/8",
"src-ip": "192.0.2.2",
"src-port": 59375,
"dst-ip": "10.0.1.5",
"dst-port": 22
}
- command: string, "AddFirewallRule"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall
- src-cidr: string, cidr of allowed addresses
- src-ip: string, public IP to expose
- src-port: number, port to expose on the public IP
- dst-ip: string, private IP to expose on the public IP
- dst-port: number, port to expose on the public port
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, id used to lookup localized messages
GetWordpress
Get managed WordPress websites.
Request:
{
"command": "GetWordpress",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetWordpress"
- token: string, required, must be a valid authentication token
- clientid: number, ID of the client
Response:
{
"success": true,
"message": "",
"messageId": 0,
"wordpresses": [
{
"type": "deploihosted",
"id": 569,
"domain": "example.cloud",
"deploihosted": {
"ram": 8,
"cpu": 400,
"disk": 20,
},
"forge": {
"siteId": 0,
"serverId": 0
}
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID to lookup localized messages
- wordpresses: array of structures
- type: string, can be "deploihosted" or "forge"
- id: number, the ID of the WordPress service
- domain: string, the domain name
- deploihosted: structure
- ram: RAM quota for website
- cpu: CPU-cent quota for website
- disk: disk quota for website
- forge: structure
- siteId: number, The Forge site ID
- serverId: number, Forge server ID
GetDomains
Get domain list for account.
Request:
{
"command": "GetDomains",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetDomains"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
Response:
{
"success": true,
"message": "",
"messageId": 0,
"domains": [
{
"name": "inductive.no",
"id": "7",
"status": "active",
"registrationDate": "2015-06-01",
"expiryDate": "2023-06-01",
"nextDueDate": "2023-05-01"
}
]
}
- success: boolean, whether the request was successful or not.
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- domains: array of structures
- name: string, The domain name.
- id: number, The deploi domain ID.
- status: string, the status of the domain
- registrationDate: date, Fetched from registrar.
- expiryDate: date, Fetched from registrar.
- nextDueDate: date, Fetched from deploi.
GetBackupPlans
List backup plans.
Request:
{
"command": "GetBackupPlans",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetBackupPlans"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client that owns the backup plans
Response:
{
"success": true,
"message": "",
"messageId": 0,
"backupPlans": [
{
"id": "Disk-8-2-1",
"location": 1,
"daily": 0,
"weekly": 5,
"monthly": 0,
"yearly": 0,
"backupof": "Disk",
"objectid": "8",
"objectname": "Inductive Web Server Disk"
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages.
- backupPlans: array of structures.
- id: string, ID of backup plan.
- backupof: string, what is backed up.
- objectid: string, ID of what is being backed up.
- objectname: string, name of what is backed up.
- location: Name of location where backup is stored.
- daily: number, how many daily backups are kept.
- weekly: number, how many weekly backups are kept.
- monthly: number, how many monthly backups are kept.
- yearly: number, how many yearly backups are kept.
GetDisks
List disks.
Request:
{
"command": "GetDisks",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetDisks"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client that owns the disks
Response:
{
"success": true,
"message": "",
"messageId": 0,
"disks": [
{
"id": "hwe30nflge",
"name": "Datadisk",
"type": "SSD",
"technology": "internal",
"size": 42949672960
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- disks: array of structures
- id: string, ID of disk
- name: string, name of disk
- type: string, type of disk, either SSD or HDD.
- technology: string, either "internal" or "network"
- size: number, size of disk
AddFirewallPrivateNetworkConnector
Add private network connector to the firewall.
Request:
{
"command": "AddFirewallPrivateNetworkConnector",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123,
"network": "192.168.2.1/24",
"local": "10.0.0.47",
"remote": "10.0.0.204"
}
- command: string, "AddFirewallPrivateNetworkConnector"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall
- network: string, the private network that get added to the firewall
- local: string, local IP address of the connector
- remote: string, IP address of the client
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetUserInfo
Get user information.
Request:
{
"command": "GetUserInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq"
}
- command: "GetUserInfo"
- token: string, required, must be a valid authentication token
Response:
{
"success": true,
"message": "",
"messageId": 0,
"userInfo": {
"id": 432,
"firstname": "Bob",
"lastname": "Jensen",
"email": "bob@company.com",
"twoFactorAuthentication": false,
"accounts": [
123,
321
]
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, id used to lookup localized messages
- userInfo: structure
- id: string, the ID of the user
- firstname: string, first name of the user
- lastname: string, last name of the user
- email: string, email of the user
- twoFactorAuthentication: boolean, if true, two factor verification is enabled
- accounts: string, the ID of the accounts where the user has administrative rights
GetVirtualServerPrice
Get the price of a virtual server.
Request:
{
"command": "GetVirtualServerPrice",
"product" "server",
"server": {
"ram": 4,
"cpu": 1,
"disk": 10,
}
}
- command: "GetVirtualServerPrice"
- product: string, required, product name
- server: structure, specification of server
- ram: number, GB of RAM
- cpu: number, CPU percentage
- disk: number, GB of disk
Response:
{
"success": true,
"message": "",
"price": 112
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- price: number, the price of the virtual server
UpdateAccountInfo
Update account information for an account.
Request:
{
"command": "UpdateAccountInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123,
"settype": false,
"type": "",
"setcompanyname": false,
"companyname": "",
"setlegalentityid": false,
"legalentityid": "",
"setfirstname": false,
"firstname": "",
"setlastname": false,
"lastname": "",
"setemail": false,
"email": "",
"setphone": false,
"phone": "",
"setaddressline1": false,
"addressline1": "",
"setaddressline2": false,
"addressline2": "",
"setpostalcode": false,
"postalcode": "",
"setcity": false,
"city": "",
"setstate": false,
"state": "",
"setcountrycode": false,
"countrycode": "",
"setEhfInvoice": false,
"ehfinvoice": false,
"setagreedtotac": false,
"agreedtotac": false,
"setreceiveinfo": false,
"receiveinfo": false
}
- command: string, "UpdateAccountInfo"
- token: string, required, must be a valid authentication token
- clientid: number, required, the ID of the client
- settype: boolean, required, if true, the client requests to change the type
- type: string, required, can be set to either "company" or "person"
- setcompanyname: boolean, required, if true, the client requests to change the company name
- companyname: string, the name of the company
- setlegalentityid: boolean, required, if true, the client requests to change the legal entity id
- legalentityid: string, the legal entity ID of the company
- setfirstname: boolean, required, if true, the client requests to change the first name
- firstname: string, the first name of the contact
- setlastname: boolean, required, if true, the client has changed the last name
- lastname: string, the last name of the contact
- setemail: boolean, required, if true, the client has changed the e-mail
- email: string, the email of the contact
- setphone: boolean, required, if true, the client has changed the phone number
- phone: string, the phone number of the contact
- setaddressline1: boolean, required, if true, the client has changed address line 1
- addressline1: string, if type: person, the person must use their home address, if type: company, the company must use the address of the company
- setaddressline2: boolean, required, if true, the client has changed address line 2
- addressline2: string, additional address information
- setpostalcode: boolean, required, if true, the client has changed the postal code
- postalcode: string, the postal code of the address
- setcity: boolean, required, if true, the client has changed the city
- city: string, the city part of the address
- setstate: boolean, required, if true, the client has changed the state
- state: string, the state of the address
- setcountrycode: boolean, required, if true, the client has changed the country code
- countrycode: string, the countrycode part of the address
- setEhfInvoice: boolean, required
- ehfinvoice: boolean, required, if true, customer will receive invoices using EHF
- setagreedtotac: boolean, required, if true, the client
- agreedtotac: boolean, required, must be true, the agreement of the terms and conditions
- setreceiveinfo: boolean, required
- receiveinfo: boolean, required, if true, the customer will receive newsletters
Response:
{
"success": true,
"message": "The request has been received and is being processed.",
"messageId": 65
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetFirewallPrivateNetworks
Get the private networks of the firewall.
Request:
{
"command": "GetFirewallPrivateNetworks",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123
}
- command: string, "GetFirewallPrivateNetworks"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall service
Response:
{
"success": true,
"message": "",
"messageId": 0,
"privateNetworks": [
{
"network": "192.168.0.1/24",
"name": "br0",
"connectors": [
{
"name": "gre0_2",
"local": "10.0.0.47",
"remote": "10.0.0.202",
"ip": "192.168.0.2"
}
]
},
{
"network": "192.168.1.1/24",
"name": "br1",
"connectors": [
{
"name": "gre1_2",
"local": "10.0.0.47",
"remote": "10.0.0.204",
"ip": "192.168.1.2"
}
]
},
{
"network": "192.168.2.1/24",
"name": "br2",
"connectors": []
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- privateNetworks: array, list of the private networks
- network: string, network IP range
- name: name of the private network
- connectors: array of structures
- name: string, name of the connector
- local: string, local IP address of the connector
- remote: string, IP address of the client
- ip: string, IP address on the virtual network
GetServers
List servers.
Request:
{
"command": "GetServers",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetServers"
- token: string, required, must be a valid authentication token
Response:
{
"success": true,
"message": "",
"messageId": 0,
"servers": [
{
"id": 2,
"name": "testvps",
"type": "virtual",
"ram": 2,
"cpu": 1,
"disk": 10,
"status": "active"
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- servers: array of structures
- id: number, the ID of the server service
- name: string, name of server at Deploi
- type: type server: virtual or dedicated
- ram: number, the amount of GB in ram
- cpu: number, the amount of processors
- disk: number, the size of the disk in GB
- status: string, the status of the server, options are: "creating", "active" and "off"
DeleteFirewallRule
Delete a firewall rule.
Request:
{
"command": "DeleteFirewallRule",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123,
"src-cidr": "192.0.2.0/8",
"src-ip": "192.0.2.2",
"src-port": 59375,
"dst-ip": "10.0.1.5",
"dst-port": 22,
"protocol": "tpc",
}
- command: string, "DeleteFirewallRule"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall service
- src-cidr: string, CIDR of allowed addresses
- src-ip: string, public IP to expose
- src-port: number, port to expose on the public IP
- dst-ip: string, private IP to expose on the public IP
- dst-port: number, port to expose on the public port
- protocol: string, tcp or udp
Response:
{
"success": true,
"message": "",
"messageId": 1
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
TransferDomain
Transfer a domain to Deploi.
Request:
{
"command": "TransferDomain",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 10,
"domain": "example.com",
"authcode": "amfi3mfp"
}
- command: "TransferDomain"
- token: string, required, must be a valid authentication token
- clientid: string, the ID of the client that will own the server
- domain: string, the domain name
- authcode: string, an authorization code for the domain name
Response:
{
"success": true,
"message": "Domain transfer in progress.",
"messageId": 93
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
DeleteFirewallPrivateNetworkConnector
Delete private network connector from the firewall.
Request:
{
"command": "DeleteFirewallPrivateNetworkConnector",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 675,
"network": "192.168.0.1/24",
"connector": "gre0_2"
}
- command: string, "DeleteFirewallPrivateNetworkConnector"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall service
- network: string, the private network connector that get deleted from the firewall
- connector: string, the name of the virtual network port that get deleted
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetInvoiceInfo
Get invoice information.
Request:
{
"command": "GetInvoiceInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"invoiceNr": 432
}
- command: "GetInvoiceInfo"
- token: string, required, must be a valid authentication token
- invoiceNr: number, requires, the invoice number
Response:
{
"success": true,
"message": "",
"messageId": 0,
"invoiceInfo": {
"date": "2022-12-18",
"due": "2023-01-01",
"amount": "960",
"cancelled": false
"paid": true,
"lines": [
{
"description": "Server",
"amount": "960"
}
]
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- invoiceInfo: structure of invoice date and due date
- date: string
- due: string
- amount: string, the amount as a string
- cancelled: boolean, whether the invoice has been cancelled
- paid: boolean, whether the invoice has been paid
- lines: array of structures
- description: string, a description of the invoice
- amount: number, the order line amount
DeleteFirewallPrivateNetwork
Delete private networks from the firewall.
Request:
{
"command": "DeleteFirewallPrivateNetwork",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123,
"network": "192.168.2.1/24"
}
- command: string, "DeleteFirewallPrivateNetwork"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall service
- network: string, the private network that get deleted from the firewall
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetKubeConfig
Get Kubernetes config file for managed Kubernetes account.
Request:
{
"command": "GetKubeConfig",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123
}
- command: "GetKubeConfig"
- token: string, required, must be a valid authentication token
- id: number, ID of the server. Must be accessible by the logged in account.
Response:
{
"success": true,
"message": "",
"messageId": 0,
"kubeconfig": "apiVersion: v1..."
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- kubeconfig: string, the kube config file contents
DomainAvailable
Check if a domain is available.
Request:
{
"command": "DomainAvailable",
"domain": "example.com"
}
- command: string, "DomainAvailable"
- domain: string, the domain name
Response:
{
"success": true,
"message": "success",
"messageId": 10,
"available": false
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- available: boolean, whether the domain is available or not
GetDomainRecords
Get the records of a domain.
Request:
{
"command": "GetDomainRecords",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"domain": "example.com"
}
- command: string, "GetDomainRecords"
- token: string, required, must be a valid authentication token
- domain: string, the domain name
Response:
{
"success": true,
"message": "",
"messageId": 0,
"records": [
{
"type": "A",
"host": "www.progsbase.com",
"value": "192.0.2.146",
"options": {
"ttl": 86400,
"serviceSet": false,
"service": "",
"protocolSet": false,
"protocol": "",
"priority": 0,
"weight": 0,
"port": 0
}
},
{
"type": "AAAA",
"host": "www.progsbase.com",
"value": "2001:db8::8a2e:370:7334",
"options": {
"ttl": 86400,
"serviceSet": false,
"service": "",
"protocolSet": false,
"protocol": "",
"priority": 0,
"weight": 0,
"port": 0
}
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- records: arrays of structure
- type: string, can be "A", "AAAA", "TXT", "MX", "NS", "CNAME", "SOA", "PTR", "SRV", "DCHID" and "DNAME"
- host: string, the subdomain, API supports giving the whole domain
- value: string, the value of the domain record, what the value should be is determined by the record type
- options: structure
- ttl: number, time to live in seconds
- serviceSet: boolean, if false, no service is set, if true, service is set
- service: string, the type of service, can be
- protocolSet: boolean, if false, no protocol is set, if true, protocol is set
- protocol: string, can be "tcp", "udp" or "tls"
- priority: number, 0 - 65535
- weight: number, 0 - 65535
- port: number, 0 - 65535
OrderEmailService
Order an email service.
Request:
{
"command": "OrderEmailService",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 17,
"emailtype": "transactional",
"addresses": [
"mail.example.com"
],
"blocks": 1,
"invoiceterm": "yearly"
}
- command: string, "OrderEmailService"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
- emailtype: string, type of email service
- addresses: array, list of the mail addresses
- blocks: number, 1 block equals sending of 10 000 emails per month
- invoiceterm: string, defines the payment-intervals, can either be monthly or yearly
Response:
{
"success": true,
"message": "Email order processing.",
"messageId": 71
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
CreateFirewall
Create firewall.
Request:
{
"command": "CreateFirewall",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123,
"name": "My Firewall",
"tb": 1,
"ipv4s": 2
}
- command: string, "CreateFirewall"
- token: string, required, must be a valid authentication token
- clientid: number, client ID
- name: string, name of firewall
- tb: number, terabytes of transfer per month
- ipv4s: number, number of public IPv4 addresses to assign to the firewall
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetVPNs
Get VPN's.
Request:
{
"command": "GetVPNs",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetVPNs"
- token: string, required, must be a valid authentication token
- clientid: ID of the client
Response:
{
"success": true,
"message": "",
"messageId": 0,
"vpns": [
{
"id": 565,
"username": "username1",
"ip": "192.0.2.14"
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID to lookup localized messages
- vpns: array of structures
- id: number, the ID from the agreement to the specific service delivered by Deploi.
- username: string, the username of the VPN account
- ip: string, the IP address of the customer in the VPN
Logout
Log out of an account.
Request:
{
"command": "Logout",
"token": "cebxfljqkzjyirqxvyxsbaxdq"
}
- command: "Logout"
- token: string, required, must be a valid authentication token
Response:
{
"success": true,
"message": "Logout successful."
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
Register
Register a new account.
Request:
{
"command": "Register",
"firstname": "John",
"lastname": "Reugers",
"email": "example@mail.no",
"phone": "98162249",
"password": "mcyf3ZA5uQGfm7S",
"type": "company",
"companyname": "example company",
"taxid": "39346459374947",
"addressline1": "Gardveien 11",
"addressline2": "",
"city": "Oslo",
"state": "",
"postalcode": "0193",
"country": "NO",
"agreedtotac": true,
"receiveinfo": false,
"ehfinvoice": false
}
- command: "Register"
- firstname: string, required, the first name of the contact
- lastname: string, required, the last name of the contact
- email: string, required, must be valid email, the email of the contact
- phone: string, required, must be valid phone number, the phone number of the contact
- password: string, required, the password of the contact
- type: string, required, must either "company" or "person"
- companyname: string, required if type is "company", name of legal entity
- taxid: string, required if type is "company", must be valid company number
- addressline1: string, required, if type: person, the person must use their home address, if type: company, the company must use the address of the company
- addressline2: string, additional address information
- city: string, required, the city part of the address
- state: string, the state part of the address
- postalcode: string, required, postal code of the address
- country: two characters country code, required, must be valid country code
- agreedtotac: boolean, required, must be true, the agreement of the terms and conditions
- receiveinfo: boolean, required, if true, the customer will receive newsletters
- ehfinvoice: boolean, required, if true, customer will receive invoices using EHF
Response:
{
"success": true,
"message": "Registration successful.",
"messageId": 1
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetWordpressInfo
Get information from managed WordPress websites.
Request:
{
"command": "GetWordpressInfo",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 748,
"domain": "www.example.com",
"siteid": 1946388
}
- command: "GetWordpressInfo"
- token: string, required, must be a valid authentication token
- id: number, the ID of the WordPress service
- domain: string, the domain name of the WordPress website
- siteid: number, the ID of the WordPress website
Response:
{
"success": true,
"message": "",
"messageId": 0,
"wordpressInfo": {
"SSL": true
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- wordpressInfo: structure
- SSL: boolean, if true, SSL is active
SetEmailPassword
Set a password for the email account.
Request:
{
"command": "SetEmailPassword",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"address": "John Undsets vei 15",
"password": "Verystrongpassword765"
}
- command: "SetEmailPassword"
- token: string, required, must be a valid authentication token
- address: string, required, the address of the user
- password: string, the password of the email account
Response:
{
"success": true,
"message": "",
"messageId": 0
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
GetKubernetes
Get managed Kubernetes services.
Request:
{
"command": "GetKubernetes",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 123
}
- command: "GetKubernetes"
- token: string, required, must be a valid authentication token
- clientid: number, the ID of the client
Response:
{
"success": true,
"message": "",
"messageId": 0,
"kubernetes": [
{
"id": 565,
"ram": 8,
"cpu": 4,
"disk": 20
}
]
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- kubernetes: array of structures
- id: number, the ID of the Kubernetes service
- ram: RAM quota for all systems
- cpu: CPU quota for all systems
- disk: disk quota for all storage
CreateVirtualServer
Create virtual server.
Request:
{
"command": "CreateVirtualServer",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"clientid": 10,
"name": "My server",
"ram": 16,
"cpu": 4,
"disks": [
{
"idSet": false,
"id": "",
"name": "mydisk1",
"size": 40,
"type": "ssd",
"backupSpecs": {
"profileIdSet": false,
"profileId": 0,
"spec": [
{
"loc": 1,
"daily": 10,
"weekly": 0,
"monthly": 0,
"yearly": 0
}
]
}
}
],
"OS": "Ubuntu 22.04",
"licenses": [],
"username": "bob",
"password": "Pn37NaQbN6bfAg7",
"publickey": "",
"allowRemotePasswordLogin": true
}
- command: "CreateVirtualServer"
- token: string, required, must be a valid authentication token
- clientid: string, the ID of the client that will own the server
- name: string, name of server
- ram: number, GB of RAM
- cpu: number, CPU
- disks: structure
- idSet: boolean, if true, the ID of the disk has been set
- id: number, the ID of the disk
- name: string, name of disk
- size: number, size in GB
- type: string, can be "ssd", "hdd"
- backupSpecs, structure
- profileIdSet: boolean
- profileId: number, backup profile ID, where the different backup profiles contain premade backup intervals
- spec: structure, containing specifications of intervals and location for backup
- daily: number, how many daily backups to keep
- weekly: number, how many weekly backups to keep
- monthly: number, how many monthly backups to keep
- yearly: number, how many yearly backups to keep
- loc: string, location alternatives, can either be 1 or 2
- OS: string, name of OS to install options are: "Ubuntu 22.04", "Ubuntu 20.04", "Windows Server 2016", "Windows Server 2019", "Fedora 34", "Suse 15.1", "Debian 10", "Debian 11", "CentOS 8.2", "AlmaLinux 9.0"
- licenses: array of strings. Licenses for software. Options are "Windows"
- username string, a username for a user with sudo-access
- password: string, the password of the user
- publickey: string, the public key that the user can login with
- allowRemotePasswordLogin: boolean. Allow remote password login. Not recommended
Response:
{
"success": true,
"message": "Server ordered.",
"messageId": 10
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, id used to lookup localized messages
GetFirewallRules
Get firewall rules.
Request:
{
"command": "GetFirewallRules",
"token": "cebxfljqkzjyirqxvyxsbaxdq",
"id": 123
}
- command: string, "GetFirewallRules"
- token: string, required, must be a valid authentication token
- id: number, the ID of the firewall service
Response:
{
"success": true,
"message": "",
"messageId": 0,
{
"firewallRules":
{
"packets": 47019053,
"bytes": 4822532426,
"rules": [
{
"packets": 68,
"bytes": 3464,
"protocol": "tcp",
"src-network": "0.0.0.0",
"src-cidr": 0,
"src-ip": "193.69.47.61",
"src-port": 53746,
"dst-ip": "10.0.0.202",
"dst-port": 22
},
{
"packets": 3,
"bytes": 180,
"protocol": "tcp",
"src-network": "10.0.0.24",
"src-cidr": 32,
"src-ip": "10.0.0.47",
"src-port": 53745,
"dst-ip": "192.168.0.2",
"dst-port": 22
},
{
"packets": 0,
"bytes": 0,
"protocol": "tcp",
"src-network": "10.0.0.23",
"src-cidr": 32,
"src-ip": "10.0.0.47",
"src-port": 53747,
"dst-ip": "192.168.0.2",
"dst-port": 22
}
]
}
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages
- firewallRules: structure
- packets: number, the amount of packets processed by the firewall
- bytes: number, the amount of bytes processed by the firewall
- rules: array of structures
- packets: number, the number of packets processed by the rule
- bytes: number, the number of bytes processed by the rule
- protocol: string, can either be for example "tcp" or "udp"
- src-network: string, the rule will only be applied to this source network
- src-cidr: number, the CIDR of the source network
- src-ip: string, the IP address that will be translated from
- src-port: number, the port that will be translated from
- dst-ip: string, the IP address that will be translated to
- dst-port: number, the port that will be translated to
AddDomainRecord
Add domain record.
Request:
{
"command": "AddDomainRecord",
"token": "cndgwxtdkrkjyzylruyixyuxm",
"domain": "inductive.no",
"type": "SRV",
"host": "38.180.77.103",
"value": "1.1.1.1",
"options": {
"ttl": 86400,
"service": "Example Service",
"protocol": "TCP",
"priority": 42,
"weight": "1000",
"port": "443"
}
}
- command: string, "AddDomainRecord"
- token: string, required, must be a valid authentication token
- type: string, can be "A", "AAAA", "TXT", "MX", "CNAME", "SOA" and "SRV"
- domain: string, the domain name
- host: string, the subdomain, API supports giving the whole domain
- value: string, the value of the domain record, what the value should be is determined by the record type
- options: structure
- ttl: number, time to live in seconds
- service: string, the symbolic name of the desired service
- protocol: string, can be "tcp", "udp" or "tls"
- priority: number, 0 - 65535
- weight: number, 0 - 65535
- port: number, 0 - 65535
Response:
{
"success": true,
"message": "Record added.",
"messageId": 57
}
- success: boolean
- message: string, if success is false, a description of the problem that occurred
- messageId: number, ID used to lookup localized messages