API Property Require Terms Of Service

api-property-require-terms-of-service

info experience: governanceexperience: documentation spec: apisspec: properties

Has an API Terms of Service

This property ensures that an API has a reference to a terms of service, covering the legal side of using an API.

Rule definition

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

api-property-require-terms-of-service:
  title: API Property Require Terms Of Service
  reference: https://spotlight-rules.com/spec/rules/apis-json/api-property-require-terms-of-service/
  description: This property ensures that an API has a reference to a terms of
    service, covering the legal side of using an API.
  message: Has an API Terms of Service
  severity: info
  given:
    - $.apis.*.properties.*
    - $.common.*
  then:
    - field: type
      function: pattern
      functionOptions:
        notMatch: \b(api-terms-of-service|terms-of-service|Terms of
          Service|TOS|TermsOfService)\b
  tags:
    - format:apis-json
    - spec:apis
    - spec:properties
    - experience:governance
    - experience:documentation
  prompt: "You are editing an APIs.json document to satisfy the Spotlight API
    governance rule 'api-property-require-terms-of-service' (API Property
    Require Terms Of Service). Requirement: This property ensures that an API
    has a reference to a terms of service, covering the legal side of using an
    API. To fix: Ensure `type` does NOT match the regular expression
    `\\b(api-terms-of-service|terms-of-service|Terms of
    Service|TOS|TermsOfService)\\b`; rename or rewrite any value that does. This
    rule is evaluated at the JSONPath `$.apis.*.properties.* | $.common.*` —
    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 APIs.json. 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 APIs.json document to satisfy the Spotlight API governance rule 'api-property-require-terms-of-service' (API Property Require Terms Of Service). Requirement: This property ensures that an API has a reference to a terms of service, covering the legal side of using an API. To fix: Ensure `type` does NOT match the regular expression `\b(api-terms-of-service|terms-of-service|Terms of Service|TOS|TermsOfService)\b`; rename or rewrite any value that does. This rule is evaluated at the JSONPath `$.apis.*.properties.* | $.common.*` — 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 APIs.json. Return only the complete corrected document, with no commentary.
ArtifactAPIs.json
Applies at (given)$.apis.*.properties.* | $.common.*
Severityinfo — educational by default; raise to warn/error to enforce
Referencehttps://spotlight-rules.com/spec/rules/apis-json/api-property-require-terms-of-service/