v62

latestOpenAPI 3.1.0Dual (AGPL3.0, Commercial License Available)raw.githubusercontent.com2026-08-03211303932.5 KB
Daemons

Update daemon

Edits the server-side daemon record: its name, maintainer, tags, and — for ServerPoll — the url the server dials. Identity and server-managed fields (network, mode, host, key binding, version, liveness) are restored from the existing record by preserve_immutable_fields.

put/api/v1/daemons/{id}

Path parameters

idstring uuid required

daemon ID

Request body

api_key_idstring uuid nullable

Foreign key to API key used for ServerPoll authentication. NULL for DaemonPoll daemons or those not yet linked to a key.

host_idstring uuid required

The host this entity belongs to.

is_unreachableboolean

Whether the daemon is unreachable (for ServerPoll circuit breaker). Set to true after repeated polling failures, reset via retry-connection endpoint.

last_seenstring date-time nullable

Timestamp of last successful contact with daemon. NULL for provisioned ServerPoll daemons that haven't been contacted yet.

mode'server_poll' | 'daemon_poll' required

Daemon operating mode that determines the communication pattern.

  • DaemonPoll (formerly "Pull"): Daemon makes outbound connections to the server. The daemon registers itself and polls for work. Best for daemons behind NAT/firewall.

  • ServerPoll (formerly "Push"): Server makes connections to the daemon. Server polls daemon for status and discovery results. Best for DMZ deployments where daemon cannot make outbound connections.

namestring required

Human-facing name for this daemon.

network_idstring uuid required

The network this entity belongs to.

standbyboolean

Whether the daemon is on standby due to inactivity (no discovery in 30 days).

standby_cleared_atstring date-time nullable

Timestamp of the most recent standby → active transition. Set by process_startup when a restarted daemon is un-standby'd, and by the discovery auto-wake path. The nightly inactivity check skips daemons within the grace window (see STANDBY_GRACE_PERIOD_DAYS) to prevent the "restart → cleared → re-standby'd before discovery runs" race.

tagsstring[] required

Tags assigned to this entity.

urlstring uri required

Address the server dials for a ServerPoll daemon. Editable (a daemon can move); unused and not editable for DaemonPoll, which dials out instead. Base URL the server reaches this daemon on.

user_idstring uuid required

User responsible for maintaining this daemon

versionstring nullable

Daemon software version (semver format)

created_atstring date-time required

When this record was first created.

idstring uuid required

Server-assigned unique identifier.

updated_atstring date-time required

When this record was last modified.

Example request

{
  "url": "https://daemon.example.com:60073",
  "version": "0.17.7"
}

Response

daemon updated

errorstring nullable

Human-readable failure message. Omitted on success.

successboolean required

true when the request succeeded. false responses carry error instead of data.

Example response

{
  "data": {
    "url": "https://daemon.example.com:60073",
    "version": "0.17.7"
  },
  "meta": {
    "api_version": 1,
    "server_version": "0.17.7"
  }
}