De DirectAdmin-API gebruiken: je pakket beheren met scripts
DirectAdmin heeft een API: een manier om je pakket te beheren met een script of programma in plaats van met de muis. Bijna alles wat je in het paneel doet, kan ook via de API. Denk aan een DNS-record bijwerken als je IP-adres thuis verandert, mailboxen aanmaken vanuit je eigen software of elke nacht een lijst van je databases opvragen.
Kan ik de API gebruiken met mijn pakket?
Ja. De API werkt met elk pakket waar DirectAdmin bij zit: alle webhostingpakketten en ook de e-mailpakketten. Resellers kunnen er daarnaast de accounts van hun eigen klanten mee beheren. Je hoeft niets aan te vragen en het kost niets extra.
Een script heeft precies dezelfde rechten als jij in DirectAdmin. Het kan dus alleen bij je eigen pakket, en alleen de dingen die je pakket toestaat.
Hoe het in elkaar steekt
- Adres: je praat met de API op dezelfde plek als waar je inlogt: https://servernaam:2222. Je servernaam vind je in Mijn WebOké bij het pakket onder Beheer.
- Twee soorten opdrachten: de nieuwe API, met adressen die beginnen met /api/ en antwoorden in JSON, en de oudere API met opdrachten als /CMD_API_.... Begin bij de nieuwe API. Wat daar nog niet in zit, vind je in de oude API. Zet daar ?json=yes achter voor een antwoord in JSON.
- Inloggen: elke opdracht stuurt je DA-gebruikersnaam en een wachtwoord mee (HTTP Basic-authenticatie). Gebruik daarvoor bij voorkeur een aanmeldingssleutel (login key) en niet je echte DA-wachtwoord, zie hieronder.
- Documentatie in je eigen paneel: in DirectAdmin vind je onder Support & Help de API Documentatie. Daar zie je alle opdrachten van de nieuwe API en kun je ze meteen uitproberen met je eigen account.
Een voorbeeld
Met dit commando vraag je de databases van je pakket op. Vervang gebruiker, sleutel en servernaam door je eigen gegevens:
curl -u 'gebruiker:sleutel' https://servernaam:2222/api/db-show/databases
Je krijgt een lijst in JSON terug. Op dezelfde manier werkt het vanuit PHP, Python of elke andere taal die een webadres kan opvragen.
Veilig werken met een aanmeldingssleutel
Geef een script nooit je gewone DA-wachtwoord. Maak in DirectAdmin bij Aanmelding Sleutels een aparte sleutel aan. Zo'n sleutel kun je beperken:
- alleen de opdrachten die het script echt nodig heeft;
- alleen vanaf het IP-adres van de computer of server waar het script draait;
- met een vervaldatum, als je de toegang maar even nodig hebt.
Sluit in elk geval de opdrachten CMD_LOGIN_KEYS en CMD_PASSWD uit, zodat de sleutel geen nieuwe sleutels kan maken en je wachtwoord niet kan wijzigen. Lekt de sleutel toch uit, dan verwijder je hem en maak je een nieuwe, zonder je wachtwoord te hoeven veranderen.
Hoe je een sleutel aanmaakt, staat stap voor stap in de DirectAdmin-handleiding: Aanmelding Sleutels: inloggen voor scripts en programma's.
Goed om te weten
- Probeert een script vaak met een verkeerd wachtwoord of een verkeerde sleutel in te loggen, dan blokkeert onze firewall dat IP-adres. Kijk op Ben ik geblokkeerd? als je script ineens geen verbinding meer krijgt.
- Wij helpen graag als de API zelf niet werkt, maar we schrijven of controleren geen eigen scripts. Gebruik daarvoor de documentatie van DirectAdmin hieronder.
- Wil je je hosting liever beheren met Claude, ChatGPT of Mistral, zonder zelf te programmeren? Kijk dan naar onze MCP-server voor AI.
Documentatie van DirectAdmin
De documentatie van DirectAdmin is in het Engels:
- API Access: hoe de API werkt, inloggen en de verschillende soorten API.
- Examples: voorbeelden met curl, Bash, PHP en Python.
- Legacy API: de oudere CMD_API-opdrachten en hun antwoorden.
- Overzicht van CMD_API-opdrachten: zoeken in alle oudere opdrachten.
- Creating a login key: aanmeldingssleutels volgens DirectAdmin.
Zie ook in de DirectAdmin-handleiding: Je servernaam en DA-gebruikersnaam vinden.
