KernelHost Reseller-API

Wat de Reseller-API doet

De KernelHost Reseller-API biedt exact dezelfde bestel- en beheeracties die u anders via het klantenportaal aanklikt. Zo automatiseert u uw eigen hosting-wederverkoop, integreert u KernelHost-producten in uw eigen frontend of facturatie en behoudt u volledige controle over machtigingen, snelheidsbeperkingen en IP-toegangslijst per sleutel.

Elke aanroep wordt met HMAC-SHA256 ondertekend, beschermd tegen replay, idempotent verwerkt (verplicht bij bestellingen), vastgelegd in een manipulatiebestendig auditlogboek en desgewenst via webhook bevestigd. Betalingen lopen automatisch eerst af van uw tegoedsaldo, daarna van uw opgeslagen kaart. Nieuwe kaarten kunnen uit veiligheidsoverwegingen alleen in het klantenportaal worden toegevoegd (3-D Secure 2).

Basis-URL
https://www.kernelhost.com/cp/kh_reseller_api/v1

Inhoudsopgave

Wat u met de API kunt doen

  • Producten en prijzen opvragen (KVM-rootservers, dedicated, webspace, Minecraft, VPN, ongelimiteerd verkeer).
  • Bestellingen plaatsen (met Idempotency-Key-bescherming tegen dubbele boekingen bij netwerk-retries).
  • Eigen services tonen, status controleren, acties uitvoeren (start, stop, reboot, herinstallatie, opschorten, beëindigen).
  • Service-toegangsgegevens uitsluitend van uw eigen services uitlezen (aparte machtiging, auditlogboek, optionele bevestigingsmail bij elke toegang).
  • Facturen opvragen, tegoed controleren, factuur-PDF's downloaden.
  • Webhook-URL per sleutel instellen voor bestel-, service- en factuur-events (Stripe-compatibel handtekeningschema).

Beveiliging op het hoogste niveau

De API is ontworpen vanuit de aanname dat elke afzonderlijke aanroep directe financiële impact heeft en toegang kan geven tot gevoelige servergegevens. De beveiligingseisen liggen daarom ruim boven de gebruikelijke REST-standaard.

  • HMAC-SHA256-aanvraaghandtekening over methode, pad, tijdstempel, nonce en body-hash. Vergelijking in constante tijd.
  • Replay-bescherming: tijdstempelvenster +-300s, eenmalige nonce-cache gedurende 600s.
  • Geheime sleutels worden serverzijdig uitsluitend AES-256-GCM-versleuteld opgeslagen. Klare tekst bestaat alleen kortstondig in het geheugen voor handtekeningverificatie. De hoofdsleutel staat buiten de database.
  • Granulaire machtigingen per sleutel. Gevaarlijke machtigingen (read:credentials, write:orders) moeten expliciet worden ingeschakeld, standaard is alleen-lezen.
  • Data-isolatie op databaseniveau: elke query filtert hard op uw account-id, toegang tussen klanten is onmogelijk per ontwerp.

Voorbeeld: eigen accountgegevens opvragen

De aanvraag wordt volledig ondertekend met uw geheime sleutel. De geheime sleutel verlaat nooit het clientgeheugen, alleen de handtekening wordt verzonden.

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/kh_reseller_api/v1/me \
  -H "KH-Key: $KH_KEY" \
  -H "KH-Timestamp: $TS" \
  -H "KH-Nonce: $NONCE" \
  -H "KH-Signature: $SIG"

Veelgestelde vragen

Wie mag de Reseller-API gebruiken?

Elke bestaande KernelHost-klant kan onder "Mijn account → Reseller-API" een sleutel aanmaken met een eigen label, machtigingen en IP-toegangslijst. Een aparte reseller-overeenkomst is niet nodig, alle openbaar vermelde producten zijn via de API te bestellen.

Hoe wordt een bestelling betaald?

Volgorde: eerst uw tegoed (credit-balance), daarna uw opgeslagen betaalmethode (creditcard met 3-D Secure 2). Wordt de betaling geweigerd of is er geen kaart opgeslagen, dan retourneert de API HTTP 402 "Payment Required" met een duidelijke reden (insufficient_credit_and_no_card, card_declined, card_expired). De bestelling blijft 24 uur op status "pending payment", daarna wordt zij automatisch geannuleerd.

Kan ik service-wachtwoorden via de API uitlezen?

Ja, uitsluitend voor uw eigen services en uitsluitend met de expliciete machtiging read:credentials, die bij het aanmaken van de sleutel apart moet worden ingeschakeld. Elke toegang produceert een auditlogboekvermelding credentials.read; op verzoek ontvangt u bovendien een bevestigingsmail op uw opgeslagen accountadres, zodat heimelijk misbruik uitgesloten is.

Wat gebeurt er als mijn geheime sleutel gecompromitteerd is?

U roteert de geheime sleutel op elk moment met één klik in het klantenportaal. De oude geheime sleutel is direct ongeldig, alle lopende sessies worden ingetrokken. Bij verdachte mislukte authenticaties (5 binnen 10 minuten) blokkeert het systeem de sleutel automatisch 15 minuten en stuurt u een e-mail.

Klaar om te beginnen?

Maak uw eerste API-sleutel aan in het klantenportaal onder "Reseller-API" en volg de snelstartgids.