Daemons
internal

Internal endpoint for daemon self-registration. Creates a host entry and sets up default discovery jobs for the daemon.

post/api/daemons/register

Request

  • Base URL
    https://app.scanopy.net
  • URL
    https://app.scanopy.net/api/daemons/register
  • Auth
    API key in header Authorization

Request body

daemon_idstring uuid required

The daemon this entity refers to.

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

Name the daemon reports for itself.

os'linux' | 'macos' | 'windows' | 'freebsd'

Operating system a daemon is installed on, as picked when it is created.

site_idstring uuid required

The site this entity belongs to.

urlstring nullable

URL is ignored by server - kept for backwards compat with old daemons. URL is only set via admin provisioning for ServerPoll daemons.

user_idstring uuid

User responsible for maintaining this daemon (from frontend install command) Optional for backwards compat with old daemons - defaults to nil UUID

versionstring nullable

Daemon software version (optional for backwards compat with old daemons)

Response

Daemon registered successfully

errorstring nullable

Not sent on a successful response. Failure messages arrive in an ApiErrorResponse.

successboolean required

Always true on a successful response.

Example response

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

Changes

    • breaking

      the response property ////// became nullable for the status

    • breaking

      the response property ////// became optional for the status

    • info

      added the optional property ////// to the response with the status

    • breaking

      added the new required request property

    • breaking

      removed subschema #2: Network from the / request property oneOf list

    • breaking

      removed the required property ////// from the response with the status

    • warning

      removed the request property

    • info

      added subschema #2: Site to the / request property oneOf list

    • info

      added the required property ////// to the response with the status