Web Scanners
Manage web scanners that crawl your sites for trackers, cookies, and third-party requests. Create a scanner against a root domain, edit its crawl scope, trigger a scan on demand, or delete it (which also removes its suppression rules).
Manage web scanners that crawl your sites for trackers, cookies, and third-party requests. Create a scanner against a root domain, edit its crawl scope, trigger a scan on demand, or delete it (which also removes its suppression rules).
GET/rest/v1/web-scanners
Authorization
apiKey Ours Privacy API key
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners"{ "entities": [ { "id": "string", "accountId": "string", "name": "string", "status": "Disabled", "rootDomain": "string", "excludedPatterns": [ "string" ], "includedUrls": [ "string" ], "urlLimit": 0, "scanSchedule": "daily", "nextScheduledScanAt": "string", "scanStatus": "idle", "lastScannedAt": "string", "lastScanStartedAt": "string", "lastRunCookieCount": 0, "lastRunRequestCount": 0, "lastRunSuccessUrlCount": 0, "lastRunHighRiskRequestCount": 0, "createdAt": "string", "updatedAt": "string" } ]}POST/rest/v1/web-scanners
Authorization
apiKey Ours Privacy API key
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/rest/v1/web-scanners" \ -H "Content-Type: application/json" \ -d '{ "rootDomain": "string" }'{ "id": "string", "accountId": "string", "name": "string", "status": "Disabled", "rootDomain": "string", "excludedPatterns": [ "string" ], "includedUrls": [ "string" ], "urlLimit": 0, "scanSchedule": "daily", "nextScheduledScanAt": "string", "scanStatus": "idle", "lastScannedAt": "string", "lastScanStartedAt": "string", "lastRunCookieCount": 0, "lastRunRequestCount": 0, "lastRunSuccessUrlCount": 0, "lastRunHighRiskRequestCount": 0, "createdAt": "string", "updatedAt": "string"}GET/rest/v1/web-scanners/{id}
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners/string"{ "id": "string", "accountId": "string", "name": "string", "status": "Disabled", "rootDomain": "string", "excludedPatterns": [ "string" ], "includedUrls": [ "string" ], "urlLimit": 0, "scanSchedule": "daily", "nextScheduledScanAt": "string", "scanStatus": "idle", "lastScannedAt": "string", "lastScanStartedAt": "string", "lastRunCookieCount": 0, "lastRunRequestCount": 0, "lastRunSuccessUrlCount": 0, "lastRunHighRiskRequestCount": 0, "createdAt": "string", "updatedAt": "string"}PATCH/rest/v1/web-scanners/{id}
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/rest/v1/web-scanners/string" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "accountId": "string", "name": "string", "status": "Disabled", "rootDomain": "string", "excludedPatterns": [ "string" ], "includedUrls": [ "string" ], "urlLimit": 0, "scanSchedule": "daily", "nextScheduledScanAt": "string", "scanStatus": "idle", "lastScannedAt": "string", "lastScanStartedAt": "string", "lastRunCookieCount": 0, "lastRunRequestCount": 0, "lastRunSuccessUrlCount": 0, "lastRunHighRiskRequestCount": 0, "createdAt": "string", "updatedAt": "string"}DELETE/rest/v1/web-scanners/{id}
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/rest/v1/web-scanners/string"{ "id": "string", "deleted": true}POST/rest/v1/web-scanners/{id}/trigger
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/rest/v1/web-scanners/string/trigger"{ "id": "string", "accountId": "string", "name": "string", "status": "Disabled", "rootDomain": "string", "excludedPatterns": [ "string" ], "includedUrls": [ "string" ], "urlLimit": 0, "scanSchedule": "daily", "nextScheduledScanAt": "string", "scanStatus": "idle", "lastScannedAt": "string", "lastScanStartedAt": "string", "lastRunCookieCount": 0, "lastRunRequestCount": 0, "lastRunSuccessUrlCount": 0, "lastRunHighRiskRequestCount": 0, "createdAt": "string", "updatedAt": "string"}POST/rest/v1/web-scanners/{id}/authenticated-scan
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/rest/v1/web-scanners/string/authenticated-scan" \ -H "Content-Type: application/json" \ -d '{ "expiresInHours": 2, "credentials": [ { "location": "header", "name": "Authorization", "value": "Bearer YOUR_TOKEN" } ] }'{ "id": "string", "accountId": "string", "name": "string", "status": "Disabled", "rootDomain": "string", "excludedPatterns": [ "string" ], "includedUrls": [ "string" ], "urlLimit": 0, "scanSchedule": "daily", "nextScheduledScanAt": "string", "scanStatus": "idle", "lastScannedAt": "string", "lastScanStartedAt": "string", "lastRunCookieCount": 0, "lastRunRequestCount": 0, "lastRunSuccessUrlCount": 0, "lastRunHighRiskRequestCount": 0, "createdAt": "string", "updatedAt": "string"}POST/rest/v1/web-scanners/{id}/targeted-scan
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/rest/v1/web-scanners/string/targeted-scan" \ -H "Content-Type: application/json" \ -d '{ "targetUrl": "https://example.com/privacy" }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "scannerId": "4d4dc154-bef0-4571-8fa5-b883608b16c1", "requestedUrl": "http://example.com", "resolvedUrl": "string", "status": "queued", "cause": "string", "createdAt": "string", "completedAt": "string", "run": { "metadata": { "success_urls": [ "string" ], "failed_urls": [ { "url": "string", "status_code": 0, "details": "string" } ], "excluded_urls": [ "string" ], "excluded_patterns": [ "string" ] }, "summary_generated_at": "string", "cookieCount": 0, "localStorageCount": 0, "requestCount": 0, "vendorCount": 0 }}GET/rest/v1/web-scanners/{id}/verification-run
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Query Parameters
Verification run UUID returned by the targeted scan command.
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners/string/verification-run?runId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "scannerId": "4d4dc154-bef0-4571-8fa5-b883608b16c1", "requestedUrl": "http://example.com", "resolvedUrl": "string", "status": "queued", "cause": "string", "createdAt": "string", "completedAt": "string", "run": { "metadata": { "success_urls": [ "string" ], "failed_urls": [ { "url": "string", "status_code": 0, "details": "string" } ], "excluded_urls": [ "string" ], "excluded_patterns": [ "string" ] }, "summary_generated_at": "string", "cookieCount": 0, "localStorageCount": 0, "requestCount": 0, "vendorCount": 0 }}GET/rest/v1/web-scanners/{id}/verification-runs
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Query Parameters
How many runs to read, newest first. Defaults to 20, capped at 50.
1 <= value <= 50Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners/string/verification-runs"{ "items": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "scannerId": "4d4dc154-bef0-4571-8fa5-b883608b16c1", "requestedUrl": "http://example.com", "resolvedUrl": "string", "status": "queued", "cause": "string", "createdAt": "string", "completedAt": "string", "run": { "metadata": { "success_urls": [ "string" ], "failed_urls": [ { "url": "string", "status_code": 0, "details": "string" } ], "excluded_urls": [ "string" ], "excluded_patterns": [ "string" ] }, "summary_generated_at": "string", "cookieCount": 0, "localStorageCount": 0, "requestCount": 0, "vendorCount": 0 } } ]}GET/rest/v1/web-scanners/{id}/findings
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Query Parameters
Which scan run to read, as an ISO-8601 timestamp. Only the UTC calendar day is used to select the run; the time component is ignored. Defaults to the most recent run when omitted.
date-timeMaximum number of findings to return. Defaults to 25; clamped to 1–100.
1 <= value <= 100Skip this many findings before returning. Use with limit for load-more paging.
0 <= valueResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners/string/findings"{ "items": [ { "hostname": "string", "urls": [ "string" ], "types": [ "audio" ], "cookies": [ { "name": "string", "value": "string", "domain": "string", "path": "string" } ], "seenOn": [ "string" ], "privacyKeywords": [ "string" ], "risk": "string", "category": "string", "displayName": "string", "dataFlow": { "recipient": { "hostname": "string", "displayName": "string", "category": "string", "risk": "string" }, "categories": [ "credit_card" ], "signals": [ { "category": "credit_card", "source": "query_parameter", "field": "string", "encoding": "string" } ], "requestCount": 0 }, "coveredByCmp": true, "coveredByVendorLabel": "string" } ], "total": 0, "hasMore": true}GET/rest/v1/web-scanners/{id}/cookies
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Query Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners/string/cookies"{ "cookies": [ { "name": "string", "value": "string", "domain": "string", "path": "string" } ], "localStorage": [ { "name": "string", "value": "string" } ], "totalCookies": 0, "totalLocalStorage": 0, "hasMore": true}GET/rest/v1/web-scanners/{id}/summary
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Query Parameters
Which scan run to read, as an ISO-8601 timestamp. Only the UTC calendar day is used to select the run; the time component is ignored. Defaults to the most recent run when omitted.
date-timeResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners/string/summary"{ "scannerId": "string", "rootDomain": "string", "scanStatus": "idle", "runDate": "string", "runRevision": "string", "coverageRevision": "string", "hostCount": 0, "vendorCount": 0, "cookieCount": 0, "localStorageCount": 0, "privacyPolicyCount": 0, "privacyPolicies": [ { "url": "http://example.com", "hostnames": [ "string" ], "text": "string" } ], "privacyPolicyHosts": [ { "hostname": "string", "privacyPolicyUrl": "string" } ], "countsByRisk": { "high": 0, "medium": 0, "low": 0, "unknown": 0 }, "byCategory": [ { "category": "string", "hostCount": 0 } ], "coverage": { "totalHostCount": 0, "coveredHostCount": 0, "needsDecisionHostCount": 0, "coveragePercent": 0 }, "delta": { "newHostCount": 0, "removedHostCount": 0 }, "topUncoveredHosts": [ { "hostname": "string", "urls": [ "string" ], "types": [ "audio" ], "cookies": [ { "name": "string", "value": "string", "domain": "string", "path": "string" } ], "seenOn": [ "string" ], "privacyKeywords": [ "string" ], "risk": "string", "category": "string", "displayName": "string", "dataFlow": { "recipient": { "hostname": "string", "displayName": "string", "category": "string", "risk": "string" }, "categories": [ "credit_card" ], "signals": [ { "category": "credit_card", "source": "query_parameter", "field": "string", "encoding": "string" } ], "requestCount": 0 }, "coveredByCmp": true, "coveredByVendorLabel": "string" } ], "accessibility": { "engine": "string", "score": 0, "pagesEvaluated": 0, "totalViolations": 0, "totalNodes": 0, "countsByImpact": { "critical": 0, "serious": 0, "moderate": 0, "minor": 0 }, "topViolations": [ { "id": "string", "impact": "string", "help": "string", "helpUrl": "string", "wcagTags": [ "string" ], "pageCount": 0, "nodeCount": 0, "pages": [ "string" ], "sampleNodes": [ { "target": [ "string" ], "html": "string", "failureSummary": "string" } ] } ] }}GET/rest/v1/web-scanners/{id}/decision-queue
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Query Parameters
Maximum number of items to return. Defaults to 25; values below 1 are clamped to 1 and values above 100 are clamped to 100.
Opaque pagination cursor from pagination.nextCursor in the previous response. Do not decode or modify it. Malformed cursors return 400 Bad Request.
Which scan run to read, as an ISO-8601 timestamp. Only the UTC calendar day is used to select the run; the time component is ignored. Defaults to the most recent run when omitted.
date-timeResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/rest/v1/web-scanners/string/decision-queue"{ "scannerId": "string", "runDate": "string", "runRevision": "string", "coverageRevision": "string", "total": 0, "entities": [ { "hostname": "string", "displayName": "string", "risk": "string", "category": "string", "seenOn": [ "string" ], "dataFlow": { "recipient": { "hostname": "string", "displayName": "string", "category": "string", "risk": "string" }, "categories": [ "credit_card" ], "signals": [ { "category": "credit_card", "source": "query_parameter", "field": "string", "encoding": "string" } ], "requestCount": 0 } } ], "pagination": { "nextCursor": "string", "hasMore": true }}POST/rest/v1/web-scanners/{id}/resolve-coverage-gap
Authorization
apiKey Ours Privacy API key
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/rest/v1/web-scanners/string/resolve-coverage-gap" \ -H "Content-Type: application/json" \ -d '{ "runDate": "2019-08-24T14:15:22Z", "runRevision": "string", "coverageRevision": "string", "hostname": "string", "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1", "suppression": { "reason": "ignore" } }'{ "status": "already_resolved", "hostname": "string", "effectState": "preexisting_coverage", "coverageSource": "cmp", "suppressionRuleId": "string", "coveredByVendorLabel": "string", "committedCoverageRevision": "string"}How is this guide?

