Docs
← Home Sign In Get Started

Supported export formats

FormatUse caseEndpoint
PDFClient reports, management presentationsGET /api/scan/{id}/report
DOCXEditable reportsGET /api/scan/{id}/docx
JSONProgrammatic processing, dashboardsGET /api/scan/{id}
CSVSpreadsheets, tracking in project toolsGET /api/scans/export.csv
SARIFGitHub Advanced Security, CI/CD integrationGET /api/scan/{id}/sarif
JUnit XMLCI/CD test reports, Jenkins, GitHub Actions test summaryGET /api/scan/{id}/export/junit.xml
Burp Suite XMLImport findings into Burp Suite for manual testingGET /api/scan/{id}/export/burp
STIX 2.1Threat intelligence sharing, MISP, threat intel platformsGET /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:

bash
curl -H "X-Shieldome-Key: YOUR_API_KEY" \
     "https://yourdomain.com/api/scan/{id}" \
     -o scan.json
json — response structure
{
  "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"]
  }
}
⚠️
Findings are at 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:

bash
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:

ColumnDescription
IDScan UUID
Target URLThe scanned URL
Target IPIP override used (blank if none)
Scan Typevuln, perf, both, or api
Statuscompleted, failed, etc.
Started AtISO 8601 timestamp
Completed AtISO 8601 timestamp
Risk Score0–100 composite risk score
CriticalCount of critical findings
HighCount of high findings
MediumCount of medium findings
LowCount of low findings
InfoCount of info findings
Performance Score0–100 performance score (blank for vuln-only scans)
TagsComma-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.

bash
curl -H "X-Shieldome-Key: YOUR_API_KEY" \
     "https://yourdomain.com/api/scan/{id}/sarif" \
     -o results.sarif

Upload to GitHub Code Scanning

github-actions workflow
- 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
💡
SARIF upload requires GitHub Advanced Security. This is available on GitHub Enterprise or public repositories. The uploaded results appear in the Security → Code scanning alerts tab.

Word (.docx)

Downloads the report as an editable Word document:

bash
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:

bash
curl -H "X-Shieldome-Key: YOUR_API_KEY" \
     "https://yourdomain.com/api/scan/{id}/export/junit.xml" \
     -o results.xml
💡
In GitHub Actions, add a 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:

bash
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:

bash
curl -H "X-Shieldome-Key: YOUR_API_KEY" \
     "https://yourdomain.com/api/scan/{id}/export/stix" \
     -o threat-intel.stix.json