ScanopyScanopy
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}
Authorization<token>

User API key (Bearer scp_u_...). Create in Platform > API Keys.

In: header

Path Parameters

id*string

daemon ID

Formatuuid

Request Body

application/json

host_id*string
Formatuuid
mode*string

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.

Value in"server_poll" | "daemon_poll"
name*string
network_id*string
Formatuuid
tags*array<string>
url*string

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

user_id*string

User responsible for maintaining this daemon

Formatuuid
api_key_id?string|null

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

Formatuuid
is_unreachable?boolean

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

version?string|null

Daemon software version (semver format)

Response Body

application/json

application/json

application/json

curl -X PUT "https://loading/api/v1/daemons/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "host_id": "eb4e20fc-2b4a-4d0c-811f-48abcf12b89b",    "mode": "server_poll",    "name": "string",    "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",    "tags": [      "497f6eca-6276-4993-bfeb-53cbbbba6f08"    ],    "url": "string",    "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"  }'
{
  "meta": {
    "api_version": 1,
    "server_version": "0.17.5"
  },
  "success": true,
  "data": {
    "host_id": "eb4e20fc-2b4a-4d0c-811f-48abcf12b89b",
    "mode": "server_poll",
    "name": "string",
    "network_id": "d6797cf4-42b9-4cad-8591-9dd91c3f0fc3",
    "tags": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "url": "string",
    "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
    "api_key_id": "b0dd218e-3bcf-4bdb-a1e3-0689d60a8afd",
    "is_unreachable": true,
    "last_seen": "2019-08-24T14:15:22Z",
    "standby": true,
    "standby_cleared_at": "2019-08-24T14:15:22Z",
    "version": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "updated_at": "2019-08-24T14:15:22Z"
  },
  "error": "string"
}
{
  "meta": {
    "api_version": 1,
    "server_version": "0.17.5"
  },
  "success": true,
  "code": "string",
  "error": "string",
  "params": {
    "property1": null,
    "property2": null
  }
}
{
  "meta": {
    "api_version": 1,
    "server_version": "0.17.5"
  },
  "success": true,
  "code": "string",
  "error": "string",
  "params": {
    "property1": null,
    "property2": null
  }
}