Skip to content

CLI

Manage your Manako monitors from the command line.

Terminal window
npm install -g manako
Terminal window
manako login

A browser will open automatically. Approve the authentication code on the dashboard to automatically issue an API key. In environments where a browser cannot be opened (e.g., SSH), manually enter the displayed URL and code in your browser.

Credentials are stored in ~/.manako.json (permission 600).

Terminal window
manako status

Displays the current state of all monitors with status icons.

Terminal window
# List (JSON)
manako monitors list
# Details
manako monitors get <id>
# Add (HTTP)
manako monitors add https://example.com
# Add (attach to a specific service)
manako monitors add https://example.com --service <service-id>
# Add (other types)
manako monitors add example.com -t ping
manako monitors add db.example.com:5432 -t tcp
manako monitors add example.com -t ssl
manako monitors add example.com -t domain
# Update
manako monitors update <id> --name "New Name"
manako monitors update <id> --interval 600
manako monitors update <id> --pause
manako monitors update <id> --resume
# Manual check
manako monitors check <id>
# Delete
manako monitors rm <id>
TypeCommand Example
HTTPmanako monitors add https://example.com
TCPmanako monitors add db.example.com:5432 -t tcp
Pingmanako monitors add example.com -t ping
Heartbeatmanako monitors add my-cron -t heartbeat
Web Changemanako monitors add https://example.com/pricing -t webchange
SSL Certificatemanako monitors add example.com -t ssl
Domain Expirymanako monitors add example.com -t domain

For custom configuration, use the --config option to specify JSON:

Terminal window
manako monitors add https://example.com -c '{"url":"https://example.com","method":"POST","expectedStatus":201,"timeoutMs":5000}'
Terminal window
# List
manako incidents list
# Filter by status
manako incidents list -s ongoing
# Acknowledge
manako incidents ack <id>
# Create manual incident
manako incidents create --title "Payment service outage" --cause "Provider issue"
# Update incident
manako incidents update <id> --title "New title" --cause "Additional details"
# Resolve incident
manako incidents resolve <id> --cause "Root cause identified and fixed"
# Delete manual incident
manako incidents delete <id>
Terminal window
# List
manako services list
# Create (slug is derived from the name when omitted)
manako services add "My Service"
manako services add "My Service" --slug my-service -d "Description"
# Update
manako services update <id> --name "New Name"
manako services update <id> --slug new-slug
manako services update <id> --public # Make the status page public
manako services update <id> --private # Make it private again
# Delete (monitors are moved to the default service)
manako services rm <id>
# Reset monitor statistics
manako services stats-reset <id>
manako services stats-reset <id> --before 2024-01-01
Terminal window
# Send test notification
manako notification-channels test <channel-id>

Send a test notification to verify channel configuration.

Terminal window
# List
manako webhook-subscriptions list
# Create
manako webhook-subscriptions create \
-u https://example.com/webhook \
-s "your-signing-secret-min16" \
-e "incident.created,incident.resolved"
# Delete
manako webhook-subscriptions rm <id>

Manage webhooks for receiving event notifications (incident creation/resolution, web change detection).

Terminal window
manako logout

Removes local credentials.

OptionDescription
--api-url <url>API endpoint URL (default: https://api.manako.dev)
-n, --name <name>Monitor name (add/update)
-t, --type <type>Monitor type (add)
-i, --interval <seconds>Check interval (60-86400 seconds, add/update)
-c, --config <json>Type-specific configuration JSON (add)
-s, --status <status>Status filter (incidents list)