# Appliance [Appliances](https://docs.trustgrid.io/docs/nodes/appliances/) are Trustgrid nodes deployed either physically or as a virtual machine. ## Retrieve all network nodes including appliances and agents with filtering options - [GET /node](https://apidocs.trustgrid.io/agent/paths/~1node/get.md): List both appliances and agents. --- Requires nodes::read permission. ## Permanently remove a node from the organization and revoke access - [DELETE /node/{nodeID}](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D/delete.md): Delete a node (appliance or agent) --- Requires nodes::delete permission. ## Retrieve detailed configuration and status information for a specific node - [GET /node/{nodeID}](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D/get.md): Get a node (appliance or agent) --- Requires nodes::read permission. ## Modify node settings including cluster assignment and operational state - [PUT /node/{nodeID}](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D/put.md): Update a node (appliance or agent) --- Requires nodes::manage permission. ## Configure inbound network connectors for external access to node services - [PUT /node/{nodeID}/config/connectors](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1config~1connectors/put.md) ## Remove all connector configurations from a node - [DELETE /node/{nodeID}/config/connectors](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1config~1connectors/delete.md) ## Create a new inbound connector to expose services running on the node - [POST /v2/node/{nodeID}/config/connectors](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors/post.md): Requires node::configure::connectors permissions ## Migrate a node's connector configuration to the latest V2 format - [POST /v2/node/{nodeID}/config/connectors/upgrade](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors~1upgrade/post.md): Requires node::configure::connectors permissions ## Modify settings for an existing connector on a node - [PUT /v2/node/{nodeID}/config/connectors/{connectorID}](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors~1%7Bconnectorid%7D/put.md): Applies to appliances and agents. Requires V2 connector config. --- Requires node::configure::connectors permissions ## Remove a specific connector configuration from a node - [DELETE /v2/node/{nodeID}/config/connectors/{connectorID}](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors~1%7Bconnectorid%7D/delete.md): Delete a connector from a node (appliance or agent). Requires V2 connector config. --- Requires node::configure::connectors permissions ## Configure outbound services for external connections from the node - [PUT /node/{nodeID}/config/services](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1config~1services/put.md): Update services configuration for a node (appliance or agent) --- Note: request body will be validated by JSON schema of the plugin ## Create a new outbound service connection for external resource access - [POST /v2/node/{nodeID}/config/services](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services/post.md): Requires node::configure::services permissions ## Migrate a node's service configuration to the latest V2 format - [POST /v2/node/{nodeID}/config/services/upgrade](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services~1upgrade/post.md): Requires node::configure::services permissions ## Modify settings for an existing service connection on a node - [PUT /v2/node/{nodeID}/config/services/{serviceID}](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services~1%7Bserviceid%7D/put.md): Update a service on a node. Requires V2 services config. --- Requires node::configure::services permissions ## Remove a specific service configuration from a node - [DELETE /v2/node/{nodeID}/config/services/{serviceID}](https://apidocs.trustgrid.io/agent/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services~1%7Bserviceid%7D/delete.md): Delete a service from a node. Requires V2 services config. --- Requires node::configure::services permissions ## Configure node as a network gateway for routing traffic between networks - [PUT /node/{nodeID}/config/gateway](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1config~1gateway/put.md): Update gateway configuration --- Requires nodes::configure:gateway permission. ## Configure SNMP monitoring settings for network management integration - [PUT /node/{nodeID}/snmp](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1snmp/put.md): Update SNMP configuration --- Requires nodes::configure:snmp permission. ## Remove a metadata tag from a node for organizational categorization - [DELETE /node/{nodeID}/tag/{tagName}](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1tag~1%7Btagname%7D/delete.md) ## Add or update a metadata tag on a node for organizational categorization - [PUT /node/{nodeID}/tag/{tagName}](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1tag~1%7Btagname%7D/put.md) ## Execute a remote operation or command on a specific node - [POST /node/{nodeID}/trigger/{event}](https://apidocs.trustgrid.io/agent/paths/~1node~1%7Bnodeid%7D~1trigger~1%7Bevent%7D/post.md) ## Retrieve all network nodes including appliances and agents with filtering options - [GET /node](https://apidocs.trustgrid.io/appliance/paths/~1node/get.md): List both appliances and agents. --- Requires nodes::read permission. ## Generate a license key for registering a new node to the organization - [GET /node/license](https://apidocs.trustgrid.io/appliance/paths/~1node~1license/get.md) ## Permanently remove a node from the organization and revoke access - [DELETE /node/{nodeID}](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D/delete.md): Delete a node (appliance or agent) --- Requires nodes::delete permission. ## Retrieve detailed configuration and status information for a specific node - [GET /node/{nodeID}](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D/get.md): Get a node (appliance or agent) --- Requires nodes::read permission. ## Modify node settings including cluster assignment and operational state - [PUT /node/{nodeID}](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D/put.md): Update a node (appliance or agent) --- Requires nodes::manage permission. ## Configure alert thresholds and notification settings for a specific appliance - [PUT /node/{nodeID}/config/alert](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1alert/put.md): Applicable to appliances only. ## Configure high-availability cluster settings for a specific appliance - [PUT /node/{nodeID}/config/cluster](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1cluster/put.md): Applicable to appliances only. ## Configure inbound network connectors for external access to node services - [PUT /node/{nodeID}/config/connectors](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1connectors/put.md) ## Remove all connector configurations from a node - [DELETE /node/{nodeID}/config/connectors](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1connectors/delete.md) ## Create a new inbound connector to expose services running on the node - [POST /v2/node/{nodeID}/config/connectors](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors/post.md): Requires node::configure::connectors permissions ## Migrate a node's connector configuration to the latest V2 format - [POST /v2/node/{nodeID}/config/connectors/upgrade](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors~1upgrade/post.md): Requires node::configure::connectors permissions ## Modify settings for an existing connector on a node - [PUT /v2/node/{nodeID}/config/connectors/{connectorID}](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors~1%7Bconnectorid%7D/put.md): Applies to appliances and agents. Requires V2 connector config. --- Requires node::configure::connectors permissions ## Remove a specific connector configuration from a node - [DELETE /v2/node/{nodeID}/config/connectors/{connectorID}](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1connectors~1%7Bconnectorid%7D/delete.md): Delete a connector from a node (appliance or agent). Requires V2 connector config. --- Requires node::configure::connectors permissions ## Configure network interfaces, routing, and firewall rules for an appliance - [PUT /node/{nodeID}/config/network](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1network/put.md): Update network configuration for a node (appliance) --- Requires node::configure:network permissions ## Configure outbound services for external connections from the node - [PUT /node/{nodeID}/config/services](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1services/put.md): Update services configuration for a node (appliance or agent) --- Note: request body will be validated by JSON schema of the plugin ## Create a new outbound service connection for external resource access - [POST /v2/node/{nodeID}/config/services](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services/post.md): Requires node::configure::services permissions ## Migrate a node's service configuration to the latest V2 format - [POST /v2/node/{nodeID}/config/services/upgrade](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services~1upgrade/post.md): Requires node::configure::services permissions ## Modify settings for an existing service connection on a node - [PUT /v2/node/{nodeID}/config/services/{serviceID}](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services~1%7Bserviceid%7D/put.md): Update a service on a node. Requires V2 services config. --- Requires node::configure::services permissions ## Remove a specific service configuration from a node - [DELETE /v2/node/{nodeID}/config/services/{serviceID}](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1config~1services~1%7Bserviceid%7D/delete.md): Delete a service from a node. Requires V2 services config. --- Requires node::configure::services permissions ## Configure Zero Trust Network Access gateway settings for secure remote access - [PUT /node/{nodeID}/config/ztnagw](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1ztnagw/put.md): Update ZTNA gateway configuration for a node (appliance) Note that this endpoint used to be apigw. The config section is still named apigw. --- "WireGuard" is a registered trademark of Jason A. Donenfeld. Requires node::configure::apigw permissions ## Remove ZTNA gateway configuration and disable secure remote access - [DELETE /node/{nodeID}/config/ztnagw](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1ztnagw/delete.md): Delete the ZTNA gateway configuration for a node (appliance) --- Requires node::configure::apigw permissions ## Configure node as a network gateway for routing traffic between networks - [PUT /node/{nodeID}/config/gateway](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1config~1gateway/put.md): Update gateway configuration --- Requires nodes::configure:gateway permission. ## Configure SNMP monitoring settings for network management integration - [PUT /node/{nodeID}/snmp](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1snmp/put.md): Update SNMP configuration --- Requires nodes::configure:snmp permission. ## Remove a metadata tag from a node for organizational categorization - [DELETE /node/{nodeID}/tag/{tagName}](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1tag~1%7Btagname%7D/delete.md) ## Add or update a metadata tag on a node for organizational categorization - [PUT /node/{nodeID}/tag/{tagName}](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1tag~1%7Btagname%7D/put.md) ## Execute a remote operation or command on a specific node - [POST /node/{nodeID}/trigger/{event}](https://apidocs.trustgrid.io/appliance/paths/~1node~1%7Bnodeid%7D~1trigger~1%7Bevent%7D/post.md) ## Retrieve real-time network usage statistics and bandwidth metrics for nodes - [GET /stats/realtime/usage](https://apidocs.trustgrid.io/appliance/paths/~1stats~1realtime~1usage/get.md): Returns an array of usage data buckets for specified nodes within the specified time range and interval. ## Delete a file or directory - [DELETE /v2/node/{nodeID}/data-store](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store/delete.md): Requires nodes::service:datastore-manager permission. ## Copy a file from an HTTP location to the data store - [POST /v2/node/{nodeID}/data-store/http-download](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store~1http-download/post.md): Requires nodes::service:datastore-manager permission. ## Upload a file from the node to an HTTP endpoint - [POST /v2/node/{nodeID}/data-store/http-upload](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store~1http-upload/post.md): Requires nodes::service:datastore-manager permission. ## List the data store contents - [GET /v2/node/{nodeID}/data-store/list](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store~1list/get.md): Requires nodes::service:datastore-manager permission. ## Create a directory - [POST /v2/node/{nodeID}/data-store/mkdir](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store~1mkdir/post.md): Requires nodes::service:datastore-manager permission. ## Copy a file from S3 to the data store - [POST /v2/node/{nodeID}/data-store/s3-download](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store~1s3-download/post.md): Requires nodes::service:datastore-manager permission. ## Upload a file from the node to an S3 bucket - [POST /v2/node/{nodeID}/data-store/s3-upload](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store~1s3-upload/post.md): Requires nodes::service:datastore-manager permission. ## List recent data store activity - [GET /v2/node/{nodeID}/data-store/tasks](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1data-store~1tasks/get.md): Requires nodes::service:datastore-manager permission. ## Get gateway connection telemetry logs for a node (appliance) - [GET /v2/node/{nodeID}/plugin-logs/gateway-details](https://apidocs.trustgrid.io/appliance/paths/~1v2~1node~1%7Bnodeid%7D~1plugin-logs~1gateway-details/get.md): schema: items: properties: stats: items: properties: hops: description: Network hop telemetry, if available items: properties: fqdn: type: string hop: type: number ip: type: string maxRtt: type: number meanRtt: type: number minRtt: type: number numRtt: type: number type: object type: array maxRtt: description: Max round-trip time measured for this interval type: number meanRtt: description: Mean round-trip time measured for this interval type: number minRtt: description: Min round-trip time measured for this interval type: number node: description: Node RTT being measured type: string numRtt: description: Number of RTTs measured for this interval type: number stdRtt: description: Standard deviation of RTTs measured for this interval type: number time: description: Unix timestamp, in milliseconds, of the start of the interval type: number type: object type: array type: object type: array