Asyncapi 3 Channel Servers

asyncapi-3-channel-servers · built-in

info experience: reliabilityexperience: consistency spec: channels

Channel servers must be defined in the "servers" object.

Channel servers must be defined in the “servers” object.

Rule definition

The full Spotlight rule — drop it into a ruleset (.spotlight.yaml / .spectral.yaml) and run it with any Spotlight tool.

asyncapi-3-channel-servers:
  title: Asyncapi 3 Channel Servers
  reference: https://spotlight-rules.com/spec/rules/asyncapi/asyncapi-3-channel-servers/
  description: Channel servers must be defined in the "servers" object.
  message: Channel servers must be defined in the "servers" object.
  severity: info
  given: $.channels.*
  then:
    field: $.servers.*.$ref
    function: pattern
    functionOptions:
      match: "#\\/servers\\/"
  tags:
    - format:asyncapi
    - spec:channels
    - experience:reliability
    - experience:consistency
  prompt: "You are editing an AsyncAPI document to satisfy the Spotlight API
    governance rule 'asyncapi-3-channel-servers' (Asyncapi 3 Channel Servers).
    Requirement: Channel servers must be defined in the \"servers\" object. To
    fix: Ensure `$.servers.*.$ref` matches the regular expression
    `#\\/servers\\/`; rewrite any value that does not. This rule is evaluated at
    the JSONPath `$.channels.*` — inspect every location it matches and correct
    only what violates the rule. Make the smallest change that satisfies the
    rule, leave all unrelated content, key order, comments, and formatting
    unchanged, and keep the document valid AsyncAPI. Return only the complete
    corrected document, with no commentary."
AI fix prompt — send this to Claude, Gemini, or ChatGPT with your artifact to auto-fix this rule
You are editing an AsyncAPI document to satisfy the Spotlight API governance rule 'asyncapi-3-channel-servers' (Asyncapi 3 Channel Servers). Requirement: Channel servers must be defined in the "servers" object. To fix: Ensure `$.servers.*.$ref` matches the regular expression `#\/servers\/`; rewrite any value that does not. This rule is evaluated at the JSONPath `$.channels.*` — inspect every location it matches and correct only what violates the rule. Make the smallest change that satisfies the rule, leave all unrelated content, key order, comments, and formatting unchanged, and keep the document valid AsyncAPI. Return only the complete corrected document, with no commentary.
ArtifactAsyncAPI
Applies at (given)$.channels.*
Severityinfo — educational by default; raise to warn/error to enforce
Referencehttps://spotlight-rules.com/spec/rules/asyncapi/asyncapi-3-channel-servers/