Provenance
Provenance API
證明請求的來源,並保存防篡改的紀錄。
建立證明紀錄
POST/v1/provenance/check
API 金鑰
參數
- ipstring必填
要證明的終端使用者 IP。
- claimed_jurisdictionstring
請求聲稱的司法管轄區,例如 us-ut、uk、au 或 eu。
- request_contextobject
任何 JSON 物件,與證明紀錄一併保存。
回應欄位
- network_originstring
residential_clean、mobile、hosting、datacenter、vpn、residential_proxy、tor、relay 或 unknown。
- anonymizedboolean
網絡隱藏了背後的使用者時為 true。託管網絡亦計算在內,已知基礎設施除外。
- methodstring
決定判定結果的訊號。
- confidencenumber
信心分數,範圍 0 至 1。
- policy_actionstring
按聲稱的司法管轄區得出的 allow、step_up 或 block。
- attestation_idinteger
已封存證明紀錄的 id。
curl -X POST https://ipscanner.io/v1/provenance/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ip": "203.0.113.24",
"claimed_jurisdiction": "us-ut",
"request_context": {
"gate": "age-verification"
}
}'回應
{
"network_origin": "vpn",
"anonymized": true,
"method": "ip_state:vpn",
"confidence": 0.9,
"policy_action": "block",
"attestation_id": 80421
}驗證雜湊鏈
GET/v1/provenance/verify
API 金鑰
回應欄位
- okboolean
每個項目的雜湊及連結均校驗通過時為 true。
- countinteger
已檢查的項目數。
- brokenAtinteger
第一個被篡改項目的 id,鏈完整時為 0。
curl https://ipscanner.io/v1/provenance/verify \
-H "Authorization: Bearer YOUR_API_KEY"回應
{
"ok": true,
"count": 80421,
"brokenAt": 0
}對照每日錨點驗證
POST/v1/provenance/verify
API 金鑰
回應欄位
- okboolean
每個項目的雜湊及連結均校驗通過時為 true。
- countinteger
已檢查的項目數。
- brokenAtinteger
第一個被篡改項目的 id,鏈完整時為 0。
- yoursinteger
其中屬於您的項目數。
- anchorobject | null
最近一次的每日根雜湊,首次產生前為 null。
- atstring
驗證的時間。
curl -X POST https://ipscanner.io/v1/provenance/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'回應
{
"ok": true,
"count": 80421,
"brokenAt": 0,
"yours": 1204,
"anchor": {
"day": "2026-10-05",
"rootHash": "9f2c4e1a7b0d3c58e6f1a2b4c7d9e0f3a5b8c1d4e7f0a3b6c9d2e5f8a1b4c7d0",
"lastId": 80390
},
"at": "2026-10-06T14:05:00Z"
}讀取雜湊鏈
GET/v1/provenance/chain
API 金鑰
參數
- limitinteger查詢
每頁筆數,預設 50,最多 200。
- beforeinteger查詢
回傳早於此 id 的項目,用於分頁。
回應欄位
- linksarray
鏈上項目,按時間倒序。
- links[].entryHashstring
此項目的雜湊。
- links[].prevHashstring
上一項目的雜湊。
- links[].linkOkboolean
此項目正確連結至上一項時為 true。
- nextBeforeinteger
作為 before 傳入以取得下一頁;0 表示沒有更多。
- totalinteger
您帳戶下的證明紀錄數。
- summaryobject
各政策操作的證明紀錄數量。
curl "https://ipscanner.io/v1/provenance/chain?limit=1" \
-H "Authorization: Bearer YOUR_API_KEY"回應
{
"links": [
{
"id": 80421,
"ts": "2026-10-06T14:02:11Z",
"ip": "203.0.113.24",
"claimedJurisdiction": "us-ut",
"networkOrigin": "vpn",
"anonymized": true,
"method": "ip_state:vpn",
"confidence": 0.9,
"policyAction": "block",
"entryHash": "b41f0c9e2d7a6358c1e4f7a0b3d6c9e2f5a8b1c4d7e0f3a6b9c2d5e8f1a4b7c0",
"prevHash": "7e3a9c1f5b2d8e4a6c0f3b7d1e5a9c2f6b0d4e8a2c6f0b4d8e2a6c0f4b8d2e6a",
"prevId": 80420,
"entryOk": true,
"linkOk": true
}
],
"nextBefore": 80421,
"total": 1204,
"summary": {
"allow": 1090,
"step_up": 71,
"block": 43
},
"anchor": null,
"jurisdictions": [],
"asOf": "2026-10-06T14:05:00Z"
}列出司法管轄區
GET/v1/provenance/jurisdictions
API 金鑰
回應欄位
- jurisdictions[].codestring
作為 claimed_jurisdiction 傳送的代碼。
- jurisdictions[].lawstring
該規則依據的法律。
- jurisdictions[].strictboolean
來源被掩蓋時直接拒絕則為 true。
- jurisdictions[].cleanActionstring
來源正常時的操作。
- jurisdictions[].maskedActionstring
來源被掩蓋時的操作。
curl https://ipscanner.io/v1/provenance/jurisdictions \
-H "Authorization: Bearer YOUR_API_KEY"回應
{
"jurisdictions": [
{
"code": "us-ut",
"label": "Utah",
"law": "Utah SB 73",
"strict": true,
"cleanAction": "allow",
"maskedAction": "block",
"rule": "Age-gated access requires a verified in-state location. A masked origin is refused outright."
},
{
"code": "eu",
"label": "European Union",
"law": "DSA minor protection",
"strict": false,
"cleanAction": "allow",
"maskedAction": "step_up",
"rule": "A masked origin is sent for stronger checks rather than refused, so travellers and privacy tools are not locked out."
}
]
}匯出證據
GET/v1/provenance/export
API 金鑰CSV
參數
- fromstring查詢
範圍起點,格式為 YYYY-MM-DD 或 RFC 3339。
- tostring查詢
範圍終點,格式為 YYYY-MM-DD 或 RFC 3339。
curl "https://ipscanner.io/v1/provenance/export?from=2026-10-01&to=2026-10-31" \
-H "Authorization: Bearer YOUR_API_KEY"回應,CSV
# provenance evidence export
# range,2026-10-01,2026-10-31
# chain_verified,true,count,80421
id,ts,ip,claimed_jurisdiction,network_origin,anonymized,method,confidence,policy_action,entry_hash
80421,2026-10-06T14:02:11Z,203.0.113.24,us-ut,vpn,true,ip_state:vpn,0.9000,block,b41f0c9e2d7a...