This file tracks the KAS-API surface implemented by kasapi-cli, grouped by domain. Checked items are wired up end-to-end (typed module + CLI subcommand + fixture-backed tests); unchecked items are still pending.
The list is kept in sync with the code on main. To claim an unchecked item, please open an issue first so work is not duplicated — see CONTRIBUTING.md.
- SOAP /
ns2:Mapdecoder (internal/soap) -
KasFloodDelayenforcement and retry onflood_delayerrors -
KasAuthcredential-token flow (plain + session, optional 2FA via--otp) - Persistent session-token cache (
sessions.toml) survives across CLI invocations - Session lifetime extension (
update_lifetime) - Standalone
delete_sessionsubcommand (kasapi-cli sessions delete);add_sessionis the KasAuth credential-token flow already covered above (internal/auth), not a separate endpoint
- TOML config file with named profiles and
default_profileselection - Environment overrides (
KAS_LOGIN,KAS_AUTHDATA,KAS_AUTHTYPE,KAS_PROFILE) - Secrets are never echoed in
--helpor default log output
Cross-cutting prerequisites for the v0.2.0 write phase — these are not KAS-API endpoints themselves but gate every destructive subcommand. All three are in place and wired by every landed write slice; the shared post-call seam lives in internal/kaswrite. The umbrella tracker for the write phase is #13.
- Destructive-write confirmation infrastructure (
--yes/ interactive[y/N]prompt, #109) - Structured write-action audit log (
--audit-log <path>/KAS_AUDIT_LOG, #131) -
--dry-runfor write commands (preview KAS action + parameters without dispatching, #132)
-
accounts list/accounts get <account-login>(get_accounts, withaccount_loginfilter) -
accounts settings/accounts resources(get_accountsettings,get_accountresources) - Account write paths (
add_account,update_account,delete_account,update_accountsettings,update_superusersettings, #110) -
server info(get_server_information)
-
usage space(get_space) -
usage space-detail(get_space_usage) -
usage traffic(get_traffic)
-
domains list/domains get <name>(get_domains, withdomain_namefilter) -
subdomains list/subdomains get <name>(get_subdomains, withsubdomain_namefilter) -
tlds list(get_topleveldomains) -
dns list --domain <d> [--record-id <id>](get_dns_settings) - DNS write paths (
add_dns_settings,update_dns_settings,delete_dns_settings,reset_dns_settings, #113) - Domain write paths (
add_domain,update_domain,delete_domain,move_domain, #111) - Subdomain write paths (
add_subdomain,update_subdomain,move_subdomain,delete_subdomain, #112)
-
mail accounts list/mail accounts get <mail-login>(get_mailaccounts, withmail_loginfilter) -
mail accounts add/update/delete(add_mailaccount,update_mailaccount,delete_mailaccount, #114) -
mail forwards list/mail forwards get <address>(get_mailforwards, withmail_forwardfilter) -
mail forwards add/update/delete(add_mailforward,update_mailforward,delete_mailforward, #115) -
mail filters list(get_mailstandardfilter) -
mail filters add/delete(add_mailstandardfilter,delete_mailstandardfilter, #116) -
mail lists list/mail lists get <mailinglist-name>(get_mailinglists) -
mail lists add/update/delete(add_mailinglist,update_mailinglist,delete_mailinglist, #117)
-
databases list/databases get <database-login>(get_databases, withdatabase_loginfilter) -
databases add/update/delete(add_database,update_database,delete_database, #122) -
ftpusers list/ftpusers get <ftp-login>(get_ftpusers, withftp_loginfilter) -
ftpusers add/update/delete(add_ftpuser,update_ftpuser,delete_ftpuser, #119) -
sambausers list/sambausers get <samba-login>(get_sambausers, withsamba_loginfilter) -
sambausers add/update/delete(add_sambauser,update_sambauser,delete_sambauser, #120) -
ddnsusers list/ddnsusers get <ddns-login>(get_ddnsusers, withddns_loginfilter) -
ddnsusers add/update/delete(add_ddnsuser,update_ddnsuser,delete_ddnsuser, #121) -
cronjobs list/cronjobs get <cronjob-id>(get_cronjobs, withcronjob_idfilter) -
cronjobs add/update/delete(add_cronjob,update_cronjob,delete_cronjob, #118) -
directoryprotection list [--path PATH](get_directoryprotection, optionaldirectory_pathfilter) -
directoryprotection add/update/delete(add_directoryprotection,update_directoryprotection,delete_directoryprotection, #123) -
softwareinstalls list/softwareinstalls get <software-id>(get_softwareinstall, withsoftware_idfilter) - Software install write path (
add_softwareinstall, #124 — the KAS API exposes only theaddaction, noupdate/delete) - Filesystem & SSL helpers (
add_symlink,update_chown,update_ssl, #125)