SSL/TLS · API Governance Rules

SSL/TLS API Rules

Spectral linting rules defining API design standards and conventions for SSL/TLS.

7 Rules error 3 warn 4
View Rules File View on GitHub

Rule Categories

ssl

Rules

warn
ssl-tls-operation-summary-title-case
All operation summaries must use Title Case
$.paths[*][*].summary
warn
ssl-tls-operationid-camel-case
operationId must use camelCase
$.paths[*][*].operationId
error
ssl-tls-tags-required
Every operation must have at least one tag
$.paths[*][*]
warn
ssl-tls-description-required
All operations must have a description
$.paths[*][*].description
error
ssl-tls-certificates-require-auth
Certificate management operations must require authentication
$.paths[*/certificates*][post,delete]
warn
ssl-tls-date-fields-format
Date fields in schemas should use date-time format
$.components.schemas[*].properties[?(@.name =~ /(At|Before|After|Date|Expiry)$/)]
error
ssl-tls-response-success-defined
All operations must define at least one success response
$.paths[*][*].responses

Spectral Ruleset

Raw ↑
extends: spectral:oas
rules:
  ssl-tls-operation-summary-title-case:
    description: All operation summaries must use Title Case
    severity: warn
    given: "$.paths[*][*].summary"
    then:
      function: pattern
      functionOptions:
        match: "^([A-Z][a-z0-9]*\\s?)+$"

  ssl-tls-operationid-camel-case:
    description: operationId must use camelCase
    severity: warn
    given: "$.paths[*][*].operationId"
    then:
      function: pattern
      functionOptions:
        match: "^[a-z][a-zA-Z0-9]*$"

  ssl-tls-tags-required:
    description: Every operation must have at least one tag
    severity: error
    given: "$.paths[*][*]"
    then:
      field: tags
      function: truthy

  ssl-tls-description-required:
    description: All operations must have a description
    severity: warn
    given: "$.paths[*][*].description"
    then:
      function: truthy

  ssl-tls-certificates-require-auth:
    description: Certificate management operations must require authentication
    severity: error
    given: "$.paths[*/certificates*][post,delete]"
    then:
      field: security
      function: truthy

  ssl-tls-date-fields-format:
    description: Date fields in schemas should use date-time format
    severity: warn
    given: "$.components.schemas[*].properties[?(@.name =~ /(At|Before|After|Date|Expiry)$/)]"
    then:
      field: format
      function: enumeration
      functionOptions:
        values:
          - date
          - date-time

  ssl-tls-response-success-defined:
    description: All operations must define at least one success response
    severity: error
    given: "$.paths[*][*].responses"
    then:
      function: truthy