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
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
network_idstring uuid required
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
urlstring required

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

user_idstring uuid required

User responsible for maintaining this daemon

versionstring nullable

Daemon software version (semver format)

created_atstring date-time required
idstring uuid required
updated_atstring date-time required

Response

daemon updated

errorstring nullable
successboolean required

Example response

{
  "meta": {
    "api_version": 1,
    "server_version": "0.17.7"
  }
}

Changes