Public API
Third-party access to PNIO traceroute data, targets, anomalies, and infrastructure statistics
Authentication
All endpoints require an API key. Pass it via header or query parameter:
curl -H "X-API-Key: YOUR_API_KEY (get from /admin/api-keys)" https://pims.power1.s4s.host/v1/public/statscurl "https://pims.power1.s4s.host/v1/public/stats?api_key=YOUR_API_KEY (get from /admin/api-keys)"Rate Limits
Default: 100 req/hr, 2000 req/day
Response Format
JSON by default, CSV for exports
Interactive Docs
OpenAPI / Swagger UIGET
/v1/public/tracesSearch and filter traceroutes with pagination. Supports filtering by direction, probe location, target, anomaly score, status, and time range.
Parameters
direction(string)β outside_to_pk, pk_to_outside, cross_isp, within_ispprobe_city(string)β Probe city nameprobe_country(string)β Probe country code (e.g. PK, US)probe_asn(integer)β Probe AS numbertarget_domain(string)β Target domain (partial match)target_ip(string)β Exact target IPtarget_city(string)β Target city namemin_anomaly(float)β Minimum anomaly score (0.0-1.0)status(string)β completed or failedsince(string)β ISO datetime startuntil(string)β ISO datetime endhours(integer)β Last N hours (default: 168, max: 720)page(integer)β Page number (default: 1)limit(integer)β Results per page (default: 50, max: 200)include_hops(boolean)β Include hop details (default: false)curl -H "X-API-Key: $KEY" "https://pims.power1.s4s.host/v1/public/traces"GET
/v1/public/traces/{trace_id}Get a single traceroute with full hop details, geo enrichment, and ASN data.
Parameters
trace_id(uuid)requiredβ Traceroute IDcurl -H "X-API-Key: $KEY" "https://pims.power1.s4s.host/v1/public/traces/example"GET
/v1/public/traces/exportBulk export traces as JSON or CSV. Max 10,000 traces per export.
Parameters
format(string)β json or csv (default: json)direction(string)β Filter by directionmin_anomaly(float)β Minimum anomaly scorehours(integer)β Last N hours (default: 24)limit(integer)β Max traces (default: 1000, max: 10000)include_hops(boolean)β Include hop details (default: true)curl -H "X-API-Key: $KEY" "https://pims.power1.s4s.host/v1/public/traces/export"Error Codes
| Code | Error | Description |
|---|---|---|
| 401 | api_key_required | No API key provided |
| 403 | invalid_key | API key not found in database |
| 403 | key_disabled | API key has been deactivated |
| 403 | key_expired | API key has passed its expiry date |
| 404 | not_found | Requested resource does not exist |
| 429 | rate_limit_hourly | Hourly request limit exceeded |
| 429 | rate_limit_daily | Daily request limit exceeded |