Exports
Odin Scan supports exporting analysis reports in multiple formats for integration with external tools, team sharing, and compliance documentation.
Supported Formats
| Format | Best For |
|---|---|
| JSON | Programmatic access, custom integrations, data processing |
| Markdown | Human-readable reports, sharing with stakeholders, documentation |
| SARIF | GitHub Code Scanning, IDE integrations, SARIF-compatible security tools |
Exporting from the Dashboard
- Navigate to Reports and open a completed analysis.
- Click the Export button at the top of the report view.
- Select the desired format (JSON, Markdown, or SARIF).
- The file downloads to your browser.
Export Formats
JSON
The JSON export contains the full structured analysis result, identical to the response from the GET /api/v1/analysis/:id/result endpoint.
{
"analysisId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"repository": {
"url": "https://github.com/username/repo",
"branch": "main",
"framework": "cosmwasm"
},
"summary": {
"totalFindings": 12,
"criticalFindings": 2,
"highFindings": 3,
"mediumFindings": 4,
"lowFindings": 3,
"analysisTime": 45000
},
"findings": [
{
"id": "finding-uuid",
"title": "Unchecked Address Validation",
"severity": "high",
"confidence": "high",
"category": "Input Validation",
"location": {
"file": "src/contract.rs",
"lineStart": 142,
"lineEnd": 147
},
"remediation": "Implement proper address validation..."
}
]
}
Use JSON exports for:
- Feeding results into custom dashboards or reporting tools.
- Automated processing in CI/CD pipelines.
- Archiving results in a structured, machine-readable format.
Markdown
The Markdown export produces a formatted, human-readable report. This is the same content available in the markdownReport field of the API response.
# Security Analysis Report
**Repository:** username/repo
**Branch:** main
**Framework:** CosmWasm
**Date:** 2025-01-15
## Summary
| Severity | Count |
|----------|-------|
| Critical | 2 |
| High | 3 |
| Medium | 4 |
| Low | 3 |
## Findings
### [HIGH] Unchecked Address Validation
**File:** src/contract.rs (lines 142-147)
**Category:** Input Validation
The contract accepts addresses without validation...
**Remediation:** Implement proper address validation...
Use Markdown exports for:
- Sharing results with team members or stakeholders via email or chat.
- Including in pull request descriptions or issue trackers.
- Generating printable reports.
SARIF
The SARIF (Static Analysis Results Interchange Format) export produces a standard format recognized by GitHub Code Scanning, Visual Studio Code, and other SARIF-compatible tools.
{
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "Odin Scan",
"version": "1.0.0"
}
},
"results": [
{
"ruleId": "input-validation/unchecked-address",
"level": "error",
"message": {
"text": "Unchecked Address Validation"
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": "src/contract.rs"
},
"region": {
"startLine": 142,
"endLine": 147
}
}
}
]
}
]
}
]
}
Use SARIF exports for:
- Uploading to GitHub Code Scanning to surface findings directly in pull requests.
- Importing into IDE extensions that support SARIF (e.g., the SARIF Viewer for VS Code).
- Aggregating results from multiple security tools in a unified format.
API-Based Exports
You can retrieve analysis results programmatically via the API, which is useful for automation and CI/CD workflows:
# Fetch the full result (JSON format)
curl https://api.odinscan.ai/api/v1/analysis/ANALYSIS_ID/result \
-H "Authorization: Bearer odin_sk_abc123..." \
-o report.json
The API response includes all fields needed to construct any export format. The markdownReport field contains the pre-rendered Markdown version.
See the REST API Reference for full endpoint documentation.
Next Steps
- Reports – understanding report contents
- Filters – filter reports before exporting
- REST API Reference – programmatic access to results