Path parameters
The
scan_id returned by
POST /api/v2/scan/deep (or /scan/quick) or
one of the per-profile ids from a batch.Response
The response is the scan record. Fields you should rely on:Same value as
scan_id. Tumban tracks scans and profile records
under the same identifier.The batch id. Single scans (submitted via
POST /api/v2/scan/deep or /scan/quick) get a
synthetic single_<scan_id> batch id for internal bookkeeping; match
on the single_ prefix to distinguish single-scan submissions from
batched ones.The submitted profile URL.
See Status values.
Which mode the scan ran in:
deep or quick. A quick scan skips
link traversal, social-media scraping, and external context search;
the coverage object on the triage report
reflects the skipped steps. May be absent on legacy scans submitted
before scan modes existed (treat absent as deep).ISO 8601 UTC timestamp of when the scan was submitted.
When pipeline processing actually began.
null while waiting for a
concurrency slot.When pipeline processing finished.
null while still processing.Optional. Absent until the ban-checker has evaluated this profile
— the key is omitted (not
null) on fresh scans — then true if the
creator has been banned by the upstream platform (e.g. 404 / 410 /
redirect on the profile URL) or false if the profile is still live.
Test for it with "is_banned" in response, not
response["is_banned"] is None. Useful for skipping enforcement on
already-banned creators.The callback URL the scan was submitted with (or the org default if
not provided), as a string. Empty when no callback was configured.
The metadata you submitted with the scan, echoed back unchanged.
Present when
status is failed. Brief description of what went
wrong.ISO 8601 UTC timestamp of successful webhook delivery. Absent when
no callback was configured or delivery has not (yet) succeeded.
Present once
status reaches a terminal value with a usable result
(completed). Shape below.triage_report
One of
no_flags, review_low, review_medium, review_high. See
Recommendation values.0–100. See Recommendations.
low, medium, or high. See Confidence.Machine-readable codes explaining the decision. See
Reason codes.
Human-readable summary of what was found.
URLs your reviewers should look at first.
Short label describing the path Tumban followed (e.g.
Profile -> External site).Per-URL evidence Tumban cited in support of the decision. See
Evidence index.
Coverage
Poll responses include thecoverage object too
— it lives at triage_report.coverage on GET /api/v2/scans/{scan_id}.
On the webhook payload the same object is delivered
as a top-level coverage key. Same fields either way; only the
placement differs. The scan’s status is completed even when
individual steps were skipped — read coverage to see what ran.
Example
The response also includes internal fields not listed above. These
reflect the underlying scan record and are subject to change. Do not
rely on their names, types, or presence; treat them as opaque.
Errors
| Status | Detail |
|---|---|
| 404 | Scan not found — the scan id does not exist within your organization. |
Using the dashboard
Click any non-processing scan row from the Home page or the Scan page to open the scan detail. The page renders these read-only sections:- Summary — profile URL, scan id, status, submitted/completed timestamps, webhook delivery timestamp, error.
- Triage — recommendation badge, risk score, confidence, reason codes, reason summary.
- Coverage — which analysis steps ran, login-blocked URLs, referrer match counts.
- Raw JSON — collapsible “Show full document” panel that exposes the entire scan record.

