Bitaic CLI

The Bitaic CLI lets DevOps, platform, operations, and automation teams install agents, inspect agent state, run manual monitoring checks, and retrieve selected monitoring data from a terminal or script.

What You Can Do

The Bitaic CLI provides a terminal workflow for installing agents, checking installed versions, starting and stopping collectors, running manual checks, and retrieving current status for monitored resources.

Install And Authenticate

  • Install the Bitaic CLI from Bitaic Downloads using the macOS/Linux shell installer, Windows PowerShell installer, or a signed artifact for managed deployment.
  • Use the self-contained CLI binary. Python is not required for installation, authentication, agent management, or normal CLI use.
  • Verify the installed CLI with bitaic version.
  • Sign in with browser-based login for interactive terminals, or use device-code login when the host cannot open a browser.
  • Use workspace-scoped profiles to switch between Bitaic workspaces without moving credentials into scripts or committed config files.

Authentication And Profiles

Interactive CLI sessions use a Bitaic login flow tied to a workspace profile. The profile stores non-secret workspace metadata in a per-user config file, while access credentials stay in OS credential storage when available.

bitaic login
bitaic auth status
bitaic profile list
bitaic profile use production
Use caseAuth methodCredential handlingTypical permission
Interactive terminalBrowser login, or bitaic login --device on headless hosts.Store tokens in macOS Keychain, Windows Credential Manager, or Linux Secret Service/libsecret when available.Viewer, Operator, or Admin based on the commands used.
Automation and CIWorkspace-scoped service token.Provide BITAIC_TOKEN, BITAIC_WORKSPACE, and optional BITAIC_PROFILE from a secrets manager.Least-privilege token scopes for the automation task.
Multiple workspacesNamed CLI profiles.Keep profile metadata in ~/.config/bitaic/config.yml on macOS/Linux or %APPDATA%\Bitaic\config.yml on Windows.The active profile's workspace role or token scopes.

Command Contract

Public-release CLI commands use the form bitaic <group> <action> [resource] [flags]. Public command groups are auth, profile, install, agent, endpoint, ssl, domain, dns, and update, with top-level help, version, login, and logout commands. Private-beta Health Monitoring and Windows Event Monitoring commands are listed separately for enrolled workspaces.

FlagScopeBehavior
--profile <name>Workspace-aware commands.Use the named CLI profile for this command.
--workspace <workspace_id_or_slug>Login, automation, and workspace-aware commands.Select or override the workspace where supported.
--config <path>Commands that read CLI or agent configuration.Read configuration from a non-default path.
--output text|jsonCommands with structured output.Use human-readable text by default or JSON with the same field names for automation.
--no-colorText output.Disable terminal color for logs and CI output.
--helpAny command.Show help for the selected command.
--versionTop-level CLI.Show the installed CLI version.

Command Summary

CommandPurposeArgumentsExpected outputRelated docs
bitaic helpDisplay CLI help and available command groups.Optional command name or group.Help text and command list.CLI reference.
bitaic versionShow the installed CLI version.None.CLI version string.CLI installation.
bitaic loginStart browser-based CLI authentication.Optional workspace or profile selection.Authenticated profile and active workspace.CLI authentication.
bitaic login --deviceAuthenticate on a host that cannot open a browser.Device-code flag and optional workspace or profile selection.Device code, verification URL, and authenticated profile.CLI authentication.
bitaic auth statusShow the current CLI authentication state.Optional profile name.Active profile, workspace, role, and token-expiration state.CLI authentication.
bitaic profile listList configured workspace profiles.None.Profile names, workspace IDs or slugs, and active marker.CLI authentication.
bitaic profile use <profile_name>Switch the active workspace profile.Profile name.Active profile confirmation.CLI authentication.
bitaic logoutRemove the current interactive CLI session.Optional profile name.Logout confirmation.CLI authentication.
bitaic install agent endpointInstall the endpoint monitoring agent.Endpoint agent name.Install status and next command.Endpoint Monitoring and Certificate Monitoring.
bitaic agent start <agent_name>Start a monitoring agent.Public agent name, such as endpoint.Agent status, start result, and next check.Public agent-backed product pages.
bitaic agent stop <agent_name>Stop a monitoring agent.Public agent name, such as endpoint.Stop result and final agent status.Public agent-backed product pages.
bitaic agent status <agent_name>Inspect whether an agent is running and sending data.Public agent name, such as endpoint.Running state, last check, and configuration status.Public agent-backed product pages.
bitaic endpoint check <url>Run a manual endpoint availability check.Endpoint URL.Availability, final status code, redirect count, response time, uptime state, and alert state.Endpoint Monitoring.
bitaic update agentTrigger or inspect the default agent update workflow.None.Update status and next action.Agent update workflow.
bitaic update agent allUpdate all installed public-release agents.Literal all.Per-agent update results.Agent update workflow.
bitaic update agent <agent_name>Update a specific public-release agent.Public agent name, such as endpoint.Update result for the selected agent.Agent update workflow.
bitaic agent version <agent_name>Show the installed version for a specific public-release agent.Public agent name, such as endpoint.Agent version string.Agent update workflow.

