Skip to main content
GET
/
api
/
scans
/
{id}
curl -X GET "https://api.heimdall.dev/api/scans/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "repo_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "scan_type": "full",
    "status": "completed",
    "commit_sha": "a1b2c3d4e5f6",
    "base_commit_sha": null,
    "parent_scan_id": null,
    "triggered_by": "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
    "finding_count": 42,
    "critical_count": 5,
    "high_count": 12,
    "medium_count": 18,
    "low_count": 7,
    "started_at": "2026-03-12T10:00:00Z",
    "completed_at": "2026-03-12T10:15:30Z",
    "error_message": null,
    "created_at": "2026-03-12T09:55:00Z",
    "updated_at": "2026-03-12T10:15:30Z"
  }
}

Path Parameters

id
string
required
The unique identifier (UUID) of the scan

Response

Returns a scan object with the following fields:
id
string
Unique identifier (UUID) of the scan
repo_id
string
ID of the repository being scanned
scan_type
string
Type of scan performed
status
string
Current status of the scan. Possible values:
  • queued - Scan is waiting to start
  • ingesting - Ingesting repository code
  • ingested - Ingestion complete
  • modeling - Building threat model
  • modeled - Threat model complete
  • static_analysis - Running static analysis
  • hunting - AI-powered vulnerability hunting
  • hunted - Hunting complete
  • validating - Validating findings
  • validated - Validation complete
  • reporting - Generating report
  • completed - Scan finished successfully
  • failed - Scan failed
  • cancelled - Scan was cancelled
commit_sha
string
Git commit SHA being scanned
base_commit_sha
string
Base commit SHA for differential scans
parent_scan_id
string
ID of the parent scan (for incremental scans)
triggered_by
string
User ID who triggered the scan
finding_count
integer
Total number of findings discovered
critical_count
integer
Number of critical severity findings
high_count
integer
Number of high severity findings
medium_count
integer
Number of medium severity findings
low_count
integer
Number of low severity findings
started_at
string
ISO 8601 timestamp when the scan started
completed_at
string
ISO 8601 timestamp when the scan completed
error_message
string
Error message if the scan failed
created_at
string
ISO 8601 timestamp when the scan was created
updated_at
string
ISO 8601 timestamp when the scan was last updated
curl -X GET "https://api.heimdall.dev/api/scans/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "repo_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "scan_type": "full",
    "status": "completed",
    "commit_sha": "a1b2c3d4e5f6",
    "base_commit_sha": null,
    "parent_scan_id": null,
    "triggered_by": "2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
    "finding_count": 42,
    "critical_count": 5,
    "high_count": 12,
    "medium_count": 18,
    "low_count": 7,
    "started_at": "2026-03-12T10:00:00Z",
    "completed_at": "2026-03-12T10:15:30Z",
    "error_message": null,
    "created_at": "2026-03-12T09:55:00Z",
    "updated_at": "2026-03-12T10:15:30Z"
  }
}

Build docs developers (and LLMs) love