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.
| Artifact | APIs.json |
|---|---|
| Applies at (given) | $.apis.*.properties.* | $.common.* |
| Severity | info — educational by default; raise to warn/error to enforce |
| Reference | https://spotlight-rules.com/spec/rules/apis-json/api-property-require-terms-of-service/ |