This document provides a comprehensive overview of all Spectral lint rules configured for the Seismic API specifications.
| Rule Name | Description | Severity | Category |
|---|
openapi-version-3_0_x-only | Only OpenAPI version 3.0.x is allowed | error | Version Control |
| Rule Name | Description | Severity | Category |
|---|
path-parameter-name-camel-case | Path parameters must follow camelCase | error | Naming |
header-parameters-valid-case | Header parameters must be kebab-case or PascalCase | error | Naming |
properties-must-avoid-snake-case | Avoid snake_case in properties | error | Naming |
quary-parameter-name-camel-case | Query parameters must follow camelCase with dotted notation allowed | error | Naming |
paths-camelCase-case | All paths must follow camelCase | error | Naming |
path-query-parameters-camelCase-alphanumeric | Path and query parameters must follow camelCase | error | Naming |
properties-camelCase-alphanumeric | All schema properties must follow camelCase | error | Naming |
| Rule Name | Description | Severity | Category |
|---|
Array-parameter-must-define-items-schema | All array parameters must define the items schema | error | Schema |
oas3-parameter-description | Parameters must have descriptions | true | Schema |
require-example-for-required-parameters | All required parameters must provide an example value | error | Examples |
properties-must-include-description | Properties must have "description" | error | Documentation |
parameters-must-have-detailed-description | Parameters must have detailed description (2+ words) | error | Documentation |
optional-parameters-must-have-default-value | Optional parameters must have a default value | error | Schema |
| Rule Name | Description | Severity | Category |
|---|
operation-operationId | Operation operationId requirement (disabled) | false | Operations |
operation-operationId-error | Operation must have "operationId" | error | Operations |
operations-must-include-description | Operations must have "description" | error | Documentation |
operations-must-include-summary | Operations must have "summary" | error | Documentation |
operation-must-have-valid-summary | Operation summary must be 2-15 words | error | Documentation |
operation-must-have-valid-description | Operation description must have at least 20 words | error | Documentation |
summary-and-description-should-not-be-same | Summary and description must not be identical | error | Documentation |
operation-tags-required | Each operation must include at least one tag | error | Operations |
deprecated-operations-must-have-seismic-eol-date | Deprecated operations must include 'x-seismic-eol-date' | error | Lifecycle |
| Rule Name | Description | Severity | Category |
|---|
operation-x-seismic-eol-date-format | x-seismic-eol-date must use MM/dd/yyyy format | error | Extensions |
operation-x-seismic-rate-limit-allowed-values | x-seismic-rate-limit must be 1, 1.5, 2, 2.5, or 3 | error | Extensions |
operation-x-seismic-release-allowed-values | x-seismic-release must be GA or EA | error | Extensions |
operation-must-have-x-seismic-scopes | Operation must have "x-seismic-scopes" defined | error | Extensions |
operation-x-seismic-scopes-scope-starts-with-seismic | x-seismic-scopes must start with "seismic" | error | Extensions |
| Rule Name | Description | Severity | Category |
|---|
request-GET-no-body | GET requests must not accept body parameters | error | HTTP Methods |
no-array-top-level-responses | API responses must not be top-level arrays | error | Responses |
request-body-must-have-detailed-description | Request body must have 2+ word description | error | Documentation |
example-in-req-payload | Request body schemas must include examples | error | Examples |
example-in-each-response | Success responses (2xx) must include examples | error | Examples |
| Rule Name | Description | Severity | Category |
|---|
no-tenant-id-path-query-parameters | tenantId must not be in path/query parameters | error | Security |
parameter-must-not-contain-tenantId | tenantId must not be in properties | error | Security |
| Rule Name | Description | Severity | Category |
|---|
path-must-include-version | Path must include version (e.g., /v1/) | error | Versioning |
| Rule Name | Description | Severity | Category |
|---|
parameters-must-not-be-unused | Parameters must not be unused in path | error | Quality |
| Category | Total Rules | Error Level | Warning Level |
|---|
| Version Control | 1 | 1 | 0 |
| Naming | 7 | 7 | 0 |
| Schema | 3 | 3 | 0 |
| Operations | 7 | 6 | 0 |
| Documentation | 6 | 6 | 0 |
| Extensions | 5 | 5 | 0 |
| HTTP Methods | 1 | 1 | 0 |
| Responses | 1 | 1 | 0 |
| Examples | 3 | 3 | 0 |
| Security | 2 | 2 | 0 |
| Versioning | 1 | 1 | 0 |
| Quality | 1 | 1 | 0 |
| TOTAL | 38 | 37 | 0 |
| Function Name | Purpose |
|---|
wordsLengthCheck | Validates word count in descriptions and summaries |
summaryNotIdenticalToDescription | Ensures summary and description are different |
noUnusedParameters | Validates that all parameters are used in paths |
The following files have specific rule overrides (rules disabled for legacy compatibility):
- Integration.yaml
- Livedoc Express.yaml
- Scim.yaml
- Link Delivery.yaml
- Approval Workflow.yaml
- LiveDoc.yaml
- Workspace.yaml
- LiveForm.yaml
- Search.yaml
- Intelligence.yaml
- Custom Schema.yaml
- Custom Properties.yaml
- Digital Sales Room.yaml
- Document Generator.yaml
- Document Generator Express.yaml
- Planner.yaml
- Programs.yaml
- Guided Assembly.yaml
- Documentation Tests.yaml
- Email.yaml
- Engagement Permission.yaml
- Lessons.yaml
- Content Manager.yaml
- Webhooks v2.yaml
- Channel.yaml
- Variable.yaml
- Activity Logging.yaml
- Content Augmentation.yaml
- Custom Content.yml
- Engagement.yaml
- Meeting.yaml
- Presentation Builder.yaml
- Most rules are set to
error severity level to ensure strict compliance
- The configuration extends
spectral:oas for base OpenAPI validation
- Custom functions are defined in the
./functions directory
- Rule overrides are used for legacy API specifications to maintain backward compatibility