Command Arguments And Output Fields

CommandRequired argumentsSupported command flagsSuccess fields
bitaic help [command]Optional command or group.--output, --no-color.command, summary, usage, commands, flags.
bitaic versionNone.--output, --no-color.version, build, platform.
bitaic login [--device]None.--profile, --workspace, --device, --output.profile, workspace, status, expires_at.
bitaic auth statusNone.--profile, --output, --no-color.profile, workspace, role, status, expires_at.
bitaic profile listNone.--output, --no-color.profiles, active_profile.
bitaic profile use <profile_name>profile_name.--output, --no-color.active_profile, workspace.
bitaic logoutNone.--profile, --all, --output.profile, status.
bitaic install agent <agent_name>agent_name: endpoint for public-release workflows.--profile, --workspace, --config, --output.agent, status, version, next.
bitaic agent start|stop|status <agent_name>agent_name: endpoint for public-release workflows.--profile, --workspace, --config, --output.agent, status, last_check, configured_targets.
bitaic endpoint check <url>url.--profile, --workspace, --output, --no-color.url, availability, final_url, method, check_state, status_code, response_time_ms, response_time_warning_ms, response_time_critical_ms, redirect_count, uptime_state, alert_state, checked_at.
bitaic update agent [all|<agent_name>]Optional literal all or public agent name, such as endpoint.--profile, --workspace, --config, --output.status, updated_agents, skipped_agents, next.

Public Product Command Coverage

Product areaPublic-release commandsRelated product page
Endpoint Monitoringbitaic install agent endpoint, bitaic agent status endpoint, and bitaic endpoint check <url>.Endpoint Monitoring
Certificate Monitoringbitaic ssl list, bitaic ssl status <url>, and bitaic ssl check <url>. Threshold updates stay in config or API workflows.Certificate Monitoring
Domain Monitoringbitaic domain add <domain_name> [--expiration-alert-days <days>] [--expected-nameserver <name>]..., bitaic domain list, bitaic domain status <domain_name>, bitaic domain check <domain_name>, bitaic domain remove <domain_name> [--yes].Domain Monitoring
DNS Monitoringbitaic dns add <record_name> --type <record_type> [--expected-value <value>]... [--max-latency-ms <ms>] [--alert-on-mismatch], bitaic dns list, bitaic dns status <record_name> --type <record_type>, bitaic dns check <record_name> --type <record_type> [--expected-value <value>]..., bitaic dns remove <record_name> --type <record_type> [--yes].DNS Monitoring

Examples And Expected Output

The examples below show common public-release CLI output shapes for version checks, agent installation, agent status, manual endpoint checks, product checks, and agent updates.

$ bitaic version
version: <installed-version>
$ bitaic auth status
profile: production
workspace: ops-production
role: Operator
status: authenticated
$ bitaic profile use staging
active_profile: staging
workspace: ops-staging
$ bitaic install agent endpoint
agent: endpoint
status: installed
next: bitaic agent start endpoint
$ bitaic agent status endpoint
agent: endpoint
status: running
configured_targets: 1
last_check: 2026-08-18T14:30:00Z
$ bitaic endpoint check https://your-domain.com
url: https://your-domain.com
final_url: https://your-domain.com
method: GET
check_state: active
status_code: 200
availability: up
response_time_ms: 248
response_time_warning_ms: 1000
response_time_critical_ms: 3000
redirect_count: 0
uptime_state: available
alert_state: clear
checked_at: 2026-08-18T14:30:00Z
$ bitaic ssl status https://your-domain.com
url: https://your-domain.com
certificate_status: valid
expires_at: 2026-11-30T23:59:59Z
days_remaining: 97
ssl_alert_days: 30
alert_state: clear
checked_at: 2026-08-25T14:30:00Z
$ bitaic domain status example.com
domain: example.com
status: healthy
alert_state: clear
registrar: Example Registrar, Inc.
expires_at: 2027-04-15T00:00:00Z
days_until_expiration: 233
expiration_alert_days: 30
registry_statuses:
  - clientTransferProhibited
