Gigahost API-dokumentasjon for kunder. Integrer servere og tjenester direkte i eget panel eller eget system.
Nåværende API-versjon: 0
Base-URL: https://api.gigahost.no/api/v0
For å kommunisere med vårt API må du autentisere deg. For å gjøre dette, bruk /authenticate endepunktet.
Legg til den mottatte token i din header: Authorization: Bearer {token}
Det er forventet at all PUT/POST-forespørsler er json-kodet.
Parameters
username (string)
password (string)
Optional parameters
code (numeric) - If you have 2FA enabled
Example return data
{
"success":true,
"meta":
{
"status": 200,
"status_message": "200 OK"
},
"data":
{
"token":"xxxxxxxx",
"token_expire": "unixtimestamp",
"customer_id": "xxxxxx"
}
}
Parameters
{none}
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":{
"asn":[
{
"id":"1",
"asn":"212345",
"asn_name":"Example Network",
"asn_country":"NO",
"irr_v4":"AS-EXAMPLE",
"irr_v6":"AS-EXAMPLE",
"irr_updated":"1700000000",
"status":"active",
"rejected_reason":""
}
],
"prefix_lists":[
{
"id":"1",
"asn_id":"1",
"prefix":"192.0.2.0/24",
"prefix_type":"ipv4",
"status":"active",
"your_asn":"212345",
"asn_country":"NO"
}
],
"sessions":[
{
"id":"1",
"asn_id":"1",
"cust_id":"1111",
"router_id":"1",
"srv_id":"3523",
"ip_id":"7795",
"ip_type":"ipv4",
"defaultroute":"1",
"status":"active",
"neighbor_ipv4":"185.125.168.1",
"neighbor_ipv6":"2a03:94e0::1",
"multihop":"0",
"router_asn":"39029",
"your_asn":"212345",
"asn_country":"NO",
"ip_address":"185.181.63.24"
}
]
}
}
Maximum 3 ASNs per customer. Requires verification before activation. An email with verification instructions will be sent after submission.
Required parameters
asn (numeric or string - ASN number, e.g. "212345" or "AS212345")
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"ASN and LOA has been submitted for review."
}
}
Error responses
// Invalid ASN
{
"meta":{
"status":400,
"status_message":"400 Bad Request",
"message":"ASN is not valid"
}
}
// Maximum ASNs reached
{
"meta":{
"status":400,
"status_message":"400 Bad Request",
"message":"Only three ASNs can be configured at a time. Contact support to remove an ASN first."
}
}
// ASN already exists
{
"meta":{
"status":400,
"status_message":"400 Bad Request",
"message":"The ASN already exists in the database."
}
}
ASN must be in 'active' status. Sessions are created on available routers in the server's datacenter. Both IPv4 and IPv6 sessions can be created simultaneously.
Required parameters
asn_id (numeric - inurl - ASN database ID, not the ASN number)
redundant (numeric - 0 or 1 for redundant sessions)
defaultroute (numeric - 0 or 1 to receive default route)
Optional parameters
ip_id_v4 (numeric - IP ID for IPv4 session)
ip_id_v6 (numeric - IP ID for IPv6 session)
At least one of ip_id_v4 or ip_id_v6 must be provided
Example request body
{
"redundant":1,
"defaultroute":1,
"ip_id_v4":"7795",
"ip_id_v6":"7796"
}
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"BGP sessions has been created."
}
}
Error responses
// Session already exists
{
"meta":{
"status":400,
"status_message":"400 Bad Request",
"message":"IPv4 session exists already."
}
}
// No routers available
{
"meta":{
"status":400,
"status_message":"400 Bad Request",
"message":"Unable to find available BGP routers."
}
}
Session must be in 'active' status and belong to the customer. Actual deletion is processed asynchronously.
Parameters
session_id (numeric - inurl - BGP session ID)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"BGP sessions have been marked for deletion."
}
}
Parameters
org_number (numeric - 9 digits - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Company lookup successful"
},
"data":{
"company_name":"Example AS",
"address":"Exampleveien 1",
"zip_code":"0123",
"city":"Oslo"
}
}
Parameters
domain (string - inurl, e.g. example.no)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Domain availability checked"
},
"data":{
"domain":"example.no",
"available":true,
"reason":""
}
}
Parameters
{none}
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"zone_id":"123",
"cust_id":"1111",
"zone_name":"example.no",
"zone_name_display":"example.no",
"zone_type":"NATIVE",
"zone_active":"1",
"zone_protected":"1",
"zone_is_registered":"1",
"domain_registrar":"norid",
"domain_status":"active",
"domain_expiry_date":"2025-12-31 23:59:59",
"domain_auto_renew":"1",
"external_dns":"0",
"record_count":5,
"zone_updated":1700000000
}
]
}
Parameters
zone_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"record_id":"abc123",
"record_name":"@",
"record_type":"A",
"record_value":"185.125.168.166",
"record_ttl":3600,
"record_priority":null
},
{
"record_id":"def456",
"record_name":"www",
"record_type":"A",
"record_value":"185.125.168.166",
"record_ttl":3600,
"record_priority":null
},
{
"record_id":"ghi789",
"record_name":"@",
"record_type":"MX",
"record_value":"mail.example.no",
"record_ttl":3600,
"record_priority":10
}
]
}
Only available for registered .no domains
Parameters
zone_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":{
"contact_id":"ABC123P",
"name":"Ola Nordmann",
"organization":"Example AS",
"email":"[email protected]",
"address":"Exampleveien 1",
"city":"Oslo",
"postal_code":"NO-0123",
"country_code":"NO",
"identity":null,
"identity_type":null,
"type":"organization"
}
}
Required parameters
domain_name (string - domain to register)
registrant_type (string - "organization" or "person")
email (string - valid email address)
applicant_name (string - name of applicant, max 255 characters)
zip_code (string - postal code)
city (string - city name)
For organization registrants:
org_number (string - 9 digit organization number)
company_name (string - company name, max 255 characters)
For person registrants:
pid (string - format: N.PRI.12345678)
first_name (string)
last_name (string)
Optional parameters
use_gigahost_ns (boolean - default: true)
nameservers (array - required if use_gigahost_ns is false, minimum 2)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Domain registered successfully! You will receive a confirmation email shortly."
},
"data":{
"zone_id":"123",
"domain_name":"example.no",
"expires_at":"2025-11-17",
"status":"active"
}
}
Supports both JSON and multipart/form-data (for zone file import)
Required parameters (JSON)
zone_name (string - domain name)
Optional parameters (JSON)
zone_type (string - "NATIVE", "MASTER", or "SLAVE", default: "NATIVE")
create_default_records (boolean - default: false)
transfer_domain (boolean - initiate .no domain transfer, default: false)
auth_code (string - required if transfer_domain is true)
For zone file import (multipart/form-data):
zone_name (string)
zone_file (file - BIND zone file, max 2MB)
Example return data
{
"meta":{
"status":201,
"status_message":"201 Created",
"message":"Zone created successfully."
},
"data":{
"zone_id":"123"
}
}
Required parameters
zone_id (numeric - inurl)
record_value (string - record content)
Optional parameters
record_name (string - default: "@")
record_type (string - A, AAAA, CNAME, MX, TXT, NS, etc., default: "A")
record_ttl (numeric - default: 3600)
record_priority (numeric - required for MX records)
Example return data
{
"meta":{
"status":201,
"status_message":"201 Created",
"message":"Record created successfully."
}
}
Validates IPv4 addresses for A records, IPv6 for AAAA records, and requires priority for MX records
Required parameters
zone_id (numeric - inurl)
record_id (string - inurl)
record_value (string - record content)
Optional parameters
record_name (string - default: "@")
record_type (string - default: "A")
record_ttl (numeric - default: 3600)
record_priority (numeric - for MX records)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Record updated successfully."
}
}
Requires Norid Applicant Declaration acceptance. Creates new order and extends domain by 1 year.
Required parameters
zone_id (numeric - inurl)
registrant_type (string - "organization" or "person")
email (string - valid email address)
applicant_name (string - name of applicant, max 255 characters)
zip_code (string - postal code)
city (string - city name)
agree_to_terms (boolean - must be true)
For organization registrants:
org_number (string - 9 digit organization number)
company_name (string - company name, max 255 characters)
For person registrants:
pid (string - format: N.PRI.XXXXXXXX)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Registrant changed successfully."
}
}
Only available for registered .no domains
Required parameters
zone_id (numeric - inurl)
auto_renew (numeric - 0 or 1)
Example request body
{
"auto_renew":1
}
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Auto-renewal updated successfully."
}
}
Only available for protected zones (registered domains). Verifies nameservers are authoritative before applying changes. Automatically updates external_dns flag.
Required parameters
zone_id (numeric - inurl)
nameservers (array - minimum 2 nameservers)
Example request body
{
"nameservers":[
"ns1.example.com",
"ns2.example.com"
]
}
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Nameservers updated successfully."
}
}
Protected zones (registered domains) cannot be deleted
Parameters
zone_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Zone deleted successfully."
}
}
Required parameters
zone_id (numeric - inurl)
record_id (string - inurl)
name (string - query parameter)
type (string - query parameter)
Example: DELETE /dns/zones/123/records/abc123?name=www&type=A
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Record deleted successfully."
}
}
Parameters
{none}
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"srv_id":"111",
"srv_tag":"0",
"product_id":"0",
"cust_id":"111",
"node_id":"0",
"pmx_id":"111",
"os_id":"111",
"nic_id":"111",
"iso_id":"0",
"bwpool_id":"0",
"srv_name":"srv111.gigahost.no",
"srv_status":true,
"srv_status_rescue":false,
"srv_status_install":false,
"srv_status_snapshot":false,
"srv_status_mount":false,
"srv_status_method":"icmp",
"srv_status_reboot":"0",
"srv_label":"srv111.gigahost.no",
"srv_manufacturer":"",
"srv_model":"",
"srv_motherboard":"",
"srv_date_created":"1530609706",
"srv_vps_type":"kvm",
"srv_hostname":"srv111.gigahost.no",
"srv_bw":"1000",
"srv_feature_reinstall":true,
"srv_feature_mgmt":true,
"srv_feature_preconf":"0",
"srv_mgmt_type":"kvm",
"srv_formfactor":"",
"srv_cores":"2",
"srv_ram":"2",
"srv_ram_type":"",
"srv_ram_sticks":"0",
"srv_ram_vendor":"",
"srv_vnc_port":"0",
"srv_vnc_password":"",
"srv_vnc_token":"",
"srv_suspended":false,
"srv_custom_partition":"1",
"srv_new":false,
"srv_location":"DC2",
"srv_type":"vps",
"srv_primary_ip":"185.181.63.xx",
"os":{
"os_id":"72",
"os_name":"Ubuntu 18.04 LTS 64-bit",
"os_release":"ubuntu",
"os_dedicated_only":"0",
"os_minram":"0",
"os_custom_partition":"1",
"os_single_disk_only":"1"
},
"ips":[
{
"ip_id":"7795",
"sub_id":"405",
"ip_v4v6":"ipv4",
"ip_address":"185.181.63.xx",
"ip_reverse":"static.185.181.63.xx.customers.gigahost.no",
"ip_traffic_sum":"0",
"ip_pkts_sum":"0",
"ip_nullroute":"0",
"ip_routed_to":"0",
"ip_type":"primary",
"ip_netmask":"255.255.255.0",
"ip_gateway":"185.181.63.1"
},
{
"ip_id":"7538",
"sub_id":"404",
"ip_v4v6":"ipv4",
"ip_address":"185.181.62.xx",
"ip_reverse":"static.185.181.62.xx.gigahost.no",
"ip_traffic_sum":"0",
"ip_pkts_sum":"0",
"ip_nullroute":"0",
"ip_routed_to":"7795",
"ip_type":"extra",
"ip_netmask":"255.255.255.0",
"ip_gateway":"185.181.62.1"
}
]
"cancelled":null
}
}
Parameters
server_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"srv_id":"3523",
"srv_tag":"0",
"product_id":"0",
"cust_id":"19998",
"node_id":"0",
"pmx_id":"4",
"os_id":"72",
"nic_id":"1422",
"iso_id":"0",
"bwpool_id":"0",
"srv_name":"srv3523.gigahost.no",
"srv_status":true,
"srv_status_rescue":false,
"srv_status_install":false,
"srv_status_snapshot":false,
"srv_status_mount":false,
"srv_label":"srv3523.gigahost.no",
"srv_manufacturer":"",
"srv_model":"",
"srv_motherboard":"",
"srv_date_created":"1530609706",
"srv_vps_type":"kvm",
"srv_hostname":"srv3523.gigahost.no",
"srv_bw":"1000",
"srv_feature_reinstall":true,
"srv_feature_mgmt":true,
"srv_feature_preconf":false,
"srv_mgmt_type":"kvm",
"srv_formfactor":"",
"srv_cores":"2",
"srv_ram":"2",
"srv_ram_type":"",
"srv_ram_sticks":"0",
"srv_ram_vendor":"",
"srv_vnc_port":"0",
"srv_vnc_password":"",
"srv_vnc_token":"",
"srv_vmware_id":"0",
"srv_suspended":false,
"srv_deleted":"0",
"srv_deleted_date":"0",
"srv_bw_notice":"0",
"srv_migration_state":"2",
"srv_custom_partition":"1",
"srv_new":false,
"srv_location":"DC2",
"srv_type":"vps",
"ipmi_session":null,
"os":{
"os_id":"72",
"os_name":"Ubuntu 18.04 LTS 64-bit",
"os_release":"ubuntu",
"os_dedicated_only":"0",
"os_minram":"0",
"os_custom_partition":"1",
"os_single_disk_only":"1",
"dist_logo":"/images/os/ubuntu.png"
},
"cpus":[
],
"hdds":[
{
"hdd_id":"1622",
"srv_id":"3523",
"datastore_id":"0",
"hdd_manufacturer":"Proxmox",
"hdd_model":"",
"hdd_type":"SSD",
"hdd_size":"20",
"hdd_space_used":"0",
"hdd_serial_number":""
}
],
"ips":[
{
"ip_id":"7795",
"sub_id":"405",
"ip_v4v6":"ipv4",
"ip_address":"185.181.63.24",
"ip_reverse":"static.185.181.63.24.customers.gigahost.no",
"ip_traffic_sum":"0",
"ip_pkts_sum":"0",
"ip_nullroute":"0",
"ip_routed_to":"0",
"ip_type":"primary",
"ip_netmask":"255.255.255.0",
"ip_gateway":"185.181.63.1"
},
{
"ip_id":"7538",
"sub_id":"404",
"ip_v4v6":"ipv4",
"ip_address":"185.181.62.21",
"ip_reverse":"static.185.181.62.21.gigahost.no",
"ip_traffic_sum":"0",
"ip_pkts_sum":"0",
"ip_nullroute":"0",
"ip_routed_to":"7795",
"ip_type":"extra",
"ip_netmask":"255.255.255.0",
"ip_gateway":"185.181.62.1"
}
],
"subnets":[
{
"sub_id":"2236",
"sub_parent_id":"675",
"srv_id":"3523",
"device_id":"0",
"sub_type":"ipv6",
"sub_ipv6_type":"",
"sub_network":"2a03:94e0:190e::",
"sub_netmask":"48",
"sub_broadcast":"",
"sub_gateway":"2a03:94e0:19ff::1",
"sub_cidr":"2a03:94e0:190e::/48",
"sub_vlan":"1510",
"sub_vrf":"1",
"sub_description":"",
"sub_location":"DC2",
"sub_duid":"",
"sub_ns":""
},
{
"sub_id":"2237",
"sub_parent_id":"675",
"srv_id":"3523",
"device_id":"0",
"sub_type":"ipv6",
"sub_ipv6_type":"",
"sub_network":"2a03:94e0:190f::",
"sub_netmask":"48",
"sub_broadcast":"",
"sub_gateway":"2a03:94e0:19ff::1",
"sub_cidr":"2a03:94e0:190f::/48",
"sub_vlan":"1510",
"sub_vrf":"1",
"sub_description":"",
"sub_location":"DC2",
"sub_duid":"",
"sub_ns":""
}
],
"order":{
"order_id":"3081",
"payment_id":"4",
"order_number":"3976",
"order_date":"1528244467",
"order_billing_type":"recurring",
"order_billing_date":"06.07.2018",
"order_billing_cycle":"1",
"order_billing_days":"10",
"order_status":"cancelled",
"order_payment_status":"0",
"order_total":"199.00",
"order_cancel_reason":""
},
"attacklogs":[
],
"cancelled":null,
"node":"pmx4dc2",
"bw_used":0,
"bw_used_in":0,
"bw_used_out":0,
"location":[
],
"ipmi_session":{
"kvm_id":"12",
"srv_id":"xxx",
"kvm_ip_address":"185.125.168.xxx",
"kvm_username":"xxx",
"kvm_password":"xxx",
"kvm_userid":"5",
"kvm_expires":"1530717076",
"kvm_in_use":"1"
}
}
]
}
Parameters
server_id (numeric - inurl)
name (string)
Sessions are valid for 3 hours at a time.
Parameters
server_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":{
"kvm_ip_address":"185.125.168.xx",
"username":"xxxx",
"password":"xxxx"
}
}
Parameters
server_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"powerstate":true,
"timestamp":1530706429
}
}
Parameters
server_id (numeric - inurl)
Parameters
server_id (numeric - inurl)
Parameters
server_id (numeric - inurl)
Parameters
server_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[{
"snap_id": 123,
"srv_id": 999,
"snap_name":"Asdf1234",
"snap_display_name":"my-snapshot",
"snap_time": 1234567890,
"snap_state": "pending" or "completed"
}
}
Required parameters
server_id (numeric - inurl)
name (string - descriptive name of snapshot)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Snapshot is currently being created.",
}
}
Required parameters
server_id (numeric - inurl)
snap_id (numeric - inurl)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Snapshot has been deleted.",
}
}
Parameters
server_id (numeric - inurl)
Format is base64 image data.
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":{
"graph_day":"img-data (base64)",
"graph_week":"img-data (base64)",
"graph_month":"img-data (base64)",
"graph_year":"img-data (base64)",
}
}
Parameters
server_id (numeric - inurl)
Format is base64 image data.
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":{
"graph_day":"img-data (base64)",
"graph_week":"img-data (base64)",
"graph_month":"img-data (base64)",
"graph_year":"img-data (base64)",
}
}
Parameters
none
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"dist_id":"1",
"type_id":"1",
"dist_name":"CentOS",
"dist_value":"centos",
"dist_logo":"/images/os/centos.png",
"dist_description":"",
"dist_active":"1"
}
}
Parameters
none
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"os_id":"47",
"dist_id":"1",
"os_name":"CentOS 6 64-bit",
"os_release":"centos",
"os_dist":"6",
"os_arch":"amd64",
"os_custom_partition":"1",
"os_single_disk_only":"0",
"os_support_raid":"1",
"os_dedicated_only":"0",
"os_minram":"0"
}
}
Required parameters
server_id (numeric - inurl)
os_id (numeric - operating system id)
language (string - OS language, e.g. en_US, nb_NO)
keyboard (string - keyboard, e.g. no, en)
timezone (string - timezone, e.g. Europe/Oslo)
hostname (string - servers hostname)
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK",
"message":"Server install has been initiated.",
"reboot":true,
"root_passwd":"xxxxxx"
}
}
Parameters
server_id (numeric - inurl)
For IPv4:
ip_id (numeric)
dns (string, e.g. server.mydomain.com)
For IPv6 (whole subnet, NS delegation):
sub_id (numeric - subnets id)
dns (string, e.g. ns1.gigahost.no)
Parameters
none
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"iso_id":"xxx",
"cust_id":"xxxx",
"iso_url":"http://xxxxx/debian-9.4.0-amd64-netinst.iso",
"iso_name":"debian-9.4.0-amd64-netinst.iso",
"iso_hash":"",
"iso_size":"0",
"iso_state":"uploading",
"iso_mounted":"0"
}
]
}
Parameters
server_id (numeric - inurl)
iso_id (string - iso_id)
Parameters
none
Example return data
{
"meta":{
"status":200,
"status_message":"200 OK"
},
"data":[
{
"pkg_id":"3",
"product_id":"2058",
"pkg_name":"kvm2048.2018.gigahost",
"pkg_cores":"2",
"pkg_ram":"2048",
"pkg_disk":"40",
"product_name":"KVM 2048",
"product_price":"199.00"
},
{
"pkg_id":"4",
"product_id":"2059",
"pkg_name":"kvm4096.2018.gigahost",
"pkg_cores":"4",
"pkg_ram":"4096",
"pkg_disk":"50",
"product_name":"KVM 4096",
"product_price":"299.00"
}
]
}
Parameters
server_id (numeric - inurl)
pkg_id (numeric - package id)
Parameters
server_id (numeric - inurl)
ip_type (string - "l2" or "l3")
Pass "l2" to receive a layer 2, non routed IP. Pass "l3" to receive a routed layer 3 IP.
Parameters
None
Example return data
{
"success":true,
"cust_id":"1111",
"cust_name":"name",
"cust_company_no":"",
"cust_address":"address",
"cust_address2":"address2",
"cust_province":"province",
"cust_zipcode":"1111",
"cust_city":"city",
"cust_country":"country",
"cust_phone":"number",
"cust_email":"email",
"cust_billing_email":"billing email",
"cust_contacts":[
{
"contact_id":"1",
"contact_name":"name",
"contact_email":"email",
"contact_phone":"number",
"contact_address":"address",
"contact_zip":"1111",
"contact_city":"city",
"contact_username":"username",
"contact_admin":"1"
},
{
"contact_id":"2",
"contact_name":"name",
"contact_email":"email",
"contact_phone":"number",
"contact_address":"address",
"contact_zip":"1111",
"contact_city":"city",
"contact_username":"username",
"contact_admin":"1"
}
]
}
Parameters
None
Example return data
{
"success":true,
"invoices":[
{
"inv_id":"xxxx",
"order_id":"xxxx",
"order_number":"xxxx",
"inv_md5":"xxx",
"inv_filename":"Invoice_xxxx.pdf",
"inv_number":"xxxx",
"inv_date":"1463004000",
"inv_duedate":"1463868000",
"inv_paid":"1",
"inv_total":"3240.00",
"inv_vat":810,
"inv_total_vat":4050
}
]
}