DirectAdmin API
DirectAdmin API as documented publicly: 6 operations. Contract generated from the documentation by API Evangelist (2026-10-27); not the provider's own document.
DirectAdmin API as documented publicly: 6 operations. Contract generated from the documentation by API Evangelist (2026-10-27); not the provider's own document.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/directadmin:directadmin-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: DirectAdmin API
version: '2026-10-27'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-27: 6 operation(s) read from 16 public documentation page(s) (each operation
names its page in x-source). This is not the provider''s published contract; DirectAdmin has published no machine-readable contract that the
pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 10
documentation: -4
pages-with-code: 15
pages-read: 16
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-10-27'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://docs.directadmin.com/developer/api
- https://docs.directadmin.com/getting-started/installation
- https://docs.directadmin.com/directadmin/backup-restore-migration
- https://docs.directadmin.com/developer/api/index.html
- https://docs.directadmin.com/developer/api/examples.html
- https://docs.directadmin.com/getting-started/installation/index.html
- https://docs.directadmin.com/directadmin/backup-restore-migration/index.html
- https://docs.directadmin.com/directadmin/backup-restore-migration/backup-to-remote.html
- https://docs.directadmin.com/directadmin/customizing-workflow/index.html
- https://docs.directadmin.com/directadmin/general-usage/index.html
- https://docs.directadmin.com/directadmin/general-usage/securing-da-panel.html
- https://docs.directadmin.com/directadmin/general-usage/updating-da.html
- https://docs.directadmin.com/directadmin/general-usage/licensing.html
- https://docs.directadmin.com/directadmin/general-usage/scripts.html
- https://docs.directadmin.com/directadmin/general-usage/directadmin-binary.html
- https://docs.directadmin.com/directadmin/general-usage/troubleshooting-da-service.html
servers:
- url: https://download.directadmin.com
paths:
/api/db-show/databases:
get:
operationId: get_api_db_show_databases
tags:
- Api
summary: GET /api/db-show/databases
x-source: https://docs.directadmin.com/developer/api/examples.html
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: curl one-liner Bash PHP Python List all users (legacy API) Bash PHP Python Install a new wordpress Bash PHP Python Add a new
user (legacy API) Bash PHP Python Discovering an endpoint General info Here are some of the examples on how the API could be queried.
While over the years directadmin has old and new endpoints, you should always prioritize the new ones. Pririoty list would be the follwoing
/api/session:
get:
operationId: get_api_session
tags:
- Api
summary: GET /api/session
x-source: https://docs.directadmin.com/developer/api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: curl tools does it. Login Keys Accessing an API on behalf of some user requires to know user account password and pass it in
the request. It is not a problem for testing but for production usage it is recommended to generate a login key. Login keys allows user
to have additional passwords each dedicated for a special purpose. Login key password can be restricted to allow only limited set of
acti
/libcurl/c/libcurl-errors.html:
get:
operationId: get_libcurl_c_libcurl_errors_html
tags:
- Libcurl
summary: GET /libcurl/c/libcurl-errors.html
x-source: https://docs.directadmin.com/directadmin/backup-restore-migration
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: 'curl: (55) Send failure: Connection reset by peer This error means the remote FTP server disconnected from the sending client.
The best way to narrow down the cause is to login to that remote FTP server and check its logs. Some reported causes of this error:
FTP User Over Quota Firewall is not set up correctly, ensure remote 20, 21, and 35000-35999 are open. Or test by shutting off the firewall '
/threads/{threadid}:
get:
operationId: get_threads_threadid
tags:
- Threads
summary: GET /threads/{threadId}
x-source: https://docs.directadmin.com/directadmin/backup-restore-migration/backup-to-remote.html
parameters:
- name: threadid
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl = /usr/local/bin/curl \n result = ` $CURL --interface $ETH -T $ftp_local_file -u $ftp_username : $ftp_password_esc_double_quote\
\ ftp:// $ftp_ip$ftp_path$ftp_remote_file 2>&1 ` \n if grep -q -o -i \"curl: (67) Access denied: 530.* $$ \" <<< \" $result \" ; then\
\ \n echo \"FTP access denied. Please check your login details.\" \n exit 1 \n fi \n if grep -q -o -i \"curl: (6) Couldn't resolve host.*\
\ $$ \" <<< \" $"
/wp-login.php:
post:
operationId: post_wp_login_php
tags:
- Wp Login
summary: Brute Force Monitoring for xmlrpc.php
x-source: https://docs.directadmin.com/directadmin/general-usage/securing-da-panel.html
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/{cmdapilogintest}:
get:
operationId: get_cmdapilogintest
tags:
- Api
summary: GET /{cmdApiLoginTest}
x-source: https://docs.directadmin.com/directadmin/general-usage/index.html
parameters:
- name: cmdapilogintest
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl --config ${CONFIG} --silent --show-error http://127.0.0.1:2222/CMD_API_LOGIN_TEST\" \n if [ \"${DEBUG}\" -ge 2 ]; then\
\ \n eval $RUN \n else "
tags:
- name: Api
- name: Libcurl
- name: Threads
- name: Wp Login