Quality gate criteria are the individual checks Snow-White evaluates when running an analysis. Each criterion compares what your API specification declares against what your runtime telemetry actually observed.

Specification Format Support

Snow-White currently evaluates criteria against OpenAPI specifications (v3.x). Support for additional specification formats — most notably AsyncAPI for event-driven APIs — is planned. The criteria model itself is format-agnostic by design, so new formats slot in without changing how quality gates are defined or evaluated.

Available Criteria

Path Coverage

Every path defined in the specification has been called. This is a subset of HTTP Method Coverage.

HTTP Method Coverage

Each HTTP method (GET, POST, PUT, DELETE, etc.) for each path has been tested.

Operation Success Coverage

Each operation (unique path + HTTP method combination) has produced at least one successful (2xx) response. Complements HTTP Method Coverage, which only checks that an operation was called at all.

Error Response Code Coverage

Each documented error response code for each endpoint is tested. This is a subset of Response Code Coverage.

Positive Response Code Coverage

Each documented positive (non-error) response code (1xx, 2xx, 3xx) for each endpoint is tested. This is a subset of Response Code Coverage.

Response Code Coverage

Each documented response code for each endpoint is tested.

Required Parameter Coverage

Each required parameter (in path, query) has been tested with valid values. This is a subset of Parameter Coverage.

Optional Parameter Coverage

Each optional (non-required) parameter (in path, query) has been tested with valid values. This is a subset of Parameter Coverage.

Parameter Coverage

Each parameter (in path, query) has been tested with valid values.

Content Type Coverage

Each documented request body content type (e.g. application/json, multipart/form-data) for each endpoint has been exercised.

Required Error Fields Coverage

Error responses include all required fields as declared in the specification.

All Response Codes must be Specified

All response codes (including errors) that occurred must be documented in the specification. Catches undocumented behavior before it reaches production.

All Error Response Codes must be Specified

All error response codes that occurred must be documented in the specification. This is a subset of All Response Codes must be Specified.

All Non-Erroneous Response Codes must be Specified

All response codes that occurred and are not being considered errors (0–399) must be documented in the specification. This is a subset of All Response Codes must be Specified.

Criteria Relationships

Several criteria form a hierarchy — satisfying a broader criterion implies narrower ones were also satisfied:

RESPONSE_CODE_COVERAGE
├── POSITIVE_RESPONSE_CODE_COVERAGE
└── ERROR_RESPONSE_CODE_COVERAGE

NO_UNDOCUMENTED_RESPONSE_CODES
├── NO_UNDOCUMENTED_POSITIVE_RESPONSE_CODES
└── NO_UNDOCUMENTED_ERROR_RESPONSE_CODES

PARAMETER_COVERAGE
├── REQUIRED_PARAMETER_COVERAGE
└── OPTIONAL_PARAMETER_COVERAGE

HTTP_METHOD_COVERAGE
└── PATH_COVERAGE

Understanding these relationships helps when composing custom quality gates: requiring a parent criterion already implies its subsets.