Konrado.AIdocs
IntegrationsServer Integrations

DirectAdmin API

Connect DirectAdmin to Konrado.AI over HTTP or HTTPS with a dedicated Login Key

DirectAdmin API
Server integration
Native DirectAdmin API context without a server agent

Use DirectAdmin API when Konrado.AI should read hosting context directly from the panel and you do not want to install the Konrado.AI server agent.

Install method
HTTP(S) API
No SSH access or server-side installation is required.
Credential type
Login Key
Use a dedicated DirectAdmin key, not the account password.
Access model
Read-only tools
Designed for support diagnostics, not panel changes.
Estimated time
5 minutes
After the panel API is reachable over HTTP or HTTPS.

DirectAdmin API and DirectAdmin with the server agent are separate integrations. Adding DirectAdmin API does not change or replace an existing directadmin agent installation.

Version Compatibility

Compatibility levelDirectAdmin version
Tested end to end by Konrado.AI1.707 and 1.708
Supported1.670 or later on the current or stable update channel
Not supported1.669 and earlier, legacy-license builds with a reduced feature set, and alpha builds

The minimum supported version is DirectAdmin 1.670. The integration combines long-standing /CMD_API_* calls with the newer JSON /api/* interface for account discovery, file search, mail logs, session information, and server health. DirectAdmin 1.647 documents the move of server information to new API endpoints, while 1.670 documents the backend search flow used for global user and domain discovery. We therefore use 1.670 as the conservative floor for the complete integration instead of assuming that legacy API availability is sufficient.

There is no fixed maximum version. DirectAdmin actively extends the JSON API, and the exact OpenAPI contract supported by a server is available from its /static/swagger.json. Keep DirectAdmin on the current or stable channel and run Test Connection after upgrades. A server older than 1.670 may connect or expose partial data, but Konrado.AI does not claim full compatibility with it.

See DirectAdmin's API modes and per-server OpenAPI specification, version 1.647 API changes, version 1.670 backend search changes, and update channels.

What It Can Do

Konrado.AI automatically detects whether the Login Key belongs to an admin, reseller, or user account. Every lookup stays within the account scope DirectAdmin grants to that credential.

ToolSupport context it can read
AccountAccount type, plan, usage, limits, reseller relationship, and domains
WebsiteDocument root, FTP accounts, subdomains, domain pointers, DNS records, and SSL status
MailMailboxes, forwarders, autoresponders, filters, and up to 24 hours of recent delivery logs
DatabasesDatabases visible to the matched DirectAdmin account
FilesA bounded listing of the matched website's public_html tree and its FTP accounts
ServerCPU, memory, filesystems, load, services, and uptime; available only with an admin Login Key

The tools are bound to the account and domain matched from the ticket or billing context. A user key can read only that user. Admin and reseller keys can inspect accounts within the scope DirectAdmin exposes to them.

What It Cannot Do

Not supportedWhy this matters
Create, suspend, delete, or modify DirectAdmin accountsThe integration provides context for support replies only
Change DNS, SSL, mailboxes, forwarders, databases, files, FTP accounts, or server servicesKonrado.AI uses read operations and does not apply customer-impacting changes
Read mailbox message contents or reveal passwordsCredentials and private message content are not support context
Access accounts outside the Login Key's DirectAdmin roleDirectAdmin permissions remain authoritative
Connect to a private endpointThe configured panel hostname must resolve to a public IP address

Security Model

Security model

Create a dedicated DirectAdmin Login Key for Konrado.AI. Do not enter the DirectAdmin account password. The Login Key is write-only in Konrado.AI responses: after it is saved, the dashboard and API do not return its value.

The connection enforces the following safeguards:

  • Both http:// and https:// DirectAdmin URLs are accepted.
  • The hostname must resolve to public IP addresses; private, loopback, link-local, carrier-grade NAT, and multicast ranges are rejected.
  • For https:// URLs, standard TLS certificate verification applies.
  • Requests use the shared generated-client HTTP transport.
  • Sensitive values are redacted from connection errors.

Prefer HTTPS, especially when the panel is reached over the public internet. Plain HTTP does not encrypt the DirectAdmin username, Login Key, or API responses in transit.

If you restrict the Login Key by source IP, allow the Konrado.AI static IP addresses. When removing the integration, revoke its Login Key in DirectAdmin as well.

Ticket Examples

Example ticket questions
  • "Which DirectAdmin user owns example.com, and is that account over quota?"
  • "Does the DNS zone or SSL status explain why the customer's website is unavailable?"
  • "Do recent DirectAdmin mail logs show why messages for this domain are failing?"
  • "Which databases and FTP accounts are visible for this website?"
  • "Is the server under memory, storage, load, or service pressure?"

Prerequisites

  • Access to Konrado.AI Integrations.
  • A public DirectAdmin hostname reachable over HTTP or HTTPS. For HTTPS, use a certificate trusted by standard clients.
  • Inbound access from the Konrado.AI static IP addresses to the DirectAdmin API port, normally 2222.
  • A DirectAdmin admin, reseller, or user account with a dedicated Login Key.
  • A connected ticketing or billing integration that can associate the ticket with a domain or service.

Create a DirectAdmin Login Key

  1. Sign in to DirectAdmin as the account Konrado.AI should use.
  2. Open User Level > Login Keys. If the menu item is not visible, open /CMD_LOGIN_KEYS directly on your panel.
  3. Click Create Key and give it a recognizable name such as Konrado AI.
  4. Leave Allow HTM disabled so the key can be used only for API requests.
  5. Set an appropriate expiry and unlimited requests, or a limit high enough for ongoing support lookups.
  6. If you use Allowed IPs, enter the Konrado.AI static IP addresses, one per line.
DirectAdmin Create Login Key form with an API-only key and the first required permission allowed

In Commands, search for each permission below and select Allow for the exact matching command:

#Permission
1emailvacation
2domain-tls
3email-logs
4filemanager
5db-show
6resource-usage
7search
8system-info
9CMD_API_FILE_MANAGER
10CMD_API_FTP
11CMD_API_DATABASES
12CMD_API_SHOW_USER_USAGE
13CMD_API_SHOW_USER_CONFIG
14CMD_API_EMAIL_FILTER
15CMD_API_EMAIL_AUTORESPONDER
16CMD_API_EMAIL_FORWARDERS
17CMD_API_EMAIL_POP
18CMD_API_SSL
19CMD_API_ADDITIONAL_DOMAINS
20CMD_API_DOMAIN_POINTER
21CMD_API_SUBDOMAINS
22CMD_API_DNS_CONTROL
23CMD_API_DNS_ADMIN
24CMD_API_DOMAIN
25CMD_API_SHOW_DOMAINS
26CMD_API_SHOW_RESELLERS

Select only the exact result. For example, allow resource-usage, not global-resource-usage; search, not CMD_AJAX_SEARCH; CMD_API_FTP, not its settings or show variants; and CMD_API_DOMAIN, not CMD_API_DOMAIN_OWNERS or CMD_API_DOMAIN_POINTER. Do not allow CMD_LOGIN_KEYS or CMD_API_LOGIN_KEYS.

DirectAdmin Login Key form ready to create after the required permissions and current password are provided

Enter the account's current password and click Create. DirectAdmin displays the Login Key only once after creation or rotation. Copy it immediately and store it in a password manager.

DirectAdmin one-time Login Key dialog after creation or rotation, with the key masked and copied

Never reveal the Login Key in documentation, tickets, or screenshots. The example above is intentionally masked. If the one-time value is lost, rotate the key instead of sharing the DirectAdmin account password.

DirectAdmin documents the available restrictions in Creating a Login Key and recommends dedicated Login Keys for API access.

The Login Key belongs to the DirectAdmin username that created it. Enter that same username in Konrado.AI. A key created by admin must be paired with admin, not with a customer or reseller username.

Connect DirectAdmin API

In Konrado.AI, open Integrations > Applications and click Add Integration. Choose DirectAdmin API, not the legacy DirectAdmin option marked Quick install.

Add Integration dialog with DirectAdmin API selected as an API credentials integration

Enter the connection details:

FieldWhat to enter
Integration NameA descriptive name such as DirectAdmin EU or Production panel
DirectAdmin URLThe public panel URL, for example https://panel.example.com:2222 or http://panel.example.com:2222
UsernameThe DirectAdmin account that created the Login Key
Login KeyThe dedicated key generated in DirectAdmin

If the URL does not include a port, Konrado.AI uses port 2222. Use HTTPS whenever possible. Do not include credentials, query parameters, or a fragment in the URL.

DirectAdmin API connection form with name, URL, username, and Login Key fields

Click Test Connection. A successful test confirms the credentials, detects the DirectAdmin account type, and reads the panel version. Click Save to add the integration.

Verify the Connection

The Applications table should show DirectAdmin API, the panel hostname, a Connected status, and the detected DirectAdmin version.

Applications table showing a connected DirectAdmin API integration and its DirectAdmin version

When editing the integration later, leave Login Key empty to keep the stored key. Enter a new value only when rotating or replacing the credential.

Troubleshooting

IssueWhat to check
DirectAdmin URL is rejectedUse a complete public http:// or https:// panel URL without credentials, query parameters, or a fragment
TLS verification failedFor an HTTPS URL, install a valid certificate for the DirectAdmin hostname and include the complete certificate chain
Host resolves to a private addressUse a public DNS name that resolves only to public addresses; private and split-horizon targets are rejected
Authentication failsConfirm the username owns the Login Key and that the key was copied completely
Access is forbidden or some context is missingReview the Login Key command restrictions and the DirectAdmin role that owns the key
Connection times out or is unavailableConfirm the panel and port are publicly reachable and allow the Konrado.AI static IP addresses in the firewall and Login Key
Server health is unavailableServer CPU, memory, filesystem, service, and uptime context requires an admin Login Key
Wrong domain or account is selectedConfirm the ticketing or billing integration maps the ticket to the correct service and domain

Remove

Delete the DirectAdmin API integration in Konrado.AI, then delete or revoke its dedicated Login Key in DirectAdmin. No server-agent uninstall command is needed.

On this page