Schema Include Deprecation Policy

schema-include-deprecation-policy

info experience: versioningexperience: governance spec: apisspec: properties topic: deprecation

Has Deprecation Policy

This property ensures that an API has a deprecation policy shared as part of the contract, communicating what the lifespan of APIs are, each individual version, as well as communication around the deprecation of APIs.

Rule definition

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

schema-include-deprecation-policy:
  title: Schema Include Deprecation Policy
  reference: https://spotlight-rules.com/spec/rules/apis-json/schema-include-deprecation-policy/
  description: This property ensures that an API has a deprecation policy shared
    as part of the contract, communicating what the lifespan of APIs are, each
    individual version, as well as communication around the deprecation of APIs.
  message: Has Deprecation Policy
  severity: info
  given:
    - $.apis.*.properties.*
    - $.common.*
  then:
    - field: type
      function: pattern
      functionOptions:
        notMatch: \b(api-deprecation-policy|deprecation-policy|Deprecation|Deprecation
          Policy|DeprecationPolicy)\b
  tags:
    - format:apis-json
    - spec:apis
    - spec:properties
    - topic:deprecation
    - experience:versioning
    - experience:governance
  prompt: "You are editing an APIs.json document to satisfy the Spotlight API
    governance rule 'schema-include-deprecation-policy' (Schema Include
    Deprecation Policy). Requirement: This property ensures that an API has a
    deprecation policy shared as part of the contract, communicating what the
    lifespan of APIs are, each individual version, as well as communication
    around the deprecation of APIs. To fix: Ensure `type` does NOT match the
    regular expression
    `\\b(api-deprecation-policy|deprecation-policy|Deprecation|Deprecation
    Policy|DeprecationPolicy)\\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 'schema-include-deprecation-policy' (Schema Include Deprecation Policy). Requirement: This property ensures that an API has a deprecation policy shared as part of the contract, communicating what the lifespan of APIs are, each individual version, as well as communication around the deprecation of APIs. To fix: Ensure `type` does NOT match the regular expression `\b(api-deprecation-policy|deprecation-policy|Deprecation|Deprecation Policy|DeprecationPolicy)\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/schema-include-deprecation-policy/