Skip to content

Command-Line Interface (CLI)

The dynm.link CLI allows you to manage your links, subdomains, and upload files directly from your terminal.

Installation

bash
npm install -g @dynm.link/cli

Or run it without installing:

bash
npx @dynm.link/cli <args>

@dynm.link/cli on npm

Authentication

Authentication state is stored locally in ~/.config/dynm.link/config.json with 0600 permissions.

bash
dynm.link login                     # opens browser to authorize and retrieve key
dynm.link login --key dynm_...      # headless: pass a key directly
dynm.link whoami                    # check authenticated user, folders, and API base URL
dynm.link logout                    # clear local authentication state

Environment Variables

You can override or configure the CLI behavior using the following environment variables:

  • DYNM_API_KEY — Skip local config file resolution and use this API key.
  • DYNM_API_URL — Target API base URL (defaults to https://api.dynm.link).
  • DYNM_SPA_URL — Target dashboard URL for the login callback flow (defaults to https://www.dynm.link).

List, Get, Edit, Remove

bash
# List links (filter by type or domain)
dynm.link link list [--type redirect|text|bio|file] [--domain <host>] [--json]

# Get details for a specific link
dynm.link link get <slug> [--domain <host>] [--json]

# Edit an existing link
dynm.link link edit <slug> [--title "New Title"] [--web "https://newurl.com"] [--expires 30d|never]

# Remove a link
dynm.link link remove <slug> [--yes]

You can create links of various types using the subcommands below. Every create command accepts common flags: --slug (random if omitted), --title, --description, --expires, --domain, and --json.

bash
# Create a redirect link
dynm.link link create redirect [slug] --web <url> [--ios <url>] [--android <url>]

# Create a text snippet link (--markdown renders the body as a web page)
dynm.link link create text [slug] --body "snippet text" [--markdown]

# Create a link-in-bio page
dynm.link link create bio [slug] --name "Your Name" --link "Site=https://example.com" --link "GitHub=https://github.com/..."

# Upload and host a file link
dynm.link link create file [slug] --file ./brand-kit.zip

Custom Domains and Folder Scope

The --domain flag is optional if your account has only one subdomain (username.dynm.link), but is required once you have custom domains configured to resolve which folder scope to target.

One short link: redirect, page, file, or QR.