orpheagentVersion 1.1.9

API Endpoints

OrpheAgent RESTful API, WebSocket, authentication, and Data Plane endpoint reference.

OrpheAgent API Endpoints

OrpheAgent provides RESTful API and WebSocket endpoints for managing configuration, system information, the Control Plane, the Data Plane, service status, and device verification. Unless noted otherwise, the paths below use /api/v1 as the Base URL.

Swagger UI

Replace {ORPHEAGENT_HOST} with the IP address or domain name of the host running OrpheAgent, then open:

http://{ORPHEAGENT_HOST}/swagger/index.html#/

  • Non-release build: Swagger UI is available when the Agent runs in debug foreground mode.
    orphe-agent up -f -d
    
  • Release build: Swagger UI is not registered.

Authentication

Protected endpoints validate the Authorization header. Middleware bypasses token validation when the request originates from 127.0.0.1. WebSocket and browser-based flows can also pass the same token through the token query parameter.

The Authentication column follows the source API reference. means that the source does not state an authentication requirement.

Develop

MethodEndpointFunctionAuthentication
GET/develop/ws/terminalOpens a WebSocket connection to the web terminal execution session.Required
GET/develop/debug/memoryReturns Go runtime memory statistics.Required
POST/develop/debug/memory/freeRuns garbage collection, returns memory to the OS, and returns updated statistics.Required

Dashboards

MethodEndpointFunctionAuthentication
GET/dashboards/getRetrieves system dashboard information, including CPU, memory, and disk usage.Required

System

MethodEndpointFunctionAuthentication
GET/system/infoRetrieves the OrpheAgent software version and related information.Required
GET/system/update/checkChecks whether a newer OrpheAgent version is available.Required
POST/system/update/installDownloads and installs the latest version in the background.Required
GET/system/update/progressRetrieves the progress of the current update operation.Required

Control Plane

MethodEndpointFunctionAuthentication
GET/controlplane/statusRetrieves the provision state and OrpheLink connection status.Required
GET/controlplane/dhtRetrieves whether DHT is enabled for the Control Plane.Required
POST/controlplane/dhtEnables or disables DHT for the Control Plane.Required
GET/controlplane/relayaddrsRetrieves self-owned relay addresses for the Control Plane.Required
POST/controlplane/relayaddrsUpdates self-owned relay addresses for the Control Plane.Required

Configuration

MethodEndpointFunctionAuthentication
POST/configSaves the complete configuration.Required
POST/config/basicSaves only the host name and Provision Key.Required
GET/configLoads the current configuration.Required

Network

MethodEndpointFunctionAuthentication
GET/network/statistics/wsProvides network traffic statistics over WebSocket.
GET/network/nat/typeDetects and returns the current NAT type.

Jump to Service

MethodEndpointFunctionAuthentication
POST/jumptoservice/configSaves the Jump-to-Service configuration.Required
GET/jumptoservice/configLoads the Jump-to-Service configuration.Required
DELETE/jumptoservice/config/:nameDeletes the named Jump-to-Service configuration.Required

Service

MethodEndpointFunctionAuthentication
GET/service/status/wsStreams OrpheAgent and OrpheLink connection status over a persistent WebSocket.Required
GET/service/toggleRetrieves the Control Plane and Data Plane toggle states.Required
POST/service/toggleEnables or disables the Control Plane and/or Data Plane.Required

Device Auth

MethodEndpointFunctionAuthentication
GET/deviceauth/statusRetrieves the device Magic Link state and whether the Data Plane is allowed.Required
POST/deviceauth/sendRequests a verification Magic Link; /deviceauth/resend is an alias for the same endpoint.Required

Magic Links are never sent automatically. The Agent reports magicLinkAutoSend: false; after a device wakes from sleep or the Control Plane restarts, it remains in awaiting_request until the user runs orphe-agent device-auth --send to request a link.

Profile

MethodEndpointFunctionAuthentication
POST/profileCreates a configuration profile.Required
GET/profileRetrieves the configuration profile list.Required
DELETE/profileDeletes a configuration profile.Required
POST/profile/useMakes a configuration profile active.Required

Data Plane

Nodes and Neighbors

MethodEndpointFunctionAuthentication
GET/dataplane/nodeRetrieves Data Plane node information.Required
POST/dataplane/nodeUpdates Data Plane node information.Required
POST/dataplane/neighbor/addAdds a neighbor.Required
POST/dataplane/neighbor/edit/:idEdits a neighbor.Required
POST/dataplane/neighbor/delete/:idDeletes a neighbor.Required

Data Plane Control

MethodEndpointFunctionAuthentication
POST/dataplane/startStarts the Data Plane.Required
POST/dataplane/stopStops the Data Plane.Required
POST/dataplane/restartRestarts the Data Plane.Required
GET/dataplane/statusRetrieves the current Data Plane status.Required
GET/dataplane/status/wsStreams node, neighbor, traffic, OS, device-name, and P2P-quality status over a persistent WebSocket.Required
POST/dataplane/status/:statusUpdates the Data Plane status.Required

Routing and Relay Addresses

MethodEndpointFunctionAuthentication
GET/dataplane/routesubnettoexitRetrieves subnets routed to the exit node.Required
POST/dataplane/routesubnettoexitConfigures subnets to route to the exit node.Required
GET/dataplane/relayaddrsRetrieves relay addresses used by the Data Plane.Required
POST/dataplane/relayaddrsUpdates Data Plane relay addresses.Required

Port Forwarding

MethodEndpointFunctionAuthentication
GET/dataplane/portforwarding/listLists all port-forwarding rules.Required
POST/dataplane/portforwarding/addAdds a port-forwarding rule.Required
POST/dataplane/portforwarding/delete/:nameDeletes a port-forwarding rule by name.Required

Access Control List (ACL)

MethodEndpointFunctionAuthentication
POST/dataplane/acl/mode/:modeSets the Data Plane ACL mode.Required
GET/dataplane/acl/modeRetrieves the current ACL mode.Required
GET/dataplane/acl/listLists all ACL rules.Required
POST/dataplane/aclAdds an ACL rule.Required
DELETE/dataplane/aclDeletes an ACL rule.Required

Services, MTU, and Tunnel Mode

MethodEndpointFunctionAuthentication
GET/dataplane/services/listLists all Data Plane services.Required
POST/dataplane/services/editEdits a Data Plane service.Required
POST/dataplane/services/edit/{id}Edits services for the specified neighbor or node ID.Required
GET/dataplane/mtuRetrieves MTU settings.Required
POST/dataplane/mtuUpdates MTU settings.Required
GET/dataplane/tunnelmodeRetrieves the current tunnel mode: high throughput or low latency.Required
POST/dataplane/tunnelmodeSets the Data Plane tunnel mode.Required

SNAT, Subnets, and End Devices

MethodEndpointFunctionAuthentication
GET/dataplane/snatRetrieves the current SNAT setting.Required
POST/dataplane/snat/{status}Sets the Data Plane SNAT state.Required
GET/dataplane/subnetlistRetrieves the Data Plane subnet list.Required
GET/dataplane/enddevicelistRetrieves the Data Plane end-device list.Required

DHT and NAT Type

MethodEndpointFunctionAuthentication
GET/dataplane/dht/{id}Retrieves whether DHT is enabled for the specified node.Required
POST/dataplane/dht/{id}Enables or disables DHT for the specified node.Required
GET/dataplane/nat/type/{id}Retrieves the NAT type for the specified node.Required

Exit Nodes and LAN Sharing

MethodEndpointFunctionAuthentication
GET/dataplane/exitnode/listRetrieves available exit nodes from the neighbor list.Required
GET/dataplane/exitnode/config/{id}Retrieves exit-node configuration for a node.Required
POST/dataplane/exitnode/config/{id}Sets exit-node configuration for a node.Required
GET/dataplane/lan/subnetsharing/config/{id}Retrieves LAN subnet-sharing configuration for a node.Required
POST/dataplane/lan/subnetsharing/config/{id}Sets LAN subnet-sharing configuration for a node.Required

Route to Exit and Device Configuration

MethodEndpointFunctionAuthentication
GET/dataplane/routetoexit/config/{id}Retrieves Route-to-Exit configuration for a node.Required
POST/dataplane/routetoexit/config/{id}Routes a node's traffic through the configured exit node.Required
POST/dataplane/config/rename/{id}Renames device configuration for a node.Required

Portal Authentication and Hole-Punch Events

MethodEndpointFunctionAuthentication
POST/dataplane/portal/loginHandles Portal login authentication.
GET/dataplane/holepunchevent/wsStreams NAT address exchange, hole-punch attempts, and peer connection status over WebSocket.Required

We use necessary cookies to keep the website working. With your permission, we also use analytics cookies to understand how the site is used. Read our Cookie Policy