Supported export formats
| Format | Use case | Endpoint |
|---|---|---|
| Client reports, management presentations | GET /api/scan/{id}/report | |
| DOCX | Editable reports | GET /api/scan/{id}/docx |
| JSON | Programmatic processing, dashboards | GET /api/scan/{id} |
| CSV | Spreadsheets, tracking in project tools | GET /api/scans/export.csv |
| SARIF | GitHub Advanced Security, CI/CD integration | GET /api/scan/{id}/sarif |
| JUnit XML | CI/CD test reports, Jenkins, GitHub Actions test summary | GET /api/scan/{id}/export/junit.xml |
| Burp Suite XML | Import findings into Burp Suite for manual testing | GET /api/scan/{id}/export/burp |
| STIX 2.1 | Threat intelligence sharing, MISP, threat intel platforms | GET /api/scan/{id}/export/stix |
JSON
The full scan result — including all findings and performance data — is returned by the standard scan endpoint. No separate export call is needed:
curl -H "X-Shieldome-Key: YOUR_API_KEY" \ "https://yourdomain.com/api/scan/{id}" \ -o scan.json
{
"id": "a1b2c3d4-...",
"target_url": "https://example.com",
"started_at": "2026-06-14T10:00:00",
"completed_at":"2026-06-14T10:07:42",
"status": "completed",
"scan_type": "both",
"summary": {
"risk_score": 35,
"critical": 0, "high": 1, "medium": 3, "low": 2, "info": 1
},
"results": {
"vulnerabilities": [ // ← findings are here, not at root level
{
"title": "Missing X-Frame-Options Header",
"category": "Security Misconfiguration",
"owasp_id": "A05:2021",
"severity": "medium",
"status": "vulnerable",
"description": "...",
"evidence": "...",
"remediation": "...",
"cvss_score": 4.3,
"cwe_id": "CWE-1021"
}
],
"performance": { // present for both/perf scans; null otherwise
"dns_ms": 12, "ttfb_ms": 210, "page_size_kb": 84,
"http2": true, "gzip": true, "performance_score": 87
},
"tech_stack": ["nginx", "Django"]
}
}
results.vulnerabilities, not a top-level findings key. Always access them as data["results"]["vulnerabilities"].CSV
Exports a flat summary of all scans — one row per scan. Useful for importing into Jira, Linear, Excel, or Google Sheets:
curl -H "X-Shieldome-Key: YOUR_API_KEY" \ "https://yourdomain.com/api/scans/export.csv" \ -o scans.csv
The CSV contains the following columns in order:
| Column | Description |
|---|---|
ID | Scan UUID |
Target URL | The scanned URL |
Target IP | IP override used (blank if none) |
Scan Type | vuln, perf, both, or api |
Status | completed, failed, etc. |
Started At | ISO 8601 timestamp |
Completed At | ISO 8601 timestamp |
Risk Score | 0–100 composite risk score |
Critical | Count of critical findings |
High | Count of high findings |
Medium | Count of medium findings |
Low | Count of low findings |
Info | Count of info findings |
Performance Score | 0–100 performance score (blank for vuln-only scans) |
Tags | Comma-separated tag labels |
SARIF
SARIF (Static Analysis Results Interchange Format) 2.1.0 is the standard format for security tools integrating with GitHub Advanced Security, Azure DevOps, and other platforms.
curl -H "X-Shieldome-Key: YOUR_API_KEY" \ "https://yourdomain.com/api/scan/{id}/sarif" \ -o results.sarif
Upload to GitHub Code Scanning
- name: Run Shieldome scan
run: |
python cli.py scan ${{ env.TARGET_URL }} \
--output results.sarif
- name: Upload SARIF to GitHub
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
Word (.docx)
Downloads the report as an editable Word document:
curl -H "X-Shieldome-Key: YOUR_API_KEY" \ "https://yourdomain.com/api/scan/{id}/docx" \ -o report.docx
JUnit XML
Exports findings as a JUnit XML test report, grouped by OWASP category as <testsuite> elements. Critical, High, and Medium findings appear as <testcase><failure>; Low and Info findings appear as passing test cases.
Use this format to publish scan results as a test report in Jenkins, GitHub Actions (test summary), or any CI system that consumes JUnit XML:
curl -H "X-Shieldome-Key: YOUR_API_KEY" \ "https://yourdomain.com/api/scan/{id}/export/junit.xml" \ -o results.xml
actions/upload-artifact step to save the XML, then use a JUnit reporter action to show findings as a test summary directly in the pull request.Burp Suite XML
Exports findings in Burp Suite's XML issue format, allowing you to import Shieldome results into Burp for further manual testing or to combine with findings from a Burp active scan:
curl -H "X-Shieldome-Key: YOUR_API_KEY" \ "https://yourdomain.com/api/scan/{id}/export/burp" \ -o burp-import.xml
In Burp Suite: Proxy → HTTP history → right-click → Import from Shieldome (via the XML import function in the Issues pane).
STIX 2.1
Exports findings as a STIX 2.1 bundle for sharing with threat intelligence platforms such as MISP, OpenCTI, or your organization's SIEM. Each finding becomes a Vulnerability or CourseOfAction STIX object:
curl -H "X-Shieldome-Key: YOUR_API_KEY" \ "https://yourdomain.com/api/scan/{id}/export/stix" \ -o threat-intel.stix.json