Home Getting started

Getting started

Find guides, understand the catalog, and get help using STIGViewer.
Dorian Cougias
By Dorian Cougias
• 6 articles

Troubleshoot a STIGViewer API error

Use the HTTP status and response body together to decide what to check next. Listing STIGs and downloading content both require a bearer token. 400 — Check request parameters against the endpoint documentation. Format names are case-sensitive. 401 — Check Authorization: Bearer YOUR_API_TOKEN and token validity. Never include the token in a support message. 403 — A valid token may lack product access or the required integration-token scope. Check the product and endpoint you intend to use. 402 — When machine-access enforcement is enabled, the request needs a paid or eligible trial entitlement. Review the response access information. 404 — For STIG detail/download requests, check the exact STIG slug. Other endpoints may refer to other missing resources. 429 — Wait for the interval in Retry-After or retry_after_seconds before retrying. 503 — The authentication service is temporarily unavailable. Retry shortly; this does not mean your token is invalid. 500 — If it persists, provide support with the endpoint, time, status and error body, omitting credentials. Authentication and STIG errors normally contain an error object with code and message. Paywall responses instead use an error string such as payment_required or rate_limit_exceeded. Subscription and rate-limit blocking depend on service configuration. Request JSON for API use; payment denials for requests accepting HTML can redirect to an upgrade page. API reference: https://docs.stigviewer.com/errors

Last updated on Sep 16, 2026

Choose a STIG export format

Use the authenticated endpoint GET /api/v1/stigs/{slug}/download?format={format}. Replace {slug} with the exact STIG slug. If format is omitted or empty, the endpoint uses cklb. cklb — A CKLB checklist document for a workflow that expects CKLB. json — Benchmark data serialized as JSON, including loaded groups and profiles. This structure differs from CKLB. csv — A table with one row per group for a spreadsheet or CSV consumer. xml — A simplified XML representation of benchmark and group data. This does not imply compatibility with an original DISA XML package. cklb-workforce — For callers with workforce entitlement, a JSON envelope containing checklist and workforceMapping. The envelope is not a bare CKLB document. workforce — Workforce mapping data in JSON-LD, subject to workforce entitlement and available mappings. Format names are exact and case-sensitive. Other nonempty values return 400 BAD_REQUEST after authentication and access checks. Understanding workforce results A successful download does not establish that mappings are present. Check X-OpenControls-Workforce-Entitled (true or false) and X-OpenControls-Workforce-Source (present, empty, or gated). present: mapping data is available. empty: the caller has entitlement but no NICE role or O*NET occupation mapping was found for that STIG. gated: workforce content was withheld. cklb-workforce returns plain CKLB; workforce returns an empty JSON-LD shell. These fallbacks can still return HTTP 200 when earlier authentication and access checks allow the request. Ordinary cklb, json, csv, and xml exports contain no workforce data and omit the workforce source header. API reference: https://docs.stigviewer.com/stigs

Last updated on Sep 16, 2026