Endpoint
Description
Retrieves the status and results of a specific scan job. Use this endpoint to poll for scan completion or retrieve final results.Headers
Your VulnZap API key
Path Parameters
Job ID returned from scan initiation (
/github or /commit endpoints)Job Status Values
| Status | Description |
|---|---|
pending | Job is queued and waiting to start |
running | Scan is currently in progress |
completed | Scan finished successfully |
failed | Scan encountered an error |
cancelled | Scan was cancelled by user |
Response (Running)
Response (Completed)
When scan completes successfully, full results are included:Response (Shared Scan)
For scans that share results with other users scanning the same repository/branch:Vulnerability Object Schema
Each vulnerability includes the following fields:Common Fields
Unique vulnerability identifier
Vulnerability type (e.g.,
SQL_INJECTION, XSS, PATH_TRAVERSAL)Severity level:
critical, high, medium, low, or infoDetection confidence:
high, medium, or lowPrimary location with file path, line numbers, and code snippet
Clear description of the vulnerability
Evidence supporting the finding
CWE identifier (e.g.,
CWE-89)OWASP category (e.g.,
A03:2021-Injection)Tags for categorization
Whether Faraday’s Context Validator marked this as a false positive
Detection method:
standalone or taintTaint-Specific Fields
Only present whendetectionMethod: "taint":
Where tainted data originates (e.g., user input)
Where tainted data reaches dangerous operation
Step-by-step flow from source to sink
Example Request
Error Responses
Best Practices
Polling Interval
Polling Interval
If using polling instead of SSE, poll every 5-10 seconds to avoid rate limits.
Use SSE When Possible
Use SSE When Possible
For real-time updates, use the SSE endpoints (
/github/:scanId/events or /commit/:jobId/events) instead of polling.Handle Shared Scans
Handle Shared Scans