{
  "policy": "Dzaleka Online Services API deprecation policy",
  "url": "https://services.dzaleka.com/api/deprecation-policy",
  "versioning": {
    "strategy": "header",
    "header": "API-Version",
    "description": "Send an optional API-Version request header to pin a version. The serving version is echoed on every response. Breaking changes ship under a new major version."
  },
  "notice": {
    "minimumPeriod": "P6M",
    "minimumMonths": 6,
    "description": "An endpoint scheduled for removal is announced at least six months before it stops responding."
  },
  "signals": [
    {
      "header": "Deprecation",
      "specification": "RFC 9745",
      "description": "Present on a deprecated endpoint. An IMF-fixdate giving the moment the endpoint became deprecated."
    },
    {
      "header": "Sunset",
      "specification": "RFC 8594",
      "description": "Present once a removal date is set. An IMF-fixdate giving the moment the endpoint stops responding."
    },
    {
      "header": "Link",
      "specification": "RFC 8288",
      "description": "Carries rel=\"deprecation\" and rel=\"sunset\" pointing at this policy, and rel=\"successor-version\" pointing at the replacement endpoint when one exists."
    }
  ],
  "guidance": [
    "Check for a Deprecation header on every response. Its presence means the endpoint has a replacement or a removal date.",
    "If a Sunset header is present, migrate before that date. Requests after it will fail.",
    "Follow the successor-version link when one is offered.",
    "Nothing is removed without a Deprecation header and at least six months of notice."
  ],
  "deprecated": [
    {
      "path": "/api/analytics/pageviews",
      "deprecatedAt": "2026-08-26T00:00:00Z",
      "deprecationHeader": "Wed, 26 Aug 2026 00:00:00 GMT",
      "sunsetAt": "2027-03-01T00:00:00Z",
      "sunsetHeader": "Mon, 01 Mar 2027 00:00:00 GMT",
      "replacement": null,
      "reason": "The endpoint returns a hardcoded zero and never reported real data. Pageview figures come from the analytics the site loads in its layout, not from this route. It is being withdrawn rather than fixed because nothing consumes it."
    }
  ],
  "checkedAt": "2026-09-09T03:41:50.272Z"
}