Asyncapi Info Contact Properties

asyncapi-info-contact-properties · built-in

info experience: documentationexperience: discoverability spec: info

Contact object must have "name", "url" and "email".

Contact object must have “name”, “url” and “email”.

Rule definition

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

asyncapi-info-contact-properties:
  title: Asyncapi Info Contact Properties
  reference: https://spotlight-rules.com/spec/rules/asyncapi/asyncapi-info-contact-properties/
  description: Contact object must have "name", "url" and "email".
  message: Contact object must have "name", "url" and "email".
  severity: info
  given: $.info.contact
  then:
    - field: name
      function: truthy
    - field: url
      function: truthy
    - field: email
      function: truthy
  tags:
    - format:asyncapi
    - spec:info
    - experience:documentation
    - experience:discoverability
  prompt: "You are editing an AsyncAPI document to satisfy the Spotlight API
    governance rule 'asyncapi-info-contact-properties' (Asyncapi Info Contact
    Properties). Requirement: Contact object must have \"name\", \"url\" and
    \"email\". To fix: Ensure `name` is present and non-empty at each matching
    location. Also: Ensure `url` is present and non-empty at each matching
    location. Also: Ensure `email` is present and non-empty at each matching
    location. This rule is evaluated at the JSONPath `$.info.contact` — 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-info-contact-properties' (Asyncapi Info Contact Properties). Requirement: Contact object must have "name", "url" and "email". To fix: Ensure `name` is present and non-empty at each matching location. Also: Ensure `url` is present and non-empty at each matching location. Also: Ensure `email` is present and non-empty at each matching location. This rule is evaluated at the JSONPath `$.info.contact` — 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)$.info.contact
Severityinfo — educational by default; raise to warn/error to enforce
Referencehttps://spotlight-rules.com/spec/rules/asyncapi/asyncapi-info-contact-properties/