Public Shares
Create a tokenized, read-only view of any test and share it with customers or colleagues without giving them GUI access.
Create a share
From the test results page, click Share Test. The Core generates a random token and returns a public URL. You can optionally set an expiration time in hours; omitting hours creates a never-expiring share.
REST API example:
curl -s -X POST -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"hours":48}' \
https://core.linknesis.com/api/tests/TEST_ID/share | python3 -m json.tool
Response:
{
"ok": true,
"share_id": "a1b2c3d4e5f6...",
"share_url": "/share?token=a1b2c3d4e5f6...",
"created_at": "2026-06-22T10:00:00Z",
"expires_at": "2026-06-24T10:00:00Z"
}
share_url is a relative path - prefix it with your Core's own origin to get a full link. expires_at is null for a never-expiring share.
Public viewer
The public viewer (/share?token=...) requires no authentication. It displays the same test information, DNS card, ECharts graphs, and paginated results tables used on the authenticated results page. Visitors can also download a PDF report, the raw JSON results, and a TXT report - for iperf3 tests, in iperf3's own classic human-readable text format; for MTR tests, a hop-by-hop report table.
The PDF report captures exactly what's currently shown in the browser at the moment it's generated, including whatever time range or chart zoom is loaded - if you want the PDF to include more history, load it in the viewer first, then download.
Public endpoints
Each public endpoint is gated by the share token and checked for expiry before any data is returned:
GET /api/share/:token- test metadata and source/destination Probe detailsGET /api/share/:token/results?page=&limit=- paginated results for graphs and tablesGET /api/share/:token/raw- full per-interval results for iperf3 tests, or the current per-hop aggregate for MTR testsGET /api/share/:token/iperf_text- iperf3 tests only: the same data asraw, rendered as iperf3's own classic human-readable text table instead of JSONGET /api/share/:token/mtr_text- MTR tests only: a hop-by-hop report table instead of JSONGET /api/share/:token/mtr_hop_stats- the current per-hop MTR aggregate (same data as the authenticated hop table)GET /api/share/:token/iperf_stats/GET /api/share/:token/mtr_stats- a live summary while the test is still running, without waiting for it to finish
Invalid or expired tokens return {"error":"not found"} or {"error":"expired"}.
Security notes
- Anyone with the token can view the test until it expires or is revoked.
- Public shares are read-only; no login or write access is granted.
- The token is random and not tied to a user session.
- Shares are stored in the
shared_testsMongoDB collection and removed automatically when they expire.