Use when you need a quick VALID or NOT VALID result for a scoped Kibana OAS area, and first ensure the generated `oas_docs` inputs are up to date so validation runs against the current environment rather than stale snapshots.
Use node ./scripts/validate_oas_docs.js for a fast pass/fail check of a specific API area.
This skill is intentionally minimal:
VALID or NOT VALID.NOT VALID, mention the debug-oas skill for detailed issue debugging.debug-oas when the developer wants issue categorization or examples.Before validating, make sure the generated OAS artifacts in oas_docs are current. Treat stale generated files as an environment/setup problem, not a validation result.
Refresh the generated OAS inputs before validation when:
oas_docs may be stale after switching branches or pulling changesDo not refresh first when:
oas_docs in this session and no relevant inputs changed since thenRefresh flow:
yarn kbn bootstrap
node scripts/capture_oas_snapshot \
--include-path /api/status \
--include-path /api/alerting/rule/ \
--include-path /api/alerting/rules \
--include-path /api/actions \
--include-path /api/security/role \
--include-path /api/spaces \
--include-path /api/streams \
--include-path /api/fleet \
--include-path /api/saved_objects/_import \
--include-path /api/saved_objects/_export \
--include-path /api/maintenance_window \
--include-path /api/agent_builder \
--include-path /api/workflows
cd oas_docs && make api-docs
After this refresh flow completes, run the scoped validation command.
Source of truth:
capture_oas_snapshot include-path list aligned with .buildkite/scripts/steps/checks/capture_oas_snapshot.sh./api/fleet/agent_policies).oas_docs is up to date first when needed by following the environment setup flow above.--path filters with --only traditional by default and always include --skip-printing-issues.VALID, orNOT VALID (and mention debug-oas for details).Do not skip questions (1) and (2) unless the developer already provided the API paths.
Use normal route-style API paths for --path:
/api/fleet/agent_policies/api/fleet/agent_policies/{agentPolicyId}Do not manually convert to JSON pointers. The CLI handles conversion for error filtering internally.
Environment refresh:
yarn kbn bootstrap
node scripts/capture_oas_snapshot \
--include-path /api/status \
--include-path /api/alerting/rule/ \
--include-path /api/alerting/rules \
--include-path /api/actions \
--include-path /api/security/role \
--include-path /api/spaces \
--include-path /api/streams \
--include-path /api/fleet \
--include-path /api/saved_objects/_import \
--include-path /api/saved_objects/_export \
--include-path /api/maintenance_window \
--include-path /api/agent_builder \
--include-path /api/workflows
cd oas_docs && make api-docs
Default scoped validation:
node ./scripts/validate_oas_docs.js --only traditional --skip-printing-issues --path <api_route_prefix>
Multiple path filters are supported:
node ./scripts/validate_oas_docs.js --only traditional \
--skip-printing-issues \
--path /api/fleet/agent_policies \
--path /api/fleet/agent_policies/{agentPolicyId}
Optional (only when explicitly requested):
node ./scripts/validate_oas_docs.js --only serverless --skip-printing-issues --path <api_route_prefix>
Default scoping note:
--only traditional by default because it matches the common local debugging path and keeps output narrower.--only serverless only when the developer explicitly asks for it.Found 0 errors in ... -> VALIDFound N errors in ... where N > 0 -> NOT VALIDoas_docs, note that the result may reflect outdated generated inputs and refresh before concluding the spec is clean or broken.None of the provided --path filters matched any content), keep status as VALID but include an explicit warning.VALIDVALID (WARNING: no actual paths were matched.)NOT VALID. Use the debug-oas skill for detailed issues.Use exactly one of these responses:
VALID
VALID (WARNING: no actual paths were matched.)
NOT VALID. Use the debug-oas skill for detailed issues.