Vad KernelHost API (Reseller API) gör
KernelHost Reseller-API speglar exakt de beställnings- och hanteringsåtgärder som du annars utför i kundportalen. Du automatiserar därmed din återförsäljarverksamhet, integrerar KernelHost-produkter i din egen frontend eller fakturering och behåller full kontroll över behörigheter, hastighetsbegränsningar och IP-vitlista per nyckel.
Varje anrop signeras med HMAC-SHA256, skyddas mot uppspelning, bearbetas idempotent (obligatoriskt vid beställningar) och registreras i en manipuleringssäker granskningslogg. Betalningar dras först från ditt saldo och därefter från ditt sparade kort. Av säkerhetsskäl kan nya kort endast läggas till i kundportalen (3-D Secure 2).
https://www.kernelhost.com/cp/kernelhost_api/v1
Innehållsförteckning
- Snabbstart på 5 minuter
- Autentisering (HMAC-SHA256)
- Endpoint-referens
- Felkoder (RFC 7807)
- SDK:er och kodexempel
- Säkerhet och best practices
- Ändringslogg
Vad du kan göra med API:et
- Hämta produkter och priser (KVM-rotservrar, dedikerade, webbhotell, Minecraft, VPN, obegränsad trafik).
- Lägga beställningar (Idempotency-Key skyddar mot dubbla debiteringar vid nätverksåterförsök).
- Lista dina egna tjänster, kontrollera deras status och köra åtgärder: start, stopp, omstart, uppsägning till faktureringsperiodens slut och återkallelse av uppsägningen.
- Läsa inloggningsuppgifter uteslutande för dina egna tjänster (separat behörighet, granskad, valfri bekräftelse via e-post vid varje åtkomst).
- Hämta fakturor, kontrollera saldo, ladda ner faktura-PDF:er.
- Registrera en webhook-URL per nyckel. Leveransen av händelser (för beställningar, tjänster och fakturor) är under förberedelse; fram till dess hämtar du statusen via GET /v1/orders/{id} och GET /v1/services/{id}.
Säkerhet på högsta nivå
API:et är utformat med antagandet att varje enskilt anrop har direkt ekonomisk påverkan och kan ge åtkomst till känsliga serveruppgifter. Säkerhetskraven ligger därför klart över vanlig REST-standard.
- HMAC-SHA256-signatur över metod, sökväg, tidsstämpel, nonce och body-hash. Jämförelse i konstant tid.
- Uppspelningsskydd: tidsstämpelfönster +-300s, engångs-nonce cache i 600s.
- Hemligheter lagras serverside uteslutande som AES-256-GCM-chiffertext. Klartext finns endast tillfälligt i minnet för signaturverifiering. Huvudnyckeln ligger utanför databasen.
- Granulära behörigheter per nyckel: farliga behörigheter (read:credentials, write:orders) måste aktiveras uttryckligen, standard är endast läsning.
- Dataisolering på databasnivå: varje fråga filtrerar strikt på ditt konto-ID, åtkomst mellan tenanter är inte möjlig.
Exempel: hämta din egen kontoinformation
Anropet signerar hela förfrågan med din hemlighet. Hemligheten lämnar aldrig klientens minne, endast signaturen överförs.
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
BODY_SHA256=$(printf '' | openssl dgst -sha256 -hex | awk '{print $2}')
SIG_INPUT=$(printf 'GET\n/v1/me\n%s\n%s\n%s' "$TS" "$NONCE" "$BODY_SHA256")
SIG=$(printf '%s' "$SIG_INPUT" | openssl dgst -sha256 -hmac "$KH_SECRET" -hex | awk '{print $2}')
curl https://www.kernelhost.com/cp/kernelhost_api/v1/me \
-H "KH-Key: $KH_KEY" \
-H "KH-Timestamp: $TS" \
-H "KH-Nonce: $NONCE" \
-H "KH-Signature: $SIG"
Vanliga frågor
Vem får använda Reseller-API?
Varje befintlig KernelHost-kund kan skapa nycklar i kundportalen via menyalternativet "KernelHost API", var och en med egen etikett, egna behörigheter och egen IP-vitlista. Endast kontoägaren kan skapa, rotera eller återkalla nycklar. Inget separat återförsäljaravtal krävs: alla offentligt listade produkter kan beställas via API:et.
Hur betalas en beställning?
Betalningen sker i denna ordning: först ditt saldo, därefter din sparade betalningsmetod. Om betalningen misslyckas eller om inget kort finns sparat returnerar API:et HTTP 402 "Payment Required" med en exakt orsak (insufficient_credit_and_no_card, card_declined, credit_apply_failed) och avbryter beställningen omedelbart, så att ingen obetald beställning blir kvar.
Kan jag läsa tjänsters lösenord via API:et?
Ja, endast för dina egna tjänster och endast med den uttryckliga behörigheten read:credentials, som måste aktiveras separat när du skapar en nyckel. Svaret innehåller värdnamn, IP-adresser, användarnamn och lösenord. Varje åtkomst skapar en post credentials.read i granskningsloggen och skickar ett bekräftelsemejl till kontots e-postadress, så att dolt missbruk inte går obemärkt förbi.
Vad händer om min hemlighet komprometteras?
Du roterar secret med ett klick i kundpanelen och det gamla secret blir ogiltigt direkt. Misslyckade autentiseringsförsök loggas och begränsas per käll-IP men låser aldrig din nyckel, så ingen kan blockera din integration bara för att hen känner till nyckelns publika ID.
Skapa din första API-nyckel i kundportalen under "KernelHost API" och följ snabbstartsguiden.