registrar_lock_state: locked
nameserver_state: expected
observed_nameservers:
  - ns1.example-dns.com
  - ns2.example-dns.com
expected_nameservers:
  - ns1.example-dns.com
  - ns2.example-dns.com
dnssec_state: enabled
rdap_state: available
checked_at: 2026-08-25T14:30:00Z
$ bitaic dns check www.example.com --type A
record_name: www.example.com
record_type: A
resolver_regions:
  - us-east
  - us-west
  - eu-west
resolver_results:
  us-east:
    response_code: NOERROR
    answers:
      - 203.0.113.10
    ttl_seconds: 300
  us-west:
    response_code: NOERROR
    answers:
      - 203.0.113.10
    ttl_seconds: 300
  eu-west:
    response_code: NOERROR
    answers:
      - 203.0.113.10
    ttl_seconds: 300
authoritative_result:
  response_code: NOERROR
  answers:
    - 203.0.113.10
expected_values:
  - 203.0.113.10
match_state: expected
ttl_state: expected
dnssec_state: unsigned
propagation_state: consistent
latency_ms: 42
dns_state: healthy
alert_state: clear
checked_at: 2026-08-26T14:30:00Z
$ bitaic update agent all
status: complete
updated_agents:
  - endpoint
next: bitaic agent version <agent_name>

Private Beta CLI Scope

Enrolled workspaces only

Health Monitoring and Windows Event Monitoring commands are private beta until Q1 2027 public-release planning. Keep their command output, configuration files, support paths, and automation examples scoped to beta workspaces until product owners approve public availability.

Private-beta productCLI commandsWrite boundary
Health Monitoringbitaic install agent health, bitaic agent status health, bitaic health status.Threshold writes stay in dashboard, API, or configuration workflows until product owners approve public CLI write commands.
Windows Event Monitoringbitaic windows-events status [--host <host_name>], bitaic windows-events list [--host <host_name>] [--log <log_name>] [--level <level>] [--event-id <event_id>] [--since <timestamp_or_duration>].Event rule writes stay in dashboard, API, or configuration workflows until product owners approve public CLI write commands.

Private-beta Health Monitoring status output uses these fields: host, os_family, os_version, architecture, agent_status, telemetry_state, agent_freshness_seconds, collection_interval_seconds, cpu_usage_percent, memory_usage_percent, disk_usage_percent, disk_read_bytes_per_second, disk_write_bytes_per_second, disk_io_utilization_percent, alert_state, checked_at.

$ bitaic health status
host: app-server-01
os_family: linux
os_version: ubuntu-22.04
architecture: x86_64
agent_status: running
telemetry_state: fresh
agent_freshness_seconds: 18
collection_interval_seconds: 60
cpu_usage_percent: 42
memory_usage_percent: 68
disk_usage_percent: 71
disk_read_bytes_per_second: 1048576
disk_write_bytes_per_second: 524288
disk_io_utilization_percent: 19
alert_state: clear
checked_at: 2026-08-18T14:30:00Z
$ bitaic windows-events status --host win-app-01
host: win-app-01
os_version: windows-server-2022
agent_status: running
collection_status: running
watched_logs:
  - Application
  - System
default_levels:
  - critical
  - error
  - warning
last_event_at: 2026-08-25T14:21:08Z
buffered_events: 0
matched_events: 2
alert_state: warning
checked_at: 2026-08-25T14:30:00Z
$ bitaic windows-events list --host win-app-01 --log System --level error --since 1h
events:
  - host: win-app-01
    log: System
    event_id: 7031
    level: error
    source: Service Control Manager
    provider: Service Control Manager
    event_time: 2026-08-25T14:21:08Z
    event_state: matched
    alert_state: warning
Private-beta inputPurposeNotes
health-agent-config.ymlStores private-beta Health Monitoring collection interval, local buffer duration, metric toggles, and threshold seeds for CPU, memory, disk usage, and disk I/O.Use this file only for enrolled private-beta host metric collection inputs and initial Health threshold values.
windows-event-agent-config.ymlStores private-beta Windows Event Monitoring collection mode, checkpoint cadence, local buffer limits, event filters, duplicate suppression, and event-rate rules.Use this file only for enrolled private-beta Windows Event agent collection inputs when event rules are seeded from configuration.

Configuration And Environment

InputPurposeNotes
endpoint-agent-config.ymlStores monitored endpoint URLs, request behavior, check cadence, timeouts, and SSL alert windows for endpoint and certificate workflows.Use this file for endpoint and certificate check inputs.
update-agent-config.ymlStores update workflow settings for installed agents.Use this file for agent update behavior.
CLI auth profileConnects CLI commands to the correct Bitaic workspace and default output behavior.Stored in ~/.config/bitaic/config.yml on macOS/Linux or %APPDATA%\Bitaic\config.yml on Windows.
BITAIC_TOKENSupplies a workspace-scoped service token for noninteractive automation.Source this value from a secrets manager or protected runtime variable, not from committed files.
BITAIC_WORKSPACESets the workspace for service-token automation.Use with BITAIC_TOKEN when a job does not rely on an interactive profile.
BITAIC_PROFILESelects a named CLI profile for a command or automation job.Useful when one host has separate staging and production profiles.

Output, Status, And Exit Codes

CLI output uses snake_case field names, lowercase status labels, ISO-8601 UTC timestamps, and millisecond suffixes for latency or duration fields. JSON output uses the same fields as text output.

AreaStatus labels
Auth/sessionauthenticated, unauthenticated, expired.
Agent lifecycleinstalled, running, stopped, stale, updating, updated, failed, unknown.
Endpoint availabilityup, degraded, down, unknown.
Endpoint check lifecycleactive, paused, unknown.
Uptime stateavailable, degraded, unavailable, unknown.
Telemetry freshnessfresh, stale, unknown.
Domain statushealthy, at_risk, degraded, unavailable, unknown.
Alert stateclear, warning, critical, unknown.
Update workflowpending, in_progress, complete, failed, skipped.
Exit codeMeaningAutomation guidance
0Command succeeded.Continue the workflow.
1Unexpected CLI or runtime error.Stop and capture command output.
2Invalid command usage, flag value, or config syntax.Fix command syntax or configuration before retrying.
3Authentication is missing, expired, or invalid.Refresh login or service token.
4Active user, profile, or token lacks permission.Use a role or token scope that matches the command.
5Requested profile, agent, target, or resource was not found.Check names, workspace, profile, and installation state.
6Command completed but the monitored result is unhealthy.Alert or fail CI when the monitored state should be healthy.
7Retryable network, API, or rate-limit failure remained.Retry later and include request or support IDs if present.
8The command timed out.Check network path, target response time, and timeout settings.

Retry Behavior

  • Idempotent reads and checks may retry connection reset, DNS failure, TLS handshake failure, HTTP 408, HTTP 429, and HTTP 5xx responses.
  • Default retries use three attempts with jittered backoff of roughly 1s, 3s, and 10s.
  • Writes such as install, start, stop, logout, and profile changes do not retry by default unless the CLI can prove the previous attempt did not change state or the API supports an idempotency key.
  • Manual monitoring checks may retry transport failures, but they do not retry a successful check because the monitored target is down or degraded.

Errors And Recovery

Error patternExit codeLikely causeRecovery
Unknown command2The command or subcommand is not supported by this CLI build.Run bitaic help and verify the installed version.
Authentication missing or expired3The CLI does not have a valid token or login session.Run bitaic login or refresh the service token, then confirm the active profile with bitaic auth status.
Permission denied4The active workspace role or service token lacks the required permission.Use Viewer for read-only checks, Operator for monitoring configuration, and Admin or API-access permissions for token, webhook, integration, user, role, or audit-log administration.
Agent is not installed5The requested agent is missing from the host.Install the agent, then run bitaic agent status <agent_name>.
Agent is stopped or stale6The agent is not running or has not reported recently.Start the agent, confirm host permissions, and review network access to Bitaic.
Configuration parse error2A YAML file has invalid syntax or unsupported fields.Validate the relevant config file and remove unsupported fields.
Retryable network or API failure7The CLI exhausted retries for a transient network, API, or rate-limit response.Retry later, check network access, and include request or support IDs if the output provides them.
Command timed out8The CLI did not receive a result before the timeout.Check the network path, target response time, and timeout settings before retrying.
Monitoring target check fails6The endpoint, host, DNS record, or monitored target is failing.Use the related product page to inspect expected data, threshold behavior, and troubleshooting steps.

Scripting And CI Use

Automation should use workspace-scoped service tokens from the runtime secret store rather than interactive user sessions. Treat any nonzero exit code as a reason to stop or alert. Exit code 6 means the command ran but found an unhealthy monitored state, while exit codes7 and 8 point to retry exhaustion or timeout. Log CLI output with secrets redacted so operators can troubleshoot agent state, authentication, and monitored target failures.

BITAIC_TOKEN=<token-from-secret-store>
BITAIC_WORKSPACE=ops-production

bitaic auth status
bitaic version
bitaic agent status endpoint
bitaic endpoint check https://your-domain.com

Related Product Pages