DraftFilterDeveloper API

Developer reference

PDF Reports

Every completed scan and rewrite can be downloaded as a PDF report. The report contains the verdict band, the public is_ai score (0 means 0% AI-like, and 100 means 100% AI-like — higher = more AI-like), a per-sentence heatmap where the most AI-like sentences get the strongest warning color, a methodology footnote, and the scan timestamp plus the share link reference when an active share exists.

Download a scan report:

text
GET /v1/scans/{scanId}/report

The response is application/pdf with a Content-Disposition: attachment header. Reports accept the same credentials as score-job reads — API keys, Firebase ID tokens, and anonymous App Check tokens — and require the score_jobs:read scope. A report is only visible to the account that created the scan; anonymous App Check credentials can only download reports for scans they created themselves. Unknown or foreign scans return 404 report_not_found; scans that have not completed return 409 report_not_ready.

Download a rewrite report (original vs. rewritten verdicts plus the rewritten document with changed segments shaded):

text
GET /v1/rewrites/{rewriteId}/report

Rewrite reports require the rewrite_jobs:read scope and, like all rewrite operations, do not accept anonymous App Check credentials.

Download a shared scan report (no credential required — the share id is the capability, exactly like GET /v1/shared/{shareId}):

text
GET /v1/shared/{shareId}/report

Shared reports respect the share's redaction setting: when the share owner enables text redaction, the PDF keeps per-sentence scores and character spans but never embeds the scanned text, and shared reports reference only the share id, never the internal scan id. Revoked shares return 404.

Report text rendering uses a Latin-1 PDF font; characters outside that range (for example emoji) are replaced in the PDF while scores and layout are unaffected.