Konto-API
Kontoprofil, tall fra dashbordet, fakturaer, SSH-nøkler og betalingsperioder. Alle endepunkter krever Bearer-token-autentisering.
GET /account
Returnerer kundeprofilen, varslingsinnstillinger, SSH-nøkler og passnøkler. Administratorkontakter får også kontaktlisten og ordrehistorikken.
curl https://api.gigahost.no/api/v0/account \
-H "Authorization: Bearer $TOKEN"Respons (utdrag):
{
"data": {
"cust_id": 12345,
"cust_name": "Acme AS",
"cust_company_no": "999999999",
"cust_address": "1 Example Street",
"cust_address2": "",
"cust_zipcode": "0000",
"cust_city": "Oslo",
"cust_province": "",
"cust_country": "Norway",
"cust_phone": "+4712345678",
"cust_phone2": "",
"cust_email": "[email protected]",
"cust_billing_email": "[email protected]",
"cust_billing_email2": "",
"cust_newsletter": false,
"cust_incident": true,
"cust_bandwidth_notification": true,
"cust_email_on_login": false,
"cust_notify_service_renewal": true,
"cust_last_login": 1779843600,
"contact_2fa": 1,
"contact_password_login_enabled": true,
"sshkeys": [],
"passkeys": [],
"contacts": [],
"orders": []
}
}sshkeys inneholder SSH-nøklene på kontoen; bruk key_id fra dem i POST /servers/{id}/reinstall. contacts og orders finnes bare for administratorkontakter. Hver ordre har billing_changeable (om betalingsperioden kan endres) og et products-array med op_id, srv_id, product_id, op_type, product_name, product_alt_name og op_sum, pluss srv_name på aktive ordrer.
GET /billing
Returnerer fakturaer, ordrer, betalingsmåten, lagrede kort og kontokreditt.
curl https://api.gigahost.no/api/v0/billing \
-H "Authorization: Bearer $TOKEN"Respons (utdrag):
{
"data": {
"invoices": [
{
"inv_id": 42160,
"inv_md5": "0123456789abcdef0123456789abcdef",
"order_id": 9876,
"inv_number": "42160",
"inv_kid": "",
"inv_date": 1746998400,
"inv_duedate": 1747862400,
"inv_total": 100.00,
"inv_vat": 25,
"inv_paid": 0,
"inv_currency": "NOK",
"inv_topup": 0,
"inv_credited": 0
}
],
"orders": [],
"billing": {},
"card_details": [],
"credit": []
}
}inv_date er et Unix-tidsstempel. inv_total er beløpet før mva. og inv_vat er mva.-satsen i prosent. inv_md5 er nøkkelen for å laste ned PDF-en og inv_id for å betale fakturaen.
GET /dashboard
Returnerer tallene bak dashbordet i Flux: antall tjenester, ubetalte fakturaer og support-PIN-en.
curl https://api.gigahost.no/api/v0/dashboard \
-H "Authorization: Bearer $TOKEN"Respons (utdrag):
{
"data": {
"billing": {
"outstanding_amount": { "NOK": 1250.00 },
"overdue_amount": { "NOK": 625.00 },
"unpaid": 2,
"overdue": 1
},
"support_pin": "123456"
}
}outstanding_amount og overdue_amount er delt opp per valuta og inkluderer mva. overdue_amount tar med en faktura når forfallsdatoen, pluss eventuell utsettelse fra support, er passert. Tellingen overdue tar ikke hensyn til utsettelser. Begge beløpene er tomme for API-nøkler og brukere uten tilgang til fakturering.
support_pin er den 6-sifrede PIN-koden du oppgir når du ringer telefonsupport. Den hører til brukeren som er logget inn, og endres hver dag. Den er null for API-nøkler.
SSH-nøkler
Nøkkelnavn har 1 til 64 tegn: bokstaver (også æ, ø og å), tall, mellomrom og - _ . @. Andre navn gir 400 Invalid name. Use 1-64 letters, digits, spaces or - _ . @.
POST /account/sshkey
Legg til en nøkkel.
| Felt | Type | Beskrivelse |
|---|---|---|
name | string | Navnet på nøkkelen. |
data | string | Den offentlige nøkkelen, én linje (ssh-ed25519 AAAA... kommentar). |
curl -X POST https://api.gigahost.no/api/v0/account/sshkey \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "laptop", "data": "ssh-ed25519 AAAA... you@laptop"}'En nøkkel som ikke er en gyldig offentlig nøkkel, gir 400 SSH-key invalid.
PUT /account/sshkey/{key_id}
Gi en nøkkel nytt navn. Bare navnet endres; servere som allerede har nøkkelen, blir ikke berørt.
| Felt | Type | Beskrivelse |
|---|---|---|
name | string | Nytt navn. |
curl -X PUT https://api.gigahost.no/api/v0/account/sshkey/42 \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "laptop 2026"}'Returnerer 200 med meta.message SSH key renamed., eller 404 Key not found.
DELETE /account/sshkey/{key_id}
Slett en nøkkel. Returnerer 404 Key not found. hvis nøkkelen ikke finnes på kontoen.
Betalingsperiode for en ordre
Bare for administratorer; API-nøkler og andre brukere kan ikke bruke disse endepunktene. Ordren angis med order_number, ikke order_id. Bare ordrer med billing_changeable: true i GET /account kan endres: aktive timesordrer, og aktive ordrer med fast periode som bare inneholder servere, volumer og IPv4-adresser. Andre ordrer gir 404 Order was not found or its billing term cannot be changed.
GET /account/order/{order_number}/billing?cycle={måneder}
Forhåndsvis endringen. cycle er 1, 3, 6 eller 12 måneder.
curl "https://api.gigahost.no/api/v0/account/order/100234/billing?cycle=12" \
-H "Authorization: Bearer $TOKEN"data inneholder from ("hourly" eller gjeldende periode i måneder), cycle, currency, lines, monthly_total og term_total (eks. mva.). For en timesordre kommer i tillegg starts (første dag i den nye perioden) og accrued (from, hours og amount for timesforbruket som blir fakturert). For en ordre med fast periode kommer direction (upgrade for lengre periode, downgrade for kortere), starts og reissue_invoice (fakturanummeret som blir kreditert og utstedt på nytt, eller false).
PUT /account/order/{order_number}/billing
| Felt | Type | Beskrivelse |
|---|---|---|
billing_cycle | number | Ny periode i måneder: 1, 3, 6 eller 12. |
curl -X PUT https://api.gigahost.no/api/v0/account/order/100234/billing \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"billing_cycle": 12}'Ingenting kan flyttes til timesfakturering. Dette skjer:
- Fra time til fast periode: timene brukt så langt og første periode, fra i dag, faktureres med en gang.
datareturnererhourly_invoiceogfirst_invoice(fakturanumre, ellerfalse). - Lengre periode: den nye perioden gjelder fra neste fakturadato.
- Kortere periode: har ordren én ubetalt faktura som ikke har forfalt, krediteres den og utstedes på nytt for den nye perioden, uten rabatten for den lengre perioden.
data.reissueder det nye fakturanummeret, ellerfalse.
Returnerer 200 med meta.message Billing term changed. Feil (400):
New billing term not valid.Pay your overdue invoices before changing the billing term.(timesordrer)Your hourly usage this month has used all the credit on your account. Top up your account before changing the billing term.The order is already on this billing term.Pay the open invoice on this order first.The billing term of this order cannot be changed. Contact support.
Brukere
Brukere legges til med POST /account og endres med PUT /account/user/{contact_id}, bare av administratorer. Tilgangsnivået er admin eller user. Enkel servertilgang (server) gis ikke lenger til nye brukere: å legge til en slik bruker gir 400 Access level is not valid., og å flytte en eksisterende bruker dit gir 403 Access level not valid. Brukere som allerede har enkel servertilgang, beholder den.

