Skip to content

GET /api/v3/lightning/routers/wireguard-manifest

Summary

GET /v3/lightning/routers/wireguard-manifest

Description

Authoritative set of data needed to reconcile the WireGuard hub server.

Tags: lightning

Parameters

Query Parameters

Name Type Required Description Example
status string ✓ Yes Comma-separated list of router statuses to include. Default: 1 (ACTIVE). aliquid
include_released_allocations boolean ✓ Yes Include released-but-unbound IP allocations. 1

Header Parameters

Name Type Required Description Example
Authorization string ✓ Yes Bearer {AuthToken}
Content-Type string ✓ Yes application/json
Accept string ✓ Yes application/json
AppIdV3 string ✓ Yes LCUID-LAP-********-****-****-****-************

Responses

Response: 200

Description: Sample Response

Content Type: application/json

Schema

Type: object

Properties:

  • success (boolean): true
  • generated_at (string): ISO8601 timestamp the manifest was generated.
  • server (object) Type: object

Properties:

  • endpoint_host (string): WireGuard hub endpoint hostname.
  • endpoint_port (integer): WireGuard hub endpoint UDP port.
  • wg_supernet (string): The WireGuard peer IP supernet (CIDR).
  • lan_supernet (string): The LAN supernet (CIDR) used for /30 blocks.
  • lan_block_prefix_size (integer): Prefix size of each per-router LAN block (e.g. 30).

  • peer_count (integer): Number of peer entries returned.

  • peers (array): List of WireGuard peer entries.
  • Array items: object Type: object

    Properties:

    • router_lcuid (string)
    • site_id (string)
    • lightning_device_lcuid (string)
    • status (integer)
    • wg_public_key (string)
    • wg_ip (string)
    • lan_subnet (string)
    • allowed_ips (array)
    • Array items: string
    • hostname (string)
    • provisioned_at (string)
    • updated_at (string)
  • released_allocations (array): List of released IP allocations (only when include_released_allocations is true).

Example Response
{
    "success": true,
    "generated_at": "2026-10-08T21:36:23+00:00",
    "server": {
        "endpoint_host": "backbone-lightning-vpn-1.lcdevops.com",
        "endpoint_port": 51820,
        "wg_supernet": "10.70.0.0/16",
        "lan_supernet": "10.71.0.0/16",
        "lan_block_prefix_size": 30
    },
    "peer_count": 1,
    "peers": [
        {
            "router_lcuid": "LCUID-LDRT-a4ad4ddb-7daf-4ee2-9cb8-135cb23cfd38",
            "site_id": "LDN-47782-ROUTER",
            "lightning_device_lcuid": "LCUID-LD-a0cfb616-c2dd-405c-8d2f-9c750e10a53e",
            "status": 1,
            "wg_public_key": "PUB",
            "wg_ip": "10.250.73.178",
            "lan_subnet": "10.141.73.200/30",
            "allowed_ips": [
                "10.250.73.178/32",
                "10.141.73.200/30"
            ],
            "hostname": "router-x",
            "provisioned_at": "2026-10-08T21:36:23+00:00",
            "updated_at": "2026-10-08T21:36:23+00:00"
        }
    ],
    "released_allocations": []
}

Example Implementations

JavaScript (Fetch API)

const url = new URL(
    "https://api.lucit.app/api/v3/lightning/routers/wireguard-manifest"
);

const params = {
    "status": "aliquid",
    "include_released_allocations": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {AuthToken}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "AppIdV3": "LCUID-LAP-********-****-****-****-************",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

PHP (Guzzle)

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://api.lucit.app/api/v3/lightning/routers/wireguard-manifest',
    [
        'headers' => [
            'Authorization' => 'Bearer {AuthToken}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'AppIdV3' => 'LCUID-LAP-********-****-****-****-************',
        ],
        'query' => [
            'status'=> 'aliquid',
            'include_released_allocations'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Python (Requests)

import requests
import json

url = 'https://api.lucit.app/api/v3/lightning/routers/wireguard-manifest'
params = {
  'status': 'aliquid',
  'include_released_allocations': '1',
}
headers = {
  'Authorization': 'Bearer {AuthToken}',
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'AppIdV3': 'LCUID-LAP-********-****-****-****-************'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()

Example Responses

200 Response

{
    "success": true,
    "generated_at": "2026-10-08T21:36:23+00:00",
    "server": {
        "endpoint_host": "backbone-lightning-vpn-1.lcdevops.com",
        "endpoint_port": 51820,
        "wg_supernet": "10.70.0.0/16",
        "lan_supernet": "10.71.0.0/16",
        "lan_block_prefix_size": 30
    },
    "peer_count": 1,
    "peers": [
        {
            "router_lcuid": "LCUID-LDRT-a4ad4ddb-7daf-4ee2-9cb8-135cb23cfd38",
            "site_id": "LDN-47782-ROUTER",
            "lightning_device_lcuid": "LCUID-LD-a0cfb616-c2dd-405c-8d2f-9c750e10a53e",
            "status": 1,
            "wg_public_key": "PUB",
            "wg_ip": "10.250.73.178",
            "lan_subnet": "10.141.73.200/30",
            "allowed_ips": [
                "10.250.73.178/32",
                "10.141.73.200/30"
            ],
            "hostname": "router-x",
            "provisioned_at": "2026-10-08T21:36:23+00:00",
            "updated_at": "2026-10-08T21:36:23+00:00"
        }
    ],
    "released_allocations": []
}

← Back to lightning index | Back to main index