Skip to content
Damir Mukimov edited this page Dec 15, 2025 · 7 revisions

Usage Guide

Overview

Account Management

Commands

Command Description
account list List all configured accounts
account add [name] Add new account (interactive)
account switch <name> Switch default account
account show [name] Show account details (API keys masked)
account edit [name] Edit account interactively
account remove <name> Remove account

Examples

# List accounts
zonekit account list

# Add account
zonekit account add work

# Switch account
zonekit account switch work

# Show account details
zonekit account show
```## Domain Management

### Commands

| Command | Description |
|---------|-------------|
| `domain list` | List all domains |
| `domain info <domain>` | Get domain details |
| `domain check <domain>` | Check domain availability |
| `domain renew <domain> [years]` | Renew domain registration |
| `domain nameservers get <domain>` | Get current nameservers |
| `domain nameservers set <domain> <ns1> [ns2...]` | Set custom nameservers |
| `domain nameservers default <domain>` | Reset to provider defaults |

### Examples

```bash
# List domains
zonekit domain list

# Check availability
zonekit domain check example.com

# Get domain info
zonekit domain info example.com

# Set nameservers
zonekit domain nameservers set example.com ns1.provider.com ns2.provider.com
```## DNS Records

### Commands

| Command | Description |
|---------|-------------|
| `dns list <domain>` | List all DNS records |
| `dns add <domain> <host> <type> <value> [ttl]` | Add DNS record |
| `dns update <domain> <host> <type> <value> [ttl]` | Update DNS record |
| `dns delete <domain> <host> <type>` | Delete DNS record |
| `dns clear <domain>` | Clear all records |
| `dns bulk <domain> <file>` | Bulk operations from file |
| `dns import <domain> <file>` | Import zone file |
| `dns export <domain> [file]` | Export to zone file |

### Record Types

| Type | Description | Example Value |
|------|-------------|---------------|
| A | IPv4 address | `192.0.2.1` |
| AAAA | IPv6 address | `2001:db8::1` |
| CNAME | Canonical name | `www.example.com` |
| MX | Mail exchange | `mail.example.com` (with priority) |
| TXT | Text record | `"v=spf1 include:_spf.example.com ~all"` |
| NS | Name server | `ns1.example.com` |
| SRV | Service record | `_service._tcp.example.com` |

> **Tip:** Use `@` for root domain records.

### Examples

```bash
# Add A record
zonekit dns add example.com www A 192.0.2.1

# Add MX record with priority
zonekit dns add example.com @ MX mail.example.com 10

# Add CNAME
zonekit dns add example.com blog CNAME example.com

# Add TXT (SPF)
zonekit dns add example.com @ TXT "v=spf1 include:_spf.example.com ~all"

# Update record
zonekit dns update example.com www A 192.0.2.2

# Delete record
zonekit dns delete example.com www A

# List records
zonekit dns list example.com
```### Using Different Accounts

```bash
# Switch default account
zonekit account switch work
zonekit domain list  # Uses 'work' account

# Use specific account for one command
zonekit --account personal domain list

Plugins

# List available plugins
zonekit plugin list

# Get plugin info
zonekit plugin info migadu

# Use plugin (example: Migadu email)
zonekit migadu setup example.com
zonekit migadu verify example.com
zonekit migadu remove example.com

# Preview changes first
zonekit migadu setup example.com --dry-run

See Plugins for detailed documentation.

Bulk Operations

Create operations.yaml:

operations:
  - action: add
    host: www
    type: A
    value: 192.0.2.1
    ttl: 3600
  - action: update
    host: mail
    type: A
    value: 192.0.2.2
  - action: delete
    host: old
    type: A

Execute:

zonekit dns bulk example.com operations.yaml

Common Workflows

Setup New Domain

# Check availability
zonekit domain check newdomain.com

# List existing records
zonekit dns list newdomain.com

# Add required records
zonekit dns add newdomain.com @ A 192.0.2.1
zonekit dns add newdomain.com www CNAME newdomain.com
zonekit dns add newdomain.com @ MX mail.newdomain.com 10

# Verify
zonekit dns list newdomain.com

Configure Email Hosting

# Preview changes
zonekit migadu setup example.com --dry-run

# Apply changes
zonekit migadu setup example.com

# Verify setup
zonekit migadu verify example.com

Manage Multiple Accounts

# Add accounts
zonekit account add personal
zonekit account add work

# Use different accounts
zonekit --account personal domain list
zonekit --account work domain list

# Switch default
zonekit account switch work

Getting Help

zonekit help                # General help
zonekit account --help      # Account commands
zonekit domain --help       # Domain commands
zonekit dns --help          # DNS commands
zonekit plugin --help       # Plugin commands

Clone this wiki locally