NebularStack
Website

NebulaVPN API

Reference material for NebulaVPN.

VPN

Manage VPN deployments. Each VPN defines a shared network that can contain one or more VPN instances of different types. All peers across instances within the same VPN share the same address space and can communicate with each other.

GET
/v1/nebulavpn/vpns
(orchestrator)

List VPNs.
Service
orchestrator
GET
/v1/nebulavpn/vpn/{vpn_id}
(orchestrator)

Get VPN.
Service
orchestrator
POST
/v1/nebulavpn/vpn
(orchestrator)

Create VPN.
Service
orchestrator
PATCH
/v1/nebulavpn/vpn/{vpn_id}
(orchestrator)

Update VPN.
Service
orchestrator
DELETE
/v1/nebulavpn/vpn/{vpn_id}
(orchestrator)

Delete VPN.
Service
orchestrator

WireGuard Instance

Manage the WireGuard instance under a VPN. Each VPN supports at most one WireGuard instance. Creating an instance generates a keypair and allocates a server listen port automatically.

Deleting the WireGuard instance removes all peers and routes but keeps the parent VPN grouping.

GET
/v1/nebulavpn/vpn/{vpn_id}/wg
(orchestrator)

Get WireGuard Instance.
Service
orchestrator
POST
/v1/nebulavpn/vpn/{vpn_id}/wg
(orchestrator)

Create WireGuard Instance.
Service
orchestrator
DELETE
/v1/nebulavpn/vpn/{vpn_id}/wg
(orchestrator)

Delete WireGuard Instance.
Service
orchestrator

WireGuard Peers

Manage WireGuard peers (clients) on a VPN. Each peer has a name, IP address, public key, and optional hub designation. Fetching an individual peer includes status from the active router such as the current endpoint, last handshake time, and traffic counters.

GET
/v1/nebulavpn/vpn/{vpn_id}/wg/peers
(orchestrator)

List Peers.
Service
orchestrator
GET
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}
(orchestrator)

Get Peer.
Service
orchestrator
POST
/v1/nebulavpn/vpn/{vpn_id}/wg/peer
(orchestrator)

Add Peer.
Service
orchestrator
PATCH
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}
(orchestrator)

Update Peer.
Service
orchestrator
DELETE
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}
(orchestrator)

Delete Peer.
Service
orchestrator

WireGuard Routes

Manage routed network prefixes for a specific peer. Each route directs traffic for a given prefix through the peer's VPN tunnel.

GET
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}/routes
(orchestrator)

List Routes.
Service
orchestrator
GET
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}/route/{route_id}
(orchestrator)

Get Route.
Service
orchestrator
POST
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}/route
(orchestrator)

Add Route.
Service
orchestrator
PATCH
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}/route/{route_id}
(orchestrator)

Update Route.
Service
orchestrator
DELETE
/v1/nebulavpn/vpn/{vpn_id}/wg/peer/{peer_id}/route/{route_id}
(orchestrator)

Delete Route.
Service
orchestrator