{"openapi":"3.1.0","info":{"title":"Speed Reveal","version":"1.5.0","description":"Community HTTP speed measurements. Test on the actual client device. Public submissions require consent. Results are client-reported, not authenticated measurements of an ISP."},"servers":[{"url":"https://internet-quality-map.nf-93f.workers.dev"}],"paths":{"/api/v1/comparisons":{"get":{"summary":"Read a stable descriptive comparison snapshot","operationId":"get_api_v1_comparisons","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComparisonResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Pinned dataset is unknown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"Continuation or retired dataset expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"No complete snapshot is ready, read protection is unavailable, or storage failed. Retry-After is supplied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"method","in":"query","required":true,"schema":{"type":"string","enum":["iqm-http-v1"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"profile","in":"query","required":true,"schema":{"type":"string","enum":["quick","standard","extended-v1"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"runtime","in":"query","required":true,"schema":{"type":"string","enum":["browser","node"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"execution","in":"query","required":true,"schema":{"type":"string","enum":["this-device","agent-host"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"placement","in":"query","required":true,"schema":{"type":"string","enum":["unknown","local","cloud"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"attribution","in":"query","required":true,"schema":{"type":"string","enum":["session","measurement"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"location_source","in":"query","required":true,"schema":{"type":"string","enum":["ip","device","none"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"group_by","in":"query","required":true,"schema":{"type":"string","enum":["country_network","cell_network"]},"description":"Exact cohort filter. Browser requires this-device execution. No automatic broadening."},{"name":"country","in":"query","schema":{"type":"string","pattern":"^(?:[A-Z]{2}|unknown)$"},"description":"Session-IP country. Omit for world exploration; unknown matches only absent country."},{"name":"asn","in":"query","schema":{"type":"string","pattern":"^(?:[0-9]{1,10}|unknown)$"},"description":"Exact session-observed ASN, 0 through 4294967295, or unknown."},{"name":"cell_lat","in":"query","schema":{"type":"integer","minimum":0,"maximum":719},"description":"Supply both indices with cell_network. Exact 0.25-degree cell, not a city or verified physical neighborhood."},{"name":"cell_lon","in":"query","schema":{"type":"integer","minimum":0,"maximum":1439},"description":"Supply both indices with cell_network. Exact 0.25-degree cell, not a city or verified physical neighborhood."},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":4096},"description":"Follow the returned next URL with unchanged filters. Pins the dataset and after-key for at most 24 hours, capped by retired expiry. Unknown parameters, duplicates, arbitrary periods and sorting fail."}]}},"/health":{"get":{"summary":"Service configuration status","operationId":"get_health","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service unavailable. Keep local results and retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/capabilities":{"get":{"summary":"Public protocol and limits","operationId":"get_api_v1_capabilities","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Capabilities"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service unavailable. Keep local results and retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/context":{"get":{"summary":"Coarse context from the edge","operationId":"get_api_v1_context","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Context"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service unavailable. Keep local results and retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/sessions":{"post":{"summary":"Mint a publishing credential","operationId":"post_api_v1_sessions","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service unavailable. Keep local results and retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionRequest"}}}}}},"/api/v1/results":{"post":{"summary":"Publish a completed measurement","operationId":"post_api_v1_results","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationResponse"}}}},"201":{"description":"Published once. An identical retry returns HTTP 200.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, invalid, or expired publishing credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This publishing credential already has a different result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service unavailable. Keep local results and retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Publication"}}}},"security":[{"publishingToken":[]}]}},"/api/v1/results/{id}":{"get":{"summary":"Read one public result","operationId":"get_api_v1_results__id_","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Result not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service unavailable. Keep local results and retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}]}},"/api/v1/map":{"get":{"summary":"Read one live keyset page","operationId":"get_api_v1_map","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request or publication allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service unavailable. Keep local results and retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"after_key","in":"query","schema":{"type":"string","maxLength":1024},"description":"Opaque next cursor from the previous live-keyset page. Do not invent cursors. Values can update while paging."}]}},"/api/v3/everyday":{"get":{"summary":"Read frozen everyday v3 successful-context intervals","security":[],"description":"Default closed. Credential-free GET rejects Authorization and Cookie. Exact selectors filter the same immutable rows. No pagination, private report scan or one-off fallback. Bodies are at most 512 KiB with no-store. Null metrics are generically unavailable. lower_us must not exceed upper_us. Snapshot windows are nonoverlapping 28-day periods with a 72-hour delay and 90-day expiry. Unix timestamps are milliseconds. A pinned snapshot never falls back. The pure everyday-public-response.js parser also checks relational invariants.","parameters":[{"name":"area","in":"query","required":true,"schema":{"enum":["world","country","nearby"]}},{"name":"placement","in":"query","required":true,"schema":{"enum":["unknown","local","cloud"]}},{"name":"country","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z]{2}$"}},{"name":"cell_lat","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":719}},{"name":"cell_lon","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":1439}},{"name":"asn","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"name":"snapshot","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-f0-9]{32}$"}}],"responses":{"200":{"description":"Complete immutable snapshot or generic unavailable observation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EverydayObservation"}}}},"400":{"description":"Invalid exact selector or credentials supplied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Closed service or unavailable pin","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Read allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Storage or native protection unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/private/everyday/v3/public-grant":{"post":{"summary":"Authorize prospective full UTC days with a separate public grant","description":"Server plumbing only. No helper or website opt-in UI is supplied. grant_id is a caller-chosen durable operation identity. Retry the same identity. Withdrawal also records an unknown generation so a late grant cannot revive it. Withdrawal remains available with all gates closed. Private revoke withdraws all grants atomically.","security":[{"everydayCredential":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["schema","installation","grant_id","consent"],"properties":{"schema":{"const":"iqm-everyday-public-grant-v1"},"installation":{"type":"string","pattern":"^[a-f0-9]{64}$"},"grant_id":{"type":"string","pattern":"^[a-f0-9]{32}$"},"consent":{"const":"public-everyday-quality-v3-1"}}}}}},"responses":{"200":{"description":"Recorded grant generation and current terminal state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EverydayGrant"}}}},"400":{"description":"Invalid command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid scoped identity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Origin or closed grant admission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Another grant is active or no prospective full day remains","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Native allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Storage or protection unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/private/everyday/v3/public-withdraw":{"post":{"summary":"Terminally withdraw one exact public grant generation","description":"Server plumbing only. No helper or website opt-in UI is supplied. grant_id is a caller-chosen durable operation identity. Retry the same identity. Withdrawal also records an unknown generation so a late grant cannot revive it. Withdrawal remains available with all gates closed. Private revoke withdraws all grants atomically.","security":[{"everydayCredential":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["schema","installation","grant_id"],"properties":{"schema":{"const":"iqm-everyday-public-withdraw-v1"},"installation":{"type":"string","pattern":"^[a-f0-9]{64}$"},"grant_id":{"type":"string","pattern":"^[a-f0-9]{32}$"}}}}}},"responses":{"200":{"description":"Recorded grant generation and current terminal state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EverydayGrant"}}}},"400":{"description":"Invalid command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid scoped identity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Origin or closed grant admission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Another grant is active or no prospective full day remains","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Native allowance reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Storage or protection unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"everydayCredential":{"type":"http","scheme":"bearer","description":"Existing scoped private installation credential. Never send to public GET."},"publishingToken":{"type":"http","scheme":"bearer","description":"Ten-minute token from POST /api/v1/sessions. One result per token."}},"schemas":{"EverydayObservation":{"type":"object","additionalProperties":false,"required":["schema","dataset","policy","method","schedule","probe_admission","selection","snapshot_id","window","next_publication_due","expires_at","freshness","availability","rows","unsupported","limitations"],"properties":{"schema":{"const":"iqm-everyday-public-v1"},"dataset":{"const":"everyday-v3"},"policy":{"const":"public-everyday-quality-v3-1"},"method":{"const":{"id":"iqm-everyday-resident-https-v3","destination":"resident-https-deadline4900-request-context-v3","timeout_ms":5000,"deadline_ms":4900,"body_limit_bytes":1024,"window_ms":60000,"history_windows":60,"context_limit":7,"counter_interval_ms":5000,"counter_offset_ms":2500,"connection_max_ms":300000,"connection_max_requests":60,"histogram_upper_us":[0,1000,2000,4000,8000,16000,32000,64000,100000,150000,250000,400000,640000,1000000,1600000,2500000,4000000,4900000]}},"schedule":{"const":{"interval_ms":5000}},"probe_admission":{"const":"scoped-probe-v1"},"selection":{"oneOf":[{"type":"object","additionalProperties":false,"required":["area","placement"],"properties":{"area":{"const":"world"},"placement":{"enum":["unknown","local","cloud"]},"asn":{"type":"integer","minimum":1,"maximum":4294967295}}},{"type":"object","additionalProperties":false,"required":["area","placement","country"],"properties":{"area":{"const":"country"},"placement":{"enum":["unknown","local","cloud"]},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"asn":{"type":"integer","minimum":1,"maximum":4294967295}}},{"type":"object","additionalProperties":false,"required":["area","placement","cell"],"properties":{"area":{"const":"nearby"},"placement":{"enum":["unknown","local","cloud"]},"cell":{"type":"object","additionalProperties":false,"required":["cell_lat","cell_lon"],"properties":{"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439}}},"asn":{"type":"integer","minimum":1,"maximum":4294967295}}}]},"snapshot_id":{"anyOf":[{"type":"null"},{"type":"string","pattern":"^[a-f0-9]{32}$"}]},"window":{"anyOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["start","end"],"properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"}}}]},"next_publication_due":{"type":["integer","null"]},"expires_at":{"type":["integer","null"]},"freshness":{"enum":["current","stale","unavailable"]},"availability":{"enum":["available","unavailable"]},"rows":{"type":"array","maxItems":256,"items":{"type":"object","additionalProperties":false,"required":["context","metrics"],"properties":{"context":{"type":"object","additionalProperties":false,"required":["request_ip","placement"],"properties":{"request_ip":{"type":"object","additionalProperties":false,"required":["source","country","asn","cell"],"properties":{"source":{"const":"cloudflare-incoming-request-v1"},"country":{"type":["string","null"],"pattern":"^[A-Z]{2}$"},"asn":{"anyOf":[{"type":"integer","minimum":1,"maximum":4294967295},{"type":"null"}]},"cell":{"anyOf":[{"type":"object","additionalProperties":false,"required":["cell_lat","cell_lon"],"properties":{"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439}}},{"type":"null"}]}}},"placement":{"type":"object","additionalProperties":false,"required":["value","source"],"properties":{"value":{"enum":["unknown","local","cloud"]},"source":{"enum":["unspecified","user","system"]}}}}},"metrics":{"type":"object","additionalProperties":false,"required":["fresh_median_us","fresh_p95_us","setup_median_us","setup_p95_us","reused_median_us","reused_p95_us","variation_us"],"properties":{"fresh_median_us":{"anyOf":[{"type":"object","additionalProperties":false,"required":["lower_us","upper_us"],"properties":{"lower_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000},"upper_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000}}},{"type":"null"}]},"fresh_p95_us":{"anyOf":[{"type":"object","additionalProperties":false,"required":["lower_us","upper_us"],"properties":{"lower_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000},"upper_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000}}},{"type":"null"}]},"setup_median_us":{"anyOf":[{"type":"object","additionalProperties":false,"required":["lower_us","upper_us"],"properties":{"lower_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000},"upper_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000}}},{"type":"null"}]},"setup_p95_us":{"anyOf":[{"type":"object","additionalProperties":false,"required":["lower_us","upper_us"],"properties":{"lower_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000},"upper_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000}}},{"type":"null"}]},"reused_median_us":{"anyOf":[{"type":"object","additionalProperties":false,"required":["lower_us","upper_us"],"properties":{"lower_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000},"upper_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000}}},{"type":"null"}]},"reused_p95_us":{"anyOf":[{"type":"object","additionalProperties":false,"required":["lower_us","upper_us"],"properties":{"lower_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000},"upper_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000}}},{"type":"null"}]},"variation_us":{"anyOf":[{"type":"object","additionalProperties":false,"required":["lower_us","upper_us"],"properties":{"lower_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000},"upper_us":{"type":"integer","minimum":0,"maximum":4900000,"multipleOf":1000}}},{"type":"null"}]}}}}}},"unsupported":{"const":{"regional_failure":"unavailable","regional_coverage":"unavailable","regional_traffic":"unavailable"}},"limitations":{"const":["Timing is conditional on successful replies with usable request hints.","Intervals describe installation-balanced medians of daily summaries, not pooled request quantiles.","Membership floors are not anonymity or statistical significance guarantees.","Request hints and asserted placement do not attest location, provider, interface or route.","The 90-day membership audit excludes numeric inference, known others, cloned identities and copied expired releases."]}}},"EverydayGrant":{"type":"object","additionalProperties":false,"required":["installation","grant_id","scope","first_day","end_day","state"],"properties":{"installation":{"type":"string","pattern":"^[a-f0-9]{64}$"},"grant_id":{"type":"string","pattern":"^[a-f0-9]{32}$"},"scope":{"const":"public-everyday-quality-v3-1"},"first_day":{"type":["string","null"],"format":"date"},"end_day":{"type":["string","null"],"format":"date"},"state":{"enum":["active","withdrawn"]}}},"SessionRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]}},"required":["profile","runtime"],"additionalProperties":false},"Publication":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"consent":{"type":"string","const":"public-map-v1"},"measurement":{"type":"object","properties":{"method":{"type":"string","const":"iqm-http-v1"},"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]},"execution":{"type":"string","enum":["this-device","agent-host"]},"network_type":{"type":"string","enum":["wifi","cellular","wired","unknown"]},"phases":{"type":"array","prefixItems":[{"type":"object","properties":{"phase":{"type":"string","const":"idle"},"duration_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"samples":{"maxItems":128,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"ok"},"elapsed_ms":{"type":"number","minimum":0,"maximum":30000}},"required":["sequence","status","elapsed_ms"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"timeout"}},"required":["sequence","status"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"http_error"}},"required":["sequence","status"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"network_error"}},"required":["sequence","status"],"additionalProperties":false}]}},"transfer":{"type":"null"}},"required":["phase","duration_ms","samples","transfer"],"additionalProperties":false},{"type":"object","properties":{"phase":{"type":"string","const":"download"},"duration_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"samples":{"maxItems":128,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"ok"},"elapsed_ms":{"type":"number","minimum":0,"maximum":30000}},"required":["sequence","status","elapsed_ms"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"timeout"}},"required":["sequence","status"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"http_error"}},"required":["sequence","status"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"network_error"}},"required":["sequence","status"],"additionalProperties":false}]}},"transfer":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"completed_requests":{"type":"integer","minimum":0,"maximum":100000},"failed_requests":{"type":"integer","minimum":0,"maximum":100000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","completed_requests","failed_requests","termination"],"additionalProperties":false}},"required":["phase","duration_ms","samples","transfer"],"additionalProperties":false},{"type":"object","properties":{"phase":{"type":"string","const":"upload"},"duration_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"samples":{"maxItems":128,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"ok"},"elapsed_ms":{"type":"number","minimum":0,"maximum":30000}},"required":["sequence","status","elapsed_ms"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"timeout"}},"required":["sequence","status"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"http_error"}},"required":["sequence","status"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":127},"status":{"type":"string","const":"network_error"}},"required":["sequence","status"],"additionalProperties":false}]}},"transfer":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"completed_requests":{"type":"integer","minimum":0,"maximum":100000},"failed_requests":{"type":"integer","minimum":0,"maximum":100000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","completed_requests","failed_requests","termination"],"additionalProperties":false}},"required":["phase","duration_ms","samples","transfer"],"additionalProperties":false}]}},"required":["method","profile","runtime","execution","network_type","phases"],"additionalProperties":false},"network_details":{"type":"object","properties":{"device_link":{"type":"object","properties":{"value":{"type":"string","enum":["wifi","wired","cellular"]},"source":{"type":"string","enum":["user","browser","system"]}},"required":["value","source"],"additionalProperties":false},"internet_service":{"type":"object","properties":{"value":{"type":"string","enum":["2g-3g","4g-lte","5g","fibre","cable","dsl","satellite","other"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_standard":{"type":"object","properties":{"value":{"type":"string","enum":["802.11a","802.11b","802.11g","802.11n","802.11ac","802.11ax","802.11be"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_band":{"type":"object","properties":{"value":{"type":"string","enum":["2.4-ghz","5-ghz","6-ghz"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional sourced observations, unknown fields omitted. Device link must match measurement.network_type. Wi-Fi details require a Wi-Fi link and compatible IEEE standard/band. Browser provenance is valid only for device_link. All sources are submitter claims."},"client_context":{"type":"object","properties":{"operating_system":{"type":"object","properties":{"value":{"type":"string","enum":["windows","macos","linux","android","ios","chromeos","freebsd","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"device_type":{"type":"object","properties":{"value":{"type":"string","enum":["computer","phone","tablet","server","router","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"architecture":{"type":"object","properties":{"value":{"type":"string","enum":["x64","arm64","arm","ia32","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"browser":{"type":"object","properties":{"value":{"type":"string","enum":["chrome","safari","firefox","edge","opera","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"runtime_version":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"},"source":{"type":"string","const":"system"}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional coarse execution-host facts with per-field provenance. Unknowns omitted; no raw user-agent, model, hostname or identifiers. Runtime version refers to Node.js. Sources are submitter claims."},"location":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"ip"}},"required":["source"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"device"},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439}},"required":["source","cell_lat","cell_lon"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"none"}},"required":["source"],"additionalProperties":false}]}},"required":["consent","measurement","location"],"additionalProperties":false},"PublicResult":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"date_utc":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"method":{"type":"string","const":"iqm-http-v1"},"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]},"execution":{"type":"string","enum":["this-device","agent-host"]},"network_type":{"type":"string","enum":["wifi","cellular","wired","unknown"]},"network":{"type":"object","properties":{"asn":{"anyOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"type":"null"}]},"organization":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]}},"required":["asn","organization","country"],"additionalProperties":false},"network_details":{"type":"object","properties":{"device_link":{"type":"object","properties":{"value":{"type":"string","enum":["wifi","wired","cellular"]},"source":{"type":"string","enum":["user","browser","system"]}},"required":["value","source"],"additionalProperties":false},"internet_service":{"type":"object","properties":{"value":{"type":"string","enum":["2g-3g","4g-lte","5g","fibre","cable","dsl","satellite","other"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_standard":{"type":"object","properties":{"value":{"type":"string","enum":["802.11a","802.11b","802.11g","802.11n","802.11ac","802.11ax","802.11be"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_band":{"type":"object","properties":{"value":{"type":"string","enum":["2.4-ghz","5-ghz","6-ghz"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional sourced observations, unknown fields omitted. Device link must match measurement.network_type. Wi-Fi details require a Wi-Fi link and compatible IEEE standard/band. Browser provenance is valid only for device_link. All sources are submitter claims."},"client_context":{"type":"object","properties":{"operating_system":{"type":"object","properties":{"value":{"type":"string","enum":["windows","macos","linux","android","ios","chromeos","freebsd","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"device_type":{"type":"object","properties":{"value":{"type":"string","enum":["computer","phone","tablet","server","router","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"architecture":{"type":"object","properties":{"value":{"type":"string","enum":["x64","arm64","arm","ia32","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"browser":{"type":"object","properties":{"value":{"type":"string","enum":["chrome","safari","firefox","edge","opera","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"runtime_version":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"},"source":{"type":"string","const":"system"}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional coarse execution-host facts with per-field provenance. Unknowns omitted; no raw user-agent, model, hostname or identifiers. Runtime version refers to Node.js. Sources are submitter claims."},"location":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["ip","device"]},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"cell_degrees":{"type":"number","const":0.25}},"required":["source","cell_lat","cell_lon","latitude","longitude","cell_degrees"],"additionalProperties":false},{"type":"null"}]},"metrics":{"type":"object","properties":{"download_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"upload_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"idle":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"download":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"upload":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false}},"required":["download_mbps","upload_mbps","idle","download","upload"],"additionalProperties":false},"load_evidence":{"description":"Derived from accepted raw phases for every new result. Historical absence stays unknown. Bytes must not exceed the selected profile directional ceiling. Download counts consumed payload; upload counts successfully credited payload, not total data used.","type":"object","properties":{"download":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false},"upload":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false}},"required":["download","upload"],"additionalProperties":false},"quality":{"type":"object","properties":{"byte_capped":{"type":"boolean"},"failed_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"short_load":{"type":"boolean"}},"required":["byte_capped","failed_requests","short_load"],"additionalProperties":false},"provenance":{"type":"string","const":"client-reported"}},"required":["id","date_utc","method","profile","runtime","execution","network_type","network","location","metrics","provenance"],"additionalProperties":false},"Health":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"service":{"type":"string","const":"internet-quality-map"},"configured":{"type":"boolean"}},"required":["service","configured"],"additionalProperties":false},"Capabilities":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"protocol":{"type":"number","const":1},"method":{"type":"string","const":"iqm-http-v1"},"profiles":{"type":"object","properties":{"quick":{"type":"object","properties":{"baseline_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"load_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"max_download_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"max_upload_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["baseline_ms","load_ms","max_download_bytes","max_upload_bytes"],"additionalProperties":false},"standard":{"type":"object","properties":{"baseline_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"load_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"max_download_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"max_upload_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["baseline_ms","load_ms","max_download_bytes","max_upload_bytes"],"additionalProperties":false},"extended-v1":{"type":"object","properties":{"baseline_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"load_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"max_download_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"max_upload_bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["baseline_ms","load_ms","max_download_bytes","max_upload_bytes"],"additionalProperties":false}},"required":["quick","standard","extended-v1"],"additionalProperties":false},"privacy":{"type":"object","properties":{"cell_degrees":{"type":"number","const":0.25},"time_precision":{"type":"string","const":"day"}},"required":["cell_degrees","time_precision"],"additionalProperties":false},"limits":{"type":"object","properties":{"daily_publications":{"type":"number","const":500},"daily_map_reads":{"type":"number","const":4000},"max_results":{"type":"number","const":10000},"map_page":{"type":"number","const":200}},"required":["daily_publications","daily_map_reads","max_results","map_page"],"additionalProperties":false},"links":{"type":"object","properties":{"openapi":{"type":"string","format":"uri"},"agent":{"type":"string","format":"uri"},"client":{"type":"string","format":"uri"},"method":{"type":"string","format":"uri"}},"required":["openapi","agent","client","method"],"additionalProperties":false}},"required":["protocol","method","profiles","privacy","limits","links"],"additionalProperties":false},"ComparisonResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dataset":{"type":"string","maxLength":80},"estimator":{"type":"string","const":"session-summary-median-v1"},"period":{"type":"object","properties":{"start_day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"end_day_exclusive":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"basis":{"type":"string","const":"publication-session-day"}},"required":["start_day","end_day_exclusive","basis"],"additionalProperties":false},"captured_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"completed_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"stale_after":{"type":"integer","minimum":0,"maximum":9007199254740991},"stale":{"type":"boolean"},"failed_build":{"anyOf":[{"type":"object","properties":{"target_day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"failure_code":{"type":"string","enum":["normalized_capacity","aggregate_capacity","validation_failed","build_failed"]}},"required":["target_day","failure_code"],"additionalProperties":false},{"type":"null"}]},"continuation_expires_at":{"type":"integer","minimum":0,"maximum":9007199254740991},"filters":{"type":"object","properties":{"method":{"type":"string","enum":["iqm-http-v1"]},"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]},"execution":{"type":"string","enum":["this-device","agent-host"]},"placement":{"type":"string","enum":["unknown","local","cloud"]},"attribution":{"type":"string","enum":["session","measurement"]},"location_source":{"type":"string","enum":["ip","device","none"]},"group_by":{"type":"string","enum":["country_network","cell_network"]},"country":{"anyOf":[{"type":"string","pattern":"^(?:[A-Z]{2}|unknown)$"},{"type":"null"}]},"asn":{"anyOf":[{"type":"string","pattern":"^(?:[0-9]{1,10}|unknown)$"},{"type":"null"}]},"cell_lat":{"anyOf":[{"type":"integer","minimum":0,"maximum":719},{"type":"null"}]},"cell_lon":{"anyOf":[{"type":"integer","minimum":0,"maximum":1439},{"type":"null"}]}},"required":["method","profile","runtime","execution","placement","attribution","location_source","group_by","country","asn","cell_lat","cell_lon"],"additionalProperties":false},"population":{"type":"object","properties":{"groups":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["groups","tests"],"additionalProperties":false},"state":{"type":"string","enum":["observations","no-observations"]},"missing_evidence":{"type":"array","items":{"type":"string","enum":["placement_not_recorded","measurement_attribution_not_recorded"]}},"personal_comparison":{"type":"object","properties":{"available":{"type":"boolean","const":false},"reasons":{"type":"array","items":{"type":"string","enum":["placement_not_recorded","measurement_attribution_not_recorded"]}}},"required":["available","reasons"],"additionalProperties":false},"page_size":{"type":"number","const":50},"rows":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","maxLength":2048},"dimensions":{"type":"object","properties":{"method":{"type":"string","enum":["iqm-http-v1"]},"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]},"execution":{"type":"string","enum":["this-device","agent-host"]},"placement":{"type":"string","enum":["unknown","local","cloud"]},"attribution":{"type":"string","enum":["session","measurement"]},"location_source":{"type":"string","enum":["ip","device","none"]},"group_by":{"type":"string","enum":["country_network","cell_network"]},"country":{"type":"string"},"asn":{"type":"string"},"network_type":{"type":"string","enum":["wifi","wired","cellular","unknown"]},"device_link":{"type":"object","properties":{"value":{"type":"string","enum":["wifi","wired","cellular","unknown"]},"source":{"type":"string","enum":["user","browser","system","unknown"]}},"required":["value","source"],"additionalProperties":false},"internet_service":{"type":"object","properties":{"value":{"type":"string","enum":["2g-3g","4g-lte","5g","fibre","cable","dsl","satellite","other","unknown"]},"source":{"type":"string","enum":["user","browser","system","unknown"]}},"required":["value","source"],"additionalProperties":false},"location":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["ip","device"]},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"cell_degrees":{"type":"number","const":0.25}},"required":["source","cell_lat","cell_lon","latitude","longitude","cell_degrees"],"additionalProperties":false},{"type":"null"}]}},"required":["method","profile","runtime","execution","placement","attribution","location_source","group_by","country","asn","network_type","device_link","internet_service","location"],"additionalProperties":false},"organization":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"session_days":{"type":"integer","minimum":0,"maximum":9007199254740991},"metrics":{"type":"object","properties":{"idle_median_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"idle_p95_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"idle_jitter_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"idle_failure_fraction":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"download_median_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"download_p95_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"download_jitter_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"download_failure_fraction":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"upload_median_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"upload_p95_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"upload_jitter_ms":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"upload_failure_fraction":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"download_mbps":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false},"upload_mbps":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"eligible_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"exclusions":{"type":"object","properties":{"missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"no_attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"insufficient_successes":{"type":"integer","minimum":0,"maximum":9007199254740991},"missing_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_counts","no_attempts","insufficient_successes","missing_value"],"additionalProperties":false},"p95_under_20_success_tests":{"type":"integer","minimum":0,"maximum":9007199254740991},"availability":{"type":"string","enum":["available","below_floor","unavailable"]}},"required":["value","eligible_tests","excluded_tests","exclusions","p95_under_20_success_tests","availability"],"additionalProperties":false}},"required":["idle_median_ms","idle_p95_ms","idle_jitter_ms","idle_failure_fraction","download_median_ms","download_p95_ms","download_jitter_ms","download_failure_fraction","upload_median_ms","upload_p95_ms","upload_jitter_ms","upload_failure_fraction","download_mbps","upload_mbps"],"additionalProperties":false},"caveats":{"type":"object","properties":{"missing_quality":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_capped":{"type":"integer","minimum":0,"maximum":9007199254740991},"short_load":{"type":"integer","minimum":0,"maximum":9007199254740991},"request_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"download_missing_load":{"type":"integer","minimum":0,"maximum":9007199254740991},"download_byte_capped":{"type":"integer","minimum":0,"maximum":9007199254740991},"download_short_load":{"type":"integer","minimum":0,"maximum":9007199254740991},"download_zero_load":{"type":"integer","minimum":0,"maximum":9007199254740991},"upload_missing_load":{"type":"integer","minimum":0,"maximum":9007199254740991},"upload_byte_capped":{"type":"integer","minimum":0,"maximum":9007199254740991},"upload_short_load":{"type":"integer","minimum":0,"maximum":9007199254740991},"upload_zero_load":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["missing_quality","byte_capped","short_load","request_failures","download_missing_load","download_byte_capped","download_short_load","download_zero_load","upload_missing_load","upload_byte_capped","upload_short_load","upload_zero_load"],"additionalProperties":false},"phases":{"type":"object","properties":{"idle":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests_with_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests_missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["sent","received","failed","tests_with_counts","tests_missing_counts"],"additionalProperties":false},"download":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests_with_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests_missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["sent","received","failed","tests_with_counts","tests_missing_counts"],"additionalProperties":false},"upload":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":9007199254740991},"received":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests_with_counts":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests_missing_counts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["sent","received","failed","tests_with_counts","tests_missing_counts"],"additionalProperties":false}},"required":["idle","download","upload"],"additionalProperties":false}},"required":["key","dimensions","organization","tests","session_days","metrics","caveats","phases"],"additionalProperties":false}},"next":{"anyOf":[{"type":"string","maxLength":8192,"format":"uri"},{"type":"null"}]}},"required":["dataset","estimator","period","captured_at","completed_at","stale_after","stale","failed_build","continuation_expires_at","filters","population","state","missing_evidence","personal_comparison","page_size","rows","next"],"additionalProperties":false,"description":"Exact arithmetic medians of per-test summaries over 28 complete UTC publication-session days. Each metric needs five eligible tests. Counts are tests, not independent contributors. Final values round half-up to three decimals, fractions to six. Source percentiles remain per-test nearest-rank values. Jitter has no recovered pair count. Failure fractions count failed HTTP probes, not packet loss. Throughput is achieved payload rate, not capacity. Caveat counts overlap. Placement and measurement attribution are absent in retained history; these rows cannot produce personal, provider, task-time or causal verdicts. Country is session-IP country. Device cells do not establish that physical country."},"Context":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"network":{"type":"object","properties":{"asn":{"anyOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"type":"null"}]},"organization":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]}},"required":["asn","organization","country"],"additionalProperties":false},"location":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","const":"ip"},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439}},"required":["source","cell_lat","cell_lon"],"additionalProperties":false},{"type":"null"}]}},"required":["network","location"],"additionalProperties":false},"SessionResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"date_utc":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"token":{"type":"string","minLength":1,"maxLength":2048},"expires_at_utc":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"context":{"type":"object","properties":{"network":{"type":"object","properties":{"asn":{"anyOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"type":"null"}]},"organization":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]}},"required":["asn","organization","country"],"additionalProperties":false},"location":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","const":"ip"},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439}},"required":["source","cell_lat","cell_lon"],"additionalProperties":false},{"type":"null"}]}},"required":["network","location"],"additionalProperties":false}},"required":["id","date_utc","token","expires_at_utc","context"],"additionalProperties":false},"PublicationResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"duplicate":{"type":"boolean"},"result":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"date_utc":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"method":{"type":"string","const":"iqm-http-v1"},"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]},"execution":{"type":"string","enum":["this-device","agent-host"]},"network_type":{"type":"string","enum":["wifi","cellular","wired","unknown"]},"network":{"type":"object","properties":{"asn":{"anyOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"type":"null"}]},"organization":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]}},"required":["asn","organization","country"],"additionalProperties":false},"network_details":{"type":"object","properties":{"device_link":{"type":"object","properties":{"value":{"type":"string","enum":["wifi","wired","cellular"]},"source":{"type":"string","enum":["user","browser","system"]}},"required":["value","source"],"additionalProperties":false},"internet_service":{"type":"object","properties":{"value":{"type":"string","enum":["2g-3g","4g-lte","5g","fibre","cable","dsl","satellite","other"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_standard":{"type":"object","properties":{"value":{"type":"string","enum":["802.11a","802.11b","802.11g","802.11n","802.11ac","802.11ax","802.11be"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_band":{"type":"object","properties":{"value":{"type":"string","enum":["2.4-ghz","5-ghz","6-ghz"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional sourced observations, unknown fields omitted. Device link must match measurement.network_type. Wi-Fi details require a Wi-Fi link and compatible IEEE standard/band. Browser provenance is valid only for device_link. All sources are submitter claims."},"client_context":{"type":"object","properties":{"operating_system":{"type":"object","properties":{"value":{"type":"string","enum":["windows","macos","linux","android","ios","chromeos","freebsd","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"device_type":{"type":"object","properties":{"value":{"type":"string","enum":["computer","phone","tablet","server","router","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"architecture":{"type":"object","properties":{"value":{"type":"string","enum":["x64","arm64","arm","ia32","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"browser":{"type":"object","properties":{"value":{"type":"string","enum":["chrome","safari","firefox","edge","opera","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"runtime_version":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"},"source":{"type":"string","const":"system"}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional coarse execution-host facts with per-field provenance. Unknowns omitted; no raw user-agent, model, hostname or identifiers. Runtime version refers to Node.js. Sources are submitter claims."},"location":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["ip","device"]},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"cell_degrees":{"type":"number","const":0.25}},"required":["source","cell_lat","cell_lon","latitude","longitude","cell_degrees"],"additionalProperties":false},{"type":"null"}]},"metrics":{"type":"object","properties":{"download_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"upload_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"idle":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"download":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"upload":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false}},"required":["download_mbps","upload_mbps","idle","download","upload"],"additionalProperties":false},"load_evidence":{"description":"Derived from accepted raw phases for every new result. Historical absence stays unknown. Bytes must not exceed the selected profile directional ceiling. Download counts consumed payload; upload counts successfully credited payload, not total data used.","type":"object","properties":{"download":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false},"upload":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false}},"required":["download","upload"],"additionalProperties":false},"quality":{"type":"object","properties":{"byte_capped":{"type":"boolean"},"failed_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"short_load":{"type":"boolean"}},"required":["byte_capped","failed_requests","short_load"],"additionalProperties":false},"provenance":{"type":"string","const":"client-reported"}},"required":["id","date_utc","method","profile","runtime","execution","network_type","network","location","metrics","provenance"],"additionalProperties":false}},"required":["id","duplicate","result"],"additionalProperties":false},"ResultResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"date_utc":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"method":{"type":"string","const":"iqm-http-v1"},"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]},"execution":{"type":"string","enum":["this-device","agent-host"]},"network_type":{"type":"string","enum":["wifi","cellular","wired","unknown"]},"network":{"type":"object","properties":{"asn":{"anyOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"type":"null"}]},"organization":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]}},"required":["asn","organization","country"],"additionalProperties":false},"network_details":{"type":"object","properties":{"device_link":{"type":"object","properties":{"value":{"type":"string","enum":["wifi","wired","cellular"]},"source":{"type":"string","enum":["user","browser","system"]}},"required":["value","source"],"additionalProperties":false},"internet_service":{"type":"object","properties":{"value":{"type":"string","enum":["2g-3g","4g-lte","5g","fibre","cable","dsl","satellite","other"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_standard":{"type":"object","properties":{"value":{"type":"string","enum":["802.11a","802.11b","802.11g","802.11n","802.11ac","802.11ax","802.11be"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_band":{"type":"object","properties":{"value":{"type":"string","enum":["2.4-ghz","5-ghz","6-ghz"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional sourced observations, unknown fields omitted. Device link must match measurement.network_type. Wi-Fi details require a Wi-Fi link and compatible IEEE standard/band. Browser provenance is valid only for device_link. All sources are submitter claims."},"client_context":{"type":"object","properties":{"operating_system":{"type":"object","properties":{"value":{"type":"string","enum":["windows","macos","linux","android","ios","chromeos","freebsd","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"device_type":{"type":"object","properties":{"value":{"type":"string","enum":["computer","phone","tablet","server","router","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"architecture":{"type":"object","properties":{"value":{"type":"string","enum":["x64","arm64","arm","ia32","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"browser":{"type":"object","properties":{"value":{"type":"string","enum":["chrome","safari","firefox","edge","opera","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"runtime_version":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"},"source":{"type":"string","const":"system"}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional coarse execution-host facts with per-field provenance. Unknowns omitted; no raw user-agent, model, hostname or identifiers. Runtime version refers to Node.js. Sources are submitter claims."},"location":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["ip","device"]},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"cell_degrees":{"type":"number","const":0.25}},"required":["source","cell_lat","cell_lon","latitude","longitude","cell_degrees"],"additionalProperties":false},{"type":"null"}]},"metrics":{"type":"object","properties":{"download_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"upload_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"idle":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"download":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"upload":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false}},"required":["download_mbps","upload_mbps","idle","download","upload"],"additionalProperties":false},"load_evidence":{"description":"Derived from accepted raw phases for every new result. Historical absence stays unknown. Bytes must not exceed the selected profile directional ceiling. Download counts consumed payload; upload counts successfully credited payload, not total data used.","type":"object","properties":{"download":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false},"upload":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false}},"required":["download","upload"],"additionalProperties":false},"quality":{"type":"object","properties":{"byte_capped":{"type":"boolean"},"failed_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"short_load":{"type":"boolean"}},"required":["byte_capped","failed_requests","short_load"],"additionalProperties":false},"provenance":{"type":"string","const":"client-reported"}},"required":["id","date_utc","method","profile","runtime","execution","network_type","network","location","metrics","provenance"],"additionalProperties":false}},"required":["result"],"additionalProperties":false},"MapResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"results":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"date_utc":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"method":{"type":"string","const":"iqm-http-v1"},"profile":{"type":"string","enum":["quick","standard","extended-v1"]},"runtime":{"type":"string","enum":["browser","node"]},"execution":{"type":"string","enum":["this-device","agent-host"]},"network_type":{"type":"string","enum":["wifi","cellular","wired","unknown"]},"network":{"type":"object","properties":{"asn":{"anyOf":[{"type":"integer","minimum":0,"maximum":4294967295},{"type":"null"}]},"organization":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]}},"required":["asn","organization","country"],"additionalProperties":false},"network_details":{"type":"object","properties":{"device_link":{"type":"object","properties":{"value":{"type":"string","enum":["wifi","wired","cellular"]},"source":{"type":"string","enum":["user","browser","system"]}},"required":["value","source"],"additionalProperties":false},"internet_service":{"type":"object","properties":{"value":{"type":"string","enum":["2g-3g","4g-lte","5g","fibre","cable","dsl","satellite","other"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_standard":{"type":"object","properties":{"value":{"type":"string","enum":["802.11a","802.11b","802.11g","802.11n","802.11ac","802.11ax","802.11be"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false},"wifi_band":{"type":"object","properties":{"value":{"type":"string","enum":["2.4-ghz","5-ghz","6-ghz"]},"source":{"type":"string","enum":["user","system"]}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional sourced observations, unknown fields omitted. Device link must match measurement.network_type. Wi-Fi details require a Wi-Fi link and compatible IEEE standard/band. Browser provenance is valid only for device_link. All sources are submitter claims."},"client_context":{"type":"object","properties":{"operating_system":{"type":"object","properties":{"value":{"type":"string","enum":["windows","macos","linux","android","ios","chromeos","freebsd","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"device_type":{"type":"object","properties":{"value":{"type":"string","enum":["computer","phone","tablet","server","router","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"architecture":{"type":"object","properties":{"value":{"type":"string","enum":["x64","arm64","arm","ia32","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"browser":{"type":"object","properties":{"value":{"type":"string","enum":["chrome","safari","firefox","edge","opera","other"]},"source":{"type":"string","enum":["browser","system","user"]}},"required":["value","source"],"additionalProperties":false},"runtime_version":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"},"source":{"type":"string","const":"system"}},"required":["value","source"],"additionalProperties":false}},"additionalProperties":false,"description":"Optional coarse execution-host facts with per-field provenance. Unknowns omitted; no raw user-agent, model, hostname or identifiers. Runtime version refers to Node.js. Sources are submitter claims."},"location":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["ip","device"]},"cell_lat":{"type":"integer","minimum":0,"maximum":719},"cell_lon":{"type":"integer","minimum":0,"maximum":1439},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"cell_degrees":{"type":"number","const":0.25}},"required":["source","cell_lat","cell_lon","latitude","longitude","cell_degrees"],"additionalProperties":false},{"type":"null"}]},"metrics":{"type":"object","properties":{"download_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"upload_mbps":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"idle":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"download":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false},"upload":{"type":"object","properties":{"sent":{"type":"integer","minimum":0,"maximum":128},"received":{"type":"integer","minimum":0,"maximum":128},"failed":{"type":"integer","minimum":0,"maximum":128},"min_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"p95_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"max_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"jitter_ms":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["sent","received","failed","min_ms","median_ms","p95_ms","max_ms","jitter_ms"],"additionalProperties":false}},"required":["download_mbps","upload_mbps","idle","download","upload"],"additionalProperties":false},"load_evidence":{"description":"Derived from accepted raw phases for every new result. Historical absence stays unknown. Bytes must not exceed the selected profile directional ceiling. Download counts consumed payload; upload counts successfully credited payload, not total data used.","type":"object","properties":{"download":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false},"upload":{"type":"object","properties":{"bytes":{"type":"integer","minimum":0,"maximum":1073741824},"elapsed_ms":{"type":"number","exclusiveMinimum":0,"maximum":30000},"termination":{"type":"string","enum":["time_limit","byte_limit"]}},"required":["bytes","elapsed_ms","termination"],"additionalProperties":false}},"required":["download","upload"],"additionalProperties":false},"quality":{"type":"object","properties":{"byte_capped":{"type":"boolean"},"failed_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"short_load":{"type":"boolean"}},"required":["byte_capped","failed_requests","short_load"],"additionalProperties":false},"provenance":{"type":"string","const":"client-reported"},"map_key":{"type":"string","minLength":1,"maxLength":1024}},"required":["id","date_utc","method","profile","runtime","execution","network_type","network","location","metrics","provenance","map_key"],"additionalProperties":false}},"next":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"coverage":{"type":"string","const":"live-keyset"},"page_size":{"type":"number","const":200}},"required":["results","next","coverage","page_size"],"additionalProperties":false},"Error":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}},"x-measurement":{"protocol":1,"method":"iqm-http-v1","profiles":{"quick":{"baseline_ms":2000,"load_ms":5000,"max_download_bytes":33554432,"max_upload_bytes":8388608},"standard":{"baseline_ms":3000,"load_ms":8000,"max_download_bytes":134217728,"max_upload_bytes":33554432},"extended-v1":{"baseline_ms":3000,"load_ms":8000,"max_download_bytes":1073741824,"max_upload_bytes":1073741824}},"privacy":{"cell_degrees":0.25,"time_precision":"day"},"limits":{"daily_publications":500,"daily_map_reads":4000,"max_results":10000,"map_page":200},"links":{"openapi":"https://internet-quality-map.nf-93f.workers.dev/openapi.json","agent":"https://internet-quality-map.nf-93f.workers.dev/agents","client":"https://internet-quality-map.nf-93f.workers.dev/client.mjs","method":"https://internet-quality-map.nf-93f.workers.dev/method"}}}