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.
curl "https://backend.dcautogen.org/api/v1/fleet_summary.php" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/json"
Read Endpoints
/fleet_summary.php
Returns total, live, and offline device counts plus fleet firmware distribution.
/devices.php
Returns the devices visible within the token scope, including name, last seen, live state, and firmware.
/device_status.php?device_id=YOUR_DEVICE_ID
Returns a status snapshot for one device.
/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
/device_settings.php?device_id=YOUR_DEVICE_ID
Returns the current settings visible for one scoped device.
/device_settings.php
Updates settings for a scoped, live device. This requires a token with can_control = 1.
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
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
/device_command.php
Accepts remote control commands for a scoped, live device.
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.
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
{
"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"
}
}
{
"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"
}
invalid_api_token, control_not_enabled_for_token,
device_not_found, device_offline, unsupported_command, and
control_not_allowed.
Capability Matrix
Telemetrybattery_voltage, run_signal, temperature_c, total_hours, last_runtime_hours
Settingslow_battery_start_v, high_battery_cutoff_v, run_signal_select, run_signal_adjustment
Scheduleenabled, hour, minute, duration_minutes, utc_offset_hours, monday to sunday
Commandsstart, stop, return_to_standby, reset_fault
Use Case
Battery-based auto-start systems, remote control, and weekly timer scheduling.
Telemetrybattery_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
Settingslow_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.
Commandsstart, stop, return_to_standby, reset_fault
Use Case
Generator monitoring and control with richer telemetry, battery thresholds, tail current, and temperature protection.
Telemetrybattery_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
Settingslow_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.
Commandsstart, stop. Some deployments also expose return_to_standby and reset_fault.
Use Case
Generator monitoring and control with richer telemetry and charger-generator settings.
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