AutoGen X Pro / AutoGen Ultra / AutoGen DC Generators API Docs

Secure Monitoring And Control API

These endpoints let customers, dealers, and internal systems monitor fleet state, pull device telemetry, read and update controller settings, and, when explicitly authorized, issue remote generator control commands for X Pro, Ultra, and DC-generator controllers.

Base URL https://backend.dcautogen.org/api/v1/
Authentication Authorization: Bearer YOUR_TOKEN
Control Safety Write commands require a token with can_control = 1.

Getting Started

AutoGen issues API access through bearer tokens. A token may be read-only or control-enabled. Tokens can also be restricted to a specific set of device IDs.

Use one read-only token for dashboards and reporting. Use a separate control token only for trusted operator workflows, settings changes, or approved automations.
curl "https://backend.dcautogen.org/api/v1/fleet_summary.php" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

Read Endpoints

GET/fleet_summary.php

Returns total, live, and offline device counts plus fleet firmware distribution.

GET/devices.php

Returns the devices visible within the token scope, including name, last seen, live state, and firmware.

GET/device_status.php?device_id=YOUR_DEVICE_ID

Returns a status snapshot for one device.

GET/device_telemetry.php?device_id=YOUR_DEVICE_ID

Returns model-specific telemetry for one scoped device. X Pro returns battery voltage, run signal, temperature, and runtime. Ultra and Unified / DC controllers return the richer telemetry sets shown in the examples below.

curl "https://backend.dcautogen.org/api/v1/device_telemetry.php?device_id=YOUR_DEVICE_ID"   -H "Authorization: Bearer YOUR_READ_ONLY_TOKEN"   -H "Accept: application/json"

{
  "device_type": "x_pro",
  "success": true,
  "telemetry": {
    "battery_voltage": 55.24,
    "run_signal": 230.34,
    "temperature_c": 0,
    "total_hours": "0217:47:12",
    "last_runtime_hours": "0000:00:12"
  }
}
curl "https://backend.dcautogen.org/api/v1/device_telemetry.php?device_id=YOUR_DEVICE_ID"   -H "Authorization: Bearer YOUR_READ_ONLY_TOKEN"   -H "Accept: application/json"

{
  "device_type": "ultra",
  "success": true,
  "telemetry": {
    "battery_voltage": 55.24,
    "run_signal": 230.34,
    "charge_current": 12.4,
    "engine_temp_c": 67.1,
    "alternator_temp_c": 55.2,
    "oil_pressure_bar": 2.1,
    "total_hours": "0217:47:12",
    "last_runtime_hours": "0000:00:12",
    "total_kwh_produced": 123.4,
    "last_kwh_produced": 0.8
  }
}

Device Families

Family Telemetry Settings Commands Schedule
X Pro battery_voltage, run_signal, temperature_c, total_hours, last_runtime_hours low_battery_start_v, high_battery_cutoff_v, run_signal_select, run_signal_adjustment start, stop, return_to_standby, reset_fault Yes
Ultra battery_voltage, run_signal, charge_current, engine_temp_c, alternator_temp_c, oil_pressure_bar, total_hours, last_runtime_hours, total_kwh_produced, last_kwh_produced low_battery_start_v, high_battery_cutoff_v, tail_current_a, low_temp_start_c, high_temp_shutdown_c start, stop, return_to_standby, reset_fault No
Unified / DC battery_voltage, run_signal, charge_current, engine_temp_c, alternator_temp_c, oil_pressure_bar, total_hours, last_runtime_hours, total_kwh_produced, last_kwh_produced low_battery_start_v, high_battery_cutoff_v, bulk_setpoint, absorb_setpoint, tail_current_a start, stop, return_to_standby, reset_fault No

Settings Endpoint

GET/device_settings.php?device_id=YOUR_DEVICE_ID

Returns the current settings visible for one scoped device.

POST/device_settings.php

Updates settings for a scoped, live device. This requires a token with can_control = 1.

Readable settings

X Pro: low_battery_start_v, high_battery_cutoff_v, run_signal_select, run_signal_adjustment
Ultra: low_battery_start_v, high_battery_cutoff_v, tail_current_a, low_temp_start_c, high_temp_shutdown_c
DC / Unified controllers: low_battery_start_v, high_battery_cutoff_v, bulk_setpoint, absorb_setpoint, tail_current_a

Write requirements

Token must have control enabled, the device must be within scope, and the device must be online.

curl "https://backend.dcautogen.org/api/v1/device_settings.php"   -X POST   -H "Authorization: Bearer YOUR_CONTROL_TOKEN"   -H "Content-Type: application/json"   -H "Accept: application/json"   -d '{
    "device_id": "YOUR_DEVICE_ID",
    "settings": {
      "low_battery_start_v": 48,
      "high_battery_cutoff_v": 58,
      "run_signal_select": 2,
      "run_signal_adjustment": 210
    }
  }'

Control Endpoint

POST/device_command.php

Accepts remote control commands for a scoped, live device.

Supported commands

X Pro: start, stop, return_to_standby, reset_fault
On X Pro firmware, return_to_standby / reset_fault share the same command path: faulted units clear back toward standby, otherwise the command behaves as a controlled stop.

Requirements

Token must have control enabled, the device must be within scope, and the device must be online.

curl "https://backend.dcautogen.org/api/v1/device_command.php"   -X POST   -H "Authorization: Bearer YOUR_CONTROL_TOKEN"   -H "Content-Type: application/json"   -H "Accept: application/json"   -d '{
    "device_id": "YOUR_DEVICE_ID",
    "command": "start"
  }'

Responses

Example X Pro response
{
  "device_type": "x_pro",
  "success": true,
  "telemetry": {
    "battery_voltage": 55.24,
    "run_signal": 230.34,
    "temperature_c": 0,
    "total_hours": "0217:47:12",
    "last_runtime_hours": "0000:00:12"
  }
}
Example X Pro settings response
{
  "success": true,
  "device_id": "YOUR_DEVICE_ID",
  "settings": {
    "low_battery_start_v": 48,
    "high_battery_cutoff_v": 58,
    "run_signal_select": 2,
    "run_signal_adjustment": 210
  },
  "message": "settings_sent"
}
The available telemetry, settings, schedule support, and commands depend on the device family. Use the capability matrix below when you need a quick family-by-family reference.
Common error messages include invalid_api_token, control_not_enabled_for_token, device_not_found, device_offline, unsupported_command, and control_not_allowed.

Capability Matrix

AutoGen X Pro

Telemetry
battery_voltage, run_signal, temperature_c, total_hours, last_runtime_hours

Settings
low_battery_start_v, high_battery_cutoff_v, run_signal_select, run_signal_adjustment

Schedule
enabled, hour, minute, duration_minutes, utc_offset_hours, monday to sunday

Commands
start, stop, return_to_standby, reset_fault

Use Case
Battery-based auto-start systems, remote control, and weekly timer scheduling.

AutoGen Ultra

Telemetry
battery_voltage, run_signal, charge_current, engine_temp_c, alternator_temp_c, oil_pressure_bar, total_hours, last_runtime_hours, total_kwh_produced, last_kwh_produced

Settings
low_battery_start_v, high_battery_cutoff_v, tail_current_a, low_temp_start_c, high_temp_shutdown_c

Schedule
Not part of the current public Ultra API surface.

Commands
start, stop, return_to_standby, reset_fault

Use Case
Generator monitoring and control with richer telemetry, battery thresholds, tail current, and temperature protection.

Unified / DC Generators

Telemetry
battery_voltage, run_signal, charge_current, engine_temp_c, alternator_temp_c, oil_pressure_bar, total_hours, last_runtime_hours, total_kwh_produced, last_kwh_produced

Settings
low_battery_start_v, high_battery_cutoff_v, bulk_setpoint, absorb_setpoint, tail_current_a

Schedule
Not part of the current public Unified/DC API surface.

Commands
start, stop. Some deployments also expose return_to_standby and reset_fault.

Use Case
Generator monitoring and control with richer telemetry and charger-generator settings.

Writes and commands require can_control = 1. Exact field availability depends on the product type and the hardware fitted to that unit.

Security Model

Tokens are bearer credentials. Only token hashes are stored in the AutoGen database. Control access is opt-in per token through the can_control flag. Settings writes and control actions are logged in the audit trail for traceability.

If a token is exposed, revoke it and create a new one. For operational safety, keep reporting and control on separate tokens.

Support

To request API access, additional device scope, or control-enabled credentials, use your normal AutoGen support channel and provide:

  • the account email that should own the token
  • whether the token should be read-only or control-enabled
  • the device IDs, if access should be restricted to specific units
  • the integration platform you are using, such as Home Assistant, a mobile app, or a custom dashboard