<h1 id="dr-amit-puri-amitpuri---api-versioning--deprecation-policy">Dr. Amit Puri (amitpuri) - API Versioning &amp; Deprecation Policy</h1>

<blockquote>
  <p>Official versioning lifecycle, deprecation signaling standards, and timeline guarantees for Dr. Amit Puri’s REST API and agentic interfaces.</p>
</blockquote>

<h2 id="1-versioning-strategy">1. Versioning Strategy</h2>
<ul>
  <li><strong>Active Stable Version</strong>: <code class="language-plaintext highlighter-rouge">v1</code></li>
  <li><strong>Path Versioning</strong>: Endpoints are served under <code class="language-plaintext highlighter-rouge">https://www.amitpuri.com/api/v1/*</code> and aliased at <code class="language-plaintext highlighter-rouge">https://www.amitpuri.com/api/*</code>.</li>
  <li><strong>Header Versioning</strong>: All API responses return <code class="language-plaintext highlighter-rouge">API-Version: v1</code> and <code class="language-plaintext highlighter-rouge">X-API-Version: 1.0.0</code>. Clients may specify <code class="language-plaintext highlighter-rouge">API-Version: v1</code> in request headers.</li>
</ul>

<h2 id="2-deprecation-signaling">2. Deprecation Signaling</h2>
<p>When an endpoint or API version is marked for deprecation, responses will include standard RFC headers:</p>
<ul>
  <li><strong>Sunset Header (RFC 8594)</strong>: Indicates the date of endpoint retirement (e.g. <code class="language-plaintext highlighter-rouge">Sunset: Wed, 11 Nov 2026 00:00:00 GMT</code>).</li>
  <li><strong>Deprecation Header (RFC 9745)</strong>: Indicates the date when deprecation became effective (e.g. <code class="language-plaintext highlighter-rouge">Deprecation: @1762819200</code>).</li>
  <li><strong>Link Header (RFC 8288)</strong>: Links to documentation for successor endpoints (<code class="language-plaintext highlighter-rouge">rel="deprecation"</code>).</li>
</ul>

<h2 id="3-timeline-guarantees">3. Timeline Guarantees</h2>
<ul>
  <li><strong>Minimum Notice Window</strong>: A minimum of <strong>90 days</strong> notice is provided before any deprecated API is removed.</li>
  <li><strong>Breaking Changes</strong>: Breaking changes will always result in a new major version path (e.g. <code class="language-plaintext highlighter-rouge">/api/v2/*</code>) leaving existing versions functional through their sunset date.</li>
</ul>

<h2 id="4-machine-readable-endpoints">4. Machine-Readable Endpoints</h2>
<ul>
  <li><strong>JSON Policy</strong>: https://www.amitpuri.com/api/deprecation.json</li>
  <li><strong>Versioned JSON Policy</strong>: https://www.amitpuri.com/api/v1/deprecation.json</li>
  <li><strong>OpenAPI Specification</strong>: https://www.amitpuri.com/openapi.json</li>
  <li><strong>Developer Portal</strong>: https://www.amitpuri.com/developers</li>
</ul>
