API reference
Every endpoint is unauthenticated, read-only and rate limited per source address. Diagnostic tools and the speedtest have separate budgets, so a throughput test cannot starve a traceroute. Responses are never cached.
/api/v1/healthLiveness plus a preflight check that every diagnostic binary is installed. Returns 503 with a list of what is missing rather than failing later on a user request.
curl -s https://lg.dataartasedaya.net.id/api/v1/health
/api/v1/metaNode identity and capabilities: which tools this node can actually run, allowed DNS record types, file sizes and rate-cap profiles.
curl -s https://lg.dataartasedaya.net.id/api/v1/meta | jq .tools
/api/v1/streamRuns a diagnostic tool and streams output as Server-Sent Events. Event names: meta, line, done, failure. Note failure, not error: EventSource reserves error for transport faults.
| Parameter | Values |
|---|---|
| tool | ping | traceroute | mtr | whois | host | hostcheck |
| target | hostname, IP, prefix or ASN depending on the tool |
| family | auto | 4 | 6 (ping, traceroute, mtr) |
| type | record type for tool=host, e.g. A, MX, TXT |
curl -N 'https://lg.dataartasedaya.net.id/api/v1/stream?tool=ping&target=1.1.1.1'
/api/v1/mtrRuns mtr and returns the parsed report as a single JSON document. Use this instead of the SSE stream when a partial result is worthless.
| Parameter | Values |
|---|---|
| target | hostname or IP |
| family | auto | 4 | 6 |
curl -s 'https://lg.dataartasedaya.net.id/api/v1/mtr?target=1.1.1.1' | jq '.report.hubs'
/api/v1/asnBatch origin-AS lookup for hop addresses, backed by Team Cymru over DNS and cached in memory. Private, loopback and unannounced addresses are omitted from the response.
| Parameter | Values |
|---|---|
| ips | comma-separated addresses, max 40 per request |
curl -s 'https://lg.dataartasedaya.net.id/api/v1/asn?ips=8.8.4.4,1.1.1.1' | jq .results
/api/v1/downloadTest file with a server-side rate cap. The body is random data so a compressing middlebox cannot inflate the measurement.
| Parameter | Values |
|---|---|
| size | 10MB | 50MB | 100MB | 500MB | 1GB |
| speed | uncapped | 10mbps | 25mbps | 50mbps | 100mbps | 500mbps | 1gbps |
curl -o /dev/null 'https://lg.dataartasedaya.net.id/api/v1/download?size=100MB&speed=50mbps'
/api/v1/st/pingEmpty 204 used to sample round-trip time and jitter. Does as close to nothing as possible, because any work here is measured as latency.
curl -o /dev/null -w '%{time_total}\n' https://lg.dataartasedaya.net.id/api/v1/st/ping/api/v1/st/downUnthrottled incompressible stream for throughput measurement.
| Parameter | Values |
|---|---|
| bytes | positive integer, clamped to the server maximum |
curl -o /dev/null 'https://lg.dataartasedaya.net.id/api/v1/st/down?bytes=26214400'
/api/v1/st/upReads the request body and discards it. Streamed, never buffered, never written to disk.
head -c 4194304 /dev/urandom | curl -X POST --data-binary @- https://lg.dataartasedaya.net.id/api/v1/st/up
