STIGs
Access Security Technical Implementation Guides (STIGs) programmatically.
List STIGs
List all available STIGs with metadata. This endpoint requires a valid SAMS token.
GET /api/v1/stigs
Parameters
- Name
search- Type
- string
- Description
Filter by title or slug (case-insensitive).
- Name
page- Type
- integer
- Description
Page number (default: 1).
- Name
limit- Type
- integer
- Description
Items per page (default: 100, max: 150).
Response
Response
{
"stigs": [
{
"slug": "active_directory_domain",
"title": "Active Directory Domain STIG",
"version": "3",
"releaseDate": "2024-09-13",
"findingCount": 75
}
],
"pagination": {
"page": 1,
"limit": 100,
"total": 371,
"totalPages": 4
}
}
Download STIG
Download a complete STIG as a CKLB checklist, raw JSON, CSV, or XML. This endpoint requires a valid SAMS token.
GET /api/v1/stigs/{slug}/download
Parameters
- Name
slug- Type
- string
- Description
The unique identifier for the STIG (e.g.,
microsoft_windows_server_2022).
- Name
format- Type
- string
- Description
Export format:
cklb(default): a DISA CKLB v1.0 checklist (.cklb), the JSON checklist format STIG Viewer 3 and C3PAO assessor tools import. Every rule starts atstatus: "not_reviewed".json: the raw benchmark record (all groups and profiles). This is a different shape fromcklb, so use it for data processing, not for import into checklist tooling.csv,xml: flat exports of the findings.
Response
{
"title": "Microsoft Windows Server 2022 Security Technical Implementation Guide",
"id": "b1f2...uuid",
"cklb_version": "1.0",
"active": false,
"mode": 1,
"has_path": true,
"target_data": { "host_name": "", "ip_address": "", "role": "None", "...": "" },
"stigs": [
{
"stig_name": "Microsoft Windows Server 2022 Security Technical Implementation Guide",
"stig_id": "Windows_Server_2022_STIG",
"release_info": "Release: 4 Benchmark Date: 05 Feb 2026",
"version": "2",
"uuid": "c3d4...uuid",
"size": 285,
"rules": [
{
"group_id": "V-254123",
"rule_id": "SV-254123r123456_rule",
"rule_version": "WN22-00-000010",
"severity": "high",
"rule_title": "Windows Server 2022 must...",
"discussion": "...",
"check_content": "...",
"fix_text": "...",
"ccis": ["CCI-000366"],
"status": "not_reviewed",
"comments": "",
"finding_details": "",
"uuid": "d5e6...uuid"
}
]
}
]
}
List STIG controls
Page through a single STIG's individual controls (its rules/findings) without downloading the whole benchmark. Useful when tooling only needs a subset of rules. This endpoint requires a valid SAMS token.
GET /api/v1/stigs/{slug}/controls
Parameters
- Name
slug- Type
- string
- Description
The STIG identifier (e.g.,
red_hat_enterprise_linux_9).
- Name
page- Type
- integer
- Description
Page number (default:
1).
- Name
limit- Type
- integer
- Description
Items per page (default:
50, max:100).
- Name
severity- Type
- string
- Description
Comma-separated severity filter:
high,medium,low.
- Name
search- Type
- string
- Description
Case-insensitive filter on group ID, rule ID, or title.
Each entry uses the same finding shape as the single STIG
response. stig.findingCount is the STIG's total control count; pagination.total
reflects the count after any severity/search filters. Returns 404 if the
slug is not found.
Response
Response
{
"stig": {
"slug": "red_hat_enterprise_linux_9",
"title": "Red Hat Enterprise Linux 9 Security Technical Implementation Guide",
"version": "V2R8",
"status": "accepted",
"releaseDate": "2026-02-05",
"findingCount": 446
},
"findings": [
{
"groupId": "V-257777",
"title": "RHEL 9 must be a vendor-supported release.",
"description": "...",
"severity": "high",
"ruleId": "SV-257777r1155676_rule",
"ruleVersion": "RHEL-09-211010",
"ruleTitle": "RHEL 9 must be a vendor-supported release.",
"vulnDiscussion": "...",
"fixText": "...",
"checkContent": "...",
"ruleIdent": "CCI-000366",
"ruleIdents": ["CCI-000366"]
}
],
"pagination": { "page": 1, "limit": 50, "total": 28, "totalPages": 1 }
}
ruleIdents lists every CCI a rule satisfies; ruleIdent is the first CCI,
kept for backward compatibility. Rules mapping to multiple CCIs (common in real
STIGs) return the full set, e.g. V-257779 returns
["CCI-000048","CCI-001384","CCI-001385","CCI-001386","CCI-001387","CCI-001388"].
The same two fields appear on the single-STIG (GET /api/v1/stigs/{slug}) and
list (GET /api/v1/lists/{id}/stigs) finding shapes, and CKLB exports carry the
full list in each rule's ccis.
Batch fetch STIGs
Fetch up to 50 STIGs (including their findings) in a single request. Requires a valid SAMS token.
POST /api/v1/stigs/batch
Request body
- Name
slugs- Type
- array
- Description
Array of STIG slugs (max:
50).
Response
Response
{
"stigs": [
{
"slug": "red_hat_enterprise_linux_8",
"benchmarkId": "red_hat_enterprise_linux_8-benchmarkId",
"title": "RHEL 8 STIG",
"description": "...",
"version": "1.5.0",
"status": "Accepted",
"releaseDate": "2024-11-15",
"findingCount": 342,
"profiles": [
{ "profileId": "P-123", "title": "STIG Profile", "description": "..." }
],
"findings": [
{
"groupId": "V-214010",
"title": "Audit daemon must...",
"severity": "high",
"ruleId": "SV-214010r814063_rule",
"ruleTitle": "The Audit daemon must...",
"vulnDiscussion": "...",
"fixText": "...",
"checkContent": "..."
}
]
}
],
"meta": {
"requested": 2,
"found": 1,
"notFound": ["nonexistent-slug"]
}
}
Returns 400 if slugs is missing, empty, or longer than 50.
STIG catalog stats
Return aggregate counts across the current-version STIG catalog. The response is cached for five minutes. Requires a valid SAMS token.
GET /api/v1/stigs/stats
Response
Response
{
"catalog": {
"totalBenchmarks": 456,
"totalFindings": 87234,
"totalProfiles": 1023
},
"severity": {
"high": 12543,
"medium": 45678,
"low": 29013
},
"latestRelease": {
"slug": "red_hat_enterprise_linux_9",
"title": "RHEL 9 STIG",
"releaseDate": "2024-11-20"
}
}
STIG changelog
Track STIG version releases without polling every STIG. Returns current versions
ordered by release date; pass since to get only what shipped after your last
sync (for cache invalidation / rebuilds). This endpoint requires a valid SAMS
token.
GET /api/v1/stigs/changelog
Parameters
- Name
since- Type
- string
- Description
ISO date. Only include versions with a release date on or after this (e.g.
2026-01-01).
- Name
slug- Type
- string
- Description
Restrict to a single STIG (its stable slug).
- Name
page- Type
- integer
- Description
Page number (default:
1).
- Name
limit- Type
- integer
- Description
Items per page (default:
50, max:100).
releaseDate is the DISA benchmark date and is the authoritative "when did this
version ship" signal. previousVersion is populated when the prior version is
retained and is null otherwise (version history accrues over time as STIGs are
updated).
Response
Response
{
"changes": [
{
"slug": "microsoft_windows_11",
"title": "Microsoft Windows 11 Security Technical Implementation Guide",
"newVersion": "V2R7",
"previousVersion": "V1R5",
"releaseDate": "2026-02-12"
},
{
"slug": "red_hat_enterprise_linux_9",
"title": "Red Hat Enterprise Linux 9 Security Technical Implementation Guide",
"newVersion": "V2R8",
"previousVersion": null,
"releaseDate": "2026-02-05"
}
],
"pagination": { "page": 1, "limit": 50, "total": 82, "totalPages": 2 }
}
STIGs API playground
STIGs API playground
Experiment with listing and downloading STIGs using the API.
Request
curl "https://www.stigviewer.com/api/v1/stigs?page=1&limit=10"Send a request to see the live response here.