Network & DNS
/api/v1/ipv6PacketFlo IPv6 Connectivity API
Check whether a domain or host actually works over IPv6 from PacketFlo's infrastructure, including DNS AAAA discovery, TCP handshake, HTTPS/TLS negotiation, and IPv4 comparison. Costs 2 credits per check.
| Parameter | Type | Required | Description |
|---|---|---|---|
host | string | Yes | Domain, hostname, or full URL to test for IPv6 reachability. |
Example request
curl "https://packetflo.io/api/v1/ipv6?host=example.com&api_key=YOUR_API_KEY"
Example response
{ "ok": true, "data": { "host": "example.com", "targetUrl": "https://example.com", "protocol": "https:", "port": 443, "verdict": "IPv6 Working", "verdictTone": "ok", "verdictExplanation": "example.com is fully reachable and responsive over IPv6 from PacketFlo.", "ipv4WorksIpv6Fails": false, "dualStackWorking": true, "aaaaRecordCount": 2, "aRecordCount": 2, "addresses": [ { "address": "2606:2800:21f:cb07:6820:80da:af6b:8b2c", "ttl": 300, "tcp": { "port": 443, "reachable": true, "status": "Open", "latencyMs": 24, "error": null }, "http": { "working": true, "status": 200, "statusText": "OK", "protocol": "HTTP/2", "tlsVersion": "TLSv1.3", "cipher": "TLS_AES_256_GCM_SHA384", "responseTimeMs": 118, "error": null }, "ping": { "reachable": false, "latencyMs": null, "blocked": true } } ], "ipv4Comparison": { "hasDns": true, "ip": "93.184.215.14", "ttl": 300, "tcpReachable": true, "tcpStatus": "Open", "tcpLatencyMs": 31, "httpWorking": true, "httpStatus": 200, "httpProtocol": "HTTP/2", "tlsVersion": "TLSv1.3", "responseTimeMs": 122 }, "comparisonSummary": "Dual-stack connectivity is working. Both IPv4 and IPv6 are active and responsive.", "icmpSummary": "IPv6 is working. ICMP appears to be blocked by a firewall, but the service itself is reachable over IPv6.", "checkedAt": "2026-10-01T00:00:00.000Z" }, "meta": { "tool": "ipv6", "version": "v1" } }
Reading the result
Examine verdict and dualStackWorking. IPv6 Working confirms both TCP and HTTP/HTTPS succeeded over IPv6. A prominent warning applies when ipv4WorksIpv6Fails is true.
Response fields
| Field | What it tells you |
|---|---|
verdict / verdictTone | Diagnostic conclusion ('IPv6 Working', 'IPv6 Partially Reachable', 'IPv6 Connectivity Failed', 'IPv6 Application Connectivity Failed', or 'IPv6 Not Configured'). |
ipv4WorksIpv6Fails / dualStackWorking | Flags comparing IPv4 reachability against IPv6. |
addresses | Array of tested IPv6 addresses, each containing individual TCP, HTTP/TLS, and ICMP probe results. |
ipv4Comparison | Summary of IPv4 DNS, TCP latency, and HTTP status for comparison. |
comparisonSummary / icmpSummary | Plain-text diagnostic summaries of dual-stack behavior and ICMP echo response. |
Scope and limits
Tests DNS AAAA resolution, TCP connection on the destination port, and TLS/HTTP negotiation directly over IPv6 from PacketFlo's server. Does not rely on Happy Eyeballs fallback. Up to 4 IPv6 addresses are tested per host.
Authentication and errors
Send your key in the x-api-key header, or the supported api_key query parameter. Each request uses 2 credits from the key's shared 300-credit rolling 24-hour budget. Credits are charged before parameter validation. Successful responses and quota errors include usage headers; GET and OPTIONS support CORS.
| API status | Meaning |
|---|---|
200 | The diagnostic returned a result in data, with ok: true and version information in meta. Read the diagnostic fields to determine the target's condition. |
400 | Invalid or blocked input, or a lookup/check failure that could not be returned as a diagnostic result. Read error for details. |
401 | Missing, invalid or revoked API key. |
429 | The request would exceed the key's available credit budget. |