<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rmili-httpapi-deprecation-manifest-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Deprecation Manifest">A Deprecation Manifest for Field-Level Lifecycle Signalling in HTTP APIs</title>
    <seriesInfo name="Internet-Draft" value="draft-rmili-httpapi-deprecation-manifest-00"/>
    <author initials="S." surname="Rmili" fullname="Sami Rmili">
      <organization>Wiremind</organization>
      <address>
        <email>srmili@wiremind.io</email>
      </address>
    </author>
    <date year="2026" month="June" day="26"/>
    <area>Web and Internet Transport</area>
    <workgroup>HTTPAPI</workgroup>
    <keyword>HTTP</keyword>
    <keyword>deprecation</keyword>
    <keyword>sunset</keyword>
    <keyword>lifecycle</keyword>
    <keyword>JSON</keyword>
    <abstract>
      <?line 54?>

<t>The Deprecation and Sunset HTTP response header fields, defined in RFC 9745
and RFC 8594 respectively, let a server signal that a resource, identified
by its URI, has been or will be deprecated and when it will be removed. They
operate at the granularity of a resource and cannot describe the lifecycle
of an individual member within a request or response representation.</t>
      <t>This document defines the "application/deprecations+json" media type, a
machine-readable Deprecation Manifest in which an API operator declares
dated deprecation and sunset timelines for specific members of request and
response representations. The manifest is discovered through the existing
"deprecation" link relation type and is decoupled from any API description
or schema, allowing each deployment to publish its own timeline without
changing the wire behaviour of the API.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rmili-httpapi-deprecation-manifest/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTPAPI Working Group mailing list (<eref target="mailto:httpapi@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/httpapi/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/httpapi/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/sarmili/deprecation-manifest"/>.</t>
    </note>
  </front>
  <middle>
    <?line 70?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>HTTP APIs evolve. A common evolution is to introduce a new representation
member that replaces an older one, while continuing to accept or return the
older member for a transition period. The operator of such an API needs to
communicate, to the consumers of the API, that the older member is on its
way out and the date after which it will no longer be supported.</t>
      <t>The Deprecation HTTP response header field <xref target="DEPRECATION"/> and the Sunset
HTTP response header field <xref target="SUNSET"/> address this need at the granularity
of a <em>resource</em>: they describe the resource identified by the request URI.
They do not, and by design cannot, name an individual member inside a JSON
request or response body. HTTP header fields describe the message or the
resource, not the substructure of a representation.</t>
      <t>At the same time, the mechanisms that <em>can</em> name an individual member,
namely the <tt>deprecated</tt> keyword of the OpenAPI Specification <xref target="OPENAPI"/> and
of JSON Schema <xref target="JSONSCHEMA"/>, are design-time annotations baked into a
single shared description. They carry no date, and they describe the contract
rather than a particular deployment of it. An operator who supports a
shared, multi-party API specification cannot use them to express "on <em>my</em>
deployment, this member will stop being accepted on this date".</t>
      <t>No existing mechanism combines all three properties that this situation
requires:</t>
      <ol spacing="normal" type="1"><li>
          <t>member-level granularity (which field, not just which resource);</t>
        </li>
        <li>
          <t>dated lifecycle (a deprecation date and a sunset date); and</t>
        </li>
        <li>
          <t>per-deployment, runtime discoverability (decoupled from the schema).</t>
        </li>
      </ol>
      <t>This document fills that gap with a Deprecation Manifest: a JSON document,
served with the "application/deprecations+json" media type, in which an
operator declares dated deprecation and sunset information for individual
members of request and response representations. The manifest reuses the
date semantics of <xref target="DEPRECATION"/> and <xref target="SUNSET"/> and is discovered through
the "deprecation" link relation type registered by <xref target="DEPRECATION"/>.</t>
      <t>The manifest is purely informational. It does not alter the behaviour of
any resource, and conformance to it imposes no requirement on a server to
accept or reject any particular member (see <xref target="behaviour"/>).</t>
      <section anchor="notational-conventions">
        <name>Notational Conventions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>This document uses the term "member" as defined by <xref target="JSON"/>: a name/value
pair within a JSON object. The terms "consumer" and "operator" refer,
respectively, to a client of an HTTP API and to the party that operates the
server.</t>
      </section>
    </section>
    <section anchor="the-deprecation-manifest">
      <name>The Deprecation Manifest</name>
      <t>A Deprecation Manifest is a JSON <xref target="JSON"/> document whose media type is
"application/deprecations+json" (<xref target="media-type"/>). Its root is a JSON object
with the following members:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Member</th>
            <th align="left">Type</th>
            <th align="left">Required</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>deprecations</tt></td>
            <td align="left">array</td>
            <td align="left">yes</td>
            <td align="left">An array of Deprecation Entry objects (<xref target="entry"/>).</td>
          </tr>
        </tbody>
      </table>
      <t>A consumer <bcp14>MUST</bcp14> ignore any member it does not recognise. An operator <bcp14>MAY</bcp14>
include additional members; this document does not define their meaning.</t>
      <figure>
        <name>An example Deprecation Manifest</name>
        <sourcecode type="json"><![CDATA[
{
  "deprecations": [
    {
      "target": "POST /offers",
      "direction": "request",
      "selector": "$.tripDetails.legacyFare",
      "replacedBy": "$.tripDetails.fare",
      "deprecation": "2026-01-01",
      "sunset": "2026-12-31",
      "info": "https://api.example/migration/legacy-fare"
    }
  ]
}
]]></sourcecode>
      </figure>
      <section anchor="entry">
        <name>The Deprecation Entry Object</name>
        <t>Each element of the <tt>deprecations</tt> array is a Deprecation Entry: a JSON
object describing the lifecycle of a single member, identified by a selector
(<xref target="selector"/>), within the representations of a single target (<xref target="target"/>).</t>
        <table>
          <thead>
            <tr>
              <th align="left">Member</th>
              <th align="left">Type</th>
              <th align="left">Required</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>target</tt></td>
              <td align="left">string</td>
              <td align="left">yes</td>
              <td align="left">Identifies the operation or resource the entry applies to (<xref target="target"/>).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>direction</tt></td>
              <td align="left">string</td>
              <td align="left">yes</td>
              <td align="left">
                <tt>"request"</tt> or <tt>"response"</tt> (<xref target="direction"/>).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>selector</tt></td>
              <td align="left">string</td>
              <td align="left">yes</td>
              <td align="left">Locates the deprecated member (<xref target="selector"/>).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>selectorType</tt></td>
              <td align="left">string</td>
              <td align="left">no</td>
              <td align="left">
                <tt>"jsonpath"</tt> (default) or <tt>"jsonpointer"</tt> (<xref target="selector"/>).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>replacedBy</tt></td>
              <td align="left">string</td>
              <td align="left">no</td>
              <td align="left">A selector, of the same <tt>selectorType</tt>, for the replacement member.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>deprecation</tt></td>
              <td align="left">string</td>
              <td align="left">no</td>
              <td align="left">The date the member is or was deprecated (<xref target="dates"/>).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>sunset</tt></td>
              <td align="left">string</td>
              <td align="left">no</td>
              <td align="left">The date after which the member will no longer be supported (<xref target="dates"/>).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>info</tt></td>
              <td align="left">string</td>
              <td align="left">no</td>
              <td align="left">A URI of human-readable documentation about the deprecation.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>description</tt></td>
              <td align="left">string</td>
              <td align="left">no</td>
              <td align="left">A short human-readable explanation.</td>
            </tr>
          </tbody>
        </table>
        <section anchor="target">
          <name>The <tt>target</tt> Member</name>
          <t>The <tt>target</tt> member identifies the operation or resource to which the entry
applies. Its value is a string. When the operation is best identified by an
HTTP method and a path, the value <bcp14>SHOULD</bcp14> be the method (in uppercase)
followed by a single space and a path or path template, for example
<tt>"POST /offers"</tt> or <tt>"GET /offers/{offerId}"</tt>. An operator <bcp14>MAY</bcp14> use any other
stable identifier its consumers can resolve; the meaning of such identifiers
is out of scope for this document.</t>
        </section>
        <section anchor="direction">
          <name>The <tt>direction</tt> Member</name>
          <t>The <tt>direction</tt> member indicates whether the <tt>selector</tt> applies to the
representation a consumer <em>sends</em> in a request (<tt>"request"</tt>) or to the
representation a server <em>returns</em> in a response (<tt>"response"</tt>). A consumer
<bcp14>MUST</bcp14> treat an entry whose <tt>direction</tt> it does not recognise as having no
defined meaning and <bcp14>SHOULD</bcp14> ignore it.</t>
        </section>
        <section anchor="selector">
          <name>The <tt>selector</tt> and <tt>selectorType</tt> Members</name>
          <t>The <tt>selector</tt> member locates the deprecated member within the relevant
representation. The interpretation of <tt>selector</tt> is governed by
<tt>selectorType</tt>:</t>
          <ul spacing="normal">
            <li>
              <t><tt>"jsonpath"</tt> (the default when <tt>selectorType</tt> is absent): <tt>selector</tt> is a
JSONPath expression as defined in <xref target="JSONPATH"/>.</t>
            </li>
            <li>
              <t><tt>"jsonpointer"</tt>: <tt>selector</tt> is a JSON Pointer as defined in
<xref target="JSONPOINTER"/>.</t>
            </li>
          </ul>
          <t>A consumer that does not implement the indicated <tt>selectorType</tt> <bcp14>MUST</bcp14> ignore
the entry. The <tt>replacedBy</tt> member, when present, uses the same
<tt>selectorType</tt> as the entry's <tt>selector</tt>.</t>
          <t>This document defines selectors only for representations whose media type is
JSON <xref target="JSON"/> or a media type using the structured "+json" suffix. Selectors
for other media types are out of scope (<xref target="limitations"/>).</t>
        </section>
        <section anchor="dates">
          <name>The <tt>deprecation</tt> and <tt>sunset</tt> Members</name>
          <t>The <tt>deprecation</tt> member carries the date on which the member is, or was,
deprecated; it <bcp14>MAY</bcp14> be in the past or the future. The <tt>sunset</tt> member carries
the date after which the operator intends to stop supporting the member.
These members reuse, at member granularity, the semantics of the Deprecation
<xref target="DEPRECATION"/> and Sunset <xref target="SUNSET"/> header fields respectively.</t>
          <t>The value of each is a string containing a date, or a date and time,
formatted as a full-date or date-time as defined in <xref target="RFC3339"/>. A consumer
<bcp14>MUST NOT</bcp14> assume that the absence of a <tt>sunset</tt> member implies any particular
removal date.</t>
        </section>
      </section>
    </section>
    <section anchor="discovery">
      <name>Discovery</name>
      <t>A server makes a Deprecation Manifest discoverable by means of the
"deprecation" link relation type registered by <xref target="DEPRECATION"/>. Where
<xref target="DEPRECATION"/> uses that relation to point to human-readable documentation,
this document allows the same relation to point to a machine-readable
manifest, distinguished by its media type.</t>
      <t>A server <bcp14>MAY</bcp14> include, in HTTP <xref target="HTTP"/> responses or in a resource
representation, a link
(<xref target="LINK"/>) with relation type "deprecation" and a <tt>type</tt> target attribute of
"application/deprecations+json" whose target URI is a Deprecation Manifest:</t>
      <sourcecode type="http"><![CDATA[
Link: <https://api.example/.deprecations>; rel="deprecation";
      type="application/deprecations+json"
]]></sourcecode>
      <t>A consumer that retrieves the linked manifest can determine, for the members
it sends or receives, whether any is deprecated and when it is scheduled to
be sunset, without parsing per-response signals.</t>
      <t>A server <bcp14>MAY</bcp14> also make a manifest available at a stable, operator-chosen URI
advertised out of band. The definition of a well-known URI <xref target="RFC8615"/> for
this purpose is left to future work.</t>
      <t>Publishing API metadata as a document that is discovered through a link
relation or a well-known URI is an established pattern; the api-catalog
well-known URI <xref target="APICATALOG"/> is one example.</t>
    </section>
    <section anchor="relationship">
      <name>Relationship to the Deprecation and Sunset Header Fields</name>
      <t>For deprecation at the granularity of a resource, the Deprecation
<xref target="DEPRECATION"/> and Sunset <xref target="SUNSET"/> header fields remain the mechanism of
choice. They are conveyed in band, on a response the consumer is already
retrieving, and require no additional request. This document does not change
or supersede them.</t>
      <t>The Deprecation Manifest addresses the case those header fields cannot
express: the deprecation of an individual member within a representation. An
entry <bcp14>MAY</bcp14> omit its <tt>selector</tt> to describe a whole resource, but this is a
convenience that lets an operator list resource-level and member-level
deprecations in one place; it is not intended to replace the header fields.
Where a resource is described both by a header field and by a manifest
entry, the two are expected to convey consistent dates.</t>
    </section>
    <section anchor="behaviour">
      <name>Resource Behaviour</name>
      <t>Consistent with <xref target="DEPRECATION"/>, the presence of an entry in a Deprecation
Manifest does not change the behaviour of any resource. A member that is
listed as deprecated, and even one whose <tt>sunset</tt> date has passed, may still
be accepted or returned by the server. The manifest expresses the operator's
<em>intent</em>; it is advisory metadata and imposes no protocol-level requirement
on either party. Consumers are advised to migrate away from a deprecated
member before its <tt>sunset</tt> date.</t>
    </section>
    <section anchor="limitations">
      <name>Limitations</name>
      <t>The scope of this document is constrained as follows:</t>
      <ul spacing="normal">
        <li>
          <t>It defines a <em>proactive</em>, out-of-band declaration. It does not define an
<em>in-band</em> signal that names, within a specific response, a deprecated
member that the consumer used in the corresponding request. The Deprecation
and Sunset header fields describe the resource, not a body member, and
Problem Details <xref target="PROBLEM"/> is defined for error conditions, whereas an
accepted-but-deprecated member is not an error. In-band member-level
signalling is left to future work or to ecosystem-specific conventions.</t>
        </li>
        <li>
          <t>It defines selectors for JSON representations only.</t>
        </li>
        <li>
          <t>It does not provide a means to authenticate the manifest beyond the
transport-level protections discussed in <xref target="security"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>A Deprecation Manifest is a hint and <bcp14>SHOULD</bcp14> be treated as such; see the
corresponding considerations in <xref target="DEPRECATION"/>.</t>
      <t>A manifest, or a "deprecation" link advertising one, that is obtained over an
unsecured channel may be forged or altered by an intermediary, for example to
suppress a sunset date or to point a consumer at misleading documentation.
Consumers <bcp14>SHOULD</bcp14> obtain manifests over an authenticated, integrity-protected
channel and <bcp14>SHOULD</bcp14> verify that the <tt>info</tt> and manifest URIs belong to the
expected operator.</t>
      <t>Because acting on a future-dated <tt>sunset</tt> automatically (for example by
disabling a code path) can cause a consumer to stop sending a member earlier
than necessary, consumers <bcp14>SHOULD</bcp14> surface such dates to their developers
rather than enforce them without review.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="media-type">
        <name>The "application/deprecations+json" Media Type</name>
        <t>IANA is requested to register the following media type in the "Media Types"
registry, per <xref target="RFC6838"/>.</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>deprecations+json</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary; the content is a JSON <xref target="JSON"/> document encoded in UTF-8.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of RFC XXXX.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>See RFC XXXX.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>RFC XXXX</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>HTTP API clients and servers that exchange member-level deprecation
information.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>As specified for the "+json" suffix in <xref target="RFC6839"/>.</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <dl>
              <dt>Deprecated alias names for this type:</dt>
              <dd>N/A</dd>
              <dt>Magic number(s):</dt>
              <dd>N/A</dd>
              <dt>File extension(s):</dt>
              <dd>N/A</dd>
              <dt>Macintosh file type code(s):</dt>
              <dd>N/A</dd>
            </dl>
          </dd>
          <dt>Person and email address to contact for further information:</dt>
          <dd>
            <t>Sami Rmili (srmili@wiremind.io)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>Sami Rmili</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="LINK">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="DEPRECATION">
          <front>
            <title>The Deprecation HTTP Response Header Field</title>
            <author fullname="S. Dalal" initials="S." surname="Dalal"/>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>The Deprecation HTTP response header field is used to signal to consumers of a resource (identified by a URI) that the resource will be or has been deprecated. Additionally, the deprecation link relation can be used to link to a resource that provides further information about planned or existing deprecation. It may also provide ways in which client application developers can best manage deprecation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9745"/>
          <seriesInfo name="DOI" value="10.17487/RFC9745"/>
        </reference>
        <reference anchor="JSONPATH">
          <front>
            <title>JSONPath: Query Expressions for JSON</title>
            <author fullname="S. Gössner" initials="S." role="editor" surname="Gössner"/>
            <author fullname="G. Normington" initials="G." role="editor" surname="Normington"/>
            <author fullname="C. Bormann" initials="C." role="editor" surname="Bormann"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>JSONPath defines a string syntax for selecting and extracting JSON (RFC 8259) values from within a given JSON value.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9535"/>
          <seriesInfo name="DOI" value="10.17487/RFC9535"/>
        </reference>
        <reference anchor="JSONPOINTER">
          <front>
            <title>JavaScript Object Notation (JSON) Pointer</title>
            <author fullname="P. Bryan" initials="P." role="editor" surname="Bryan"/>
            <author fullname="K. Zyp" initials="K." surname="Zyp"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>JSON Pointer defines a string syntax for identifying a specific value within a JavaScript Object Notation (JSON) document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6901"/>
          <seriesInfo name="DOI" value="10.17487/RFC6901"/>
        </reference>
        <reference anchor="JSON">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC6839">
          <front>
            <title>Additional Media Type Structured Syntax Suffixes</title>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>A content media type name sometimes includes partitioned meta- information distinguished by a structured syntax to permit noting an attribute of the media as a suffix to the name. This document defines several structured syntax suffixes for use with media type registrations. In particular, it defines and registers the "+json", "+ber", "+der", "+fastinfoset", "+wbxml" and "+zip" structured syntax suffixes, and provides a media type structured syntax suffix registration form for the "+xml" structured syntax suffix. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6839"/>
          <seriesInfo name="DOI" value="10.17487/RFC6839"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="SUNSET">
          <front>
            <title>The Sunset HTTP Header Field</title>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This specification defines the Sunset HTTP response header field, which indicates that a URI is likely to become unresponsive at a specified point in the future. It also defines a sunset link relation type that allows linking to resources providing information about an upcoming resource or service sunset.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8594"/>
          <seriesInfo name="DOI" value="10.17487/RFC8594"/>
        </reference>
        <reference anchor="PROBLEM">
          <front>
            <title>Problem Details for HTTP APIs</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <author fullname="S. Dalal" initials="S." surname="Dalal"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document defines a "problem detail" to carry machine-readable details of errors in HTTP response content to avoid the need to define new error response formats for HTTP APIs.</t>
              <t>This document obsoletes RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9457"/>
          <seriesInfo name="DOI" value="10.17487/RFC9457"/>
        </reference>
        <reference anchor="APICATALOG">
          <front>
            <title>api-catalog: A Well-Known URI and Link Relation to Help Discovery of APIs</title>
            <author fullname="K. Smith" initials="K." surname="Smith"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>This document defines the "api-catalog" well-known URI and link relation. It is intended to facilitate automated discovery and usage of published Application Programming Interfaces (APIs). A request to the api-catalog resource will return a document providing information about, and links to, the Publisher's APIs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9727"/>
          <seriesInfo name="DOI" value="10.17487/RFC9727"/>
        </reference>
        <reference anchor="OPENAPI" target="https://spec.openapis.org/oas/v3.1.0">
          <front>
            <title>OpenAPI Specification v3.1.0</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="February"/>
          </front>
        </reference>
        <reference anchor="JSONSCHEMA" target="https://json-schema.org/draft/2020-12/json-schema-core">
          <front>
            <title>JSON Schema: A Media Type for Describing JSON Documents</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="June"/>
          </front>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
      </references>
    </references>
    <?line 387?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This work was inspired by the Deprecation <xref target="DEPRECATION"/> and Sunset
<xref target="SUNSET"/> HTTP header fields and by the practical needs of operators of
multi-party HTTP API specifications.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61b/XLbRpL/f55ijr6qtXUk9WE7sWnHWcWSE+3Jks6SK7eV
Sp1AYEgiBgEuBpDMpZVnuWe5J7tfd88AA5KSs1VRpWIQwMz09MevP6YxGAxU
XCRpPh3pupoMXqgqrTIz0of6yCxKE0dVWuT6fZSnE2MrPSlK/S41WTI4NTcm
06e4HS/jzOjLdJpHWYaZdJrrn66uLvThxYlV0XhcmpvR1ulUUsR5NMdySRlN
qkE5T7N0MKuqRbRIB0k7YjB3IwZ7ewq3zLQolyNtq0TZejxPrcVLV8sFZjo5
vnqn0kU50lVZ2+pgb+/l3oGKShON9M9mrKM80Sd5ZcrcVPqqjHK7KMpK3Rbl
p2lZ1IsR0w7S1SezxN1kpLQe8E2+CKji37bOran4MvPM4F9/uzw/U7bCev8T
ZUUO0pbGqkU60r9URdzX+F+aJyav+tqCgtJMLK6Wc3dRlWmMR3Exn+Md3Elz
MNf8qm5MXhsiao1crStmwM/YCUnhR3qMu/MozUbaMfWvqakmw6Kc4kFpFoU8
sKPd3WlazerxEOvt2ogFsbtNACqqq1lRClPS3I705VB/oNdxR2uR5mU0T4Ob
WA6j/8kTgb60NHPsnB8Zoc7ygn+9dY+GaaHyopxjxA1vlfY40h/evX25v7+H
36cnZ//Jv18cvHiB30fHFx+O3x5enZyfyWvfPnuO2ySCi8Orn+Te86fNvfOT
s6vjD3z7m5d7++62m/H5S/zG1cH+/suRXL7Y//aZu3z69Km/+82Lpy/aS9xN
80lI9eXHs8vjK5n1+ctnuHPx4fyH0+P3Qs+z59/iFkQHwg9Pz390lB/Q3fOL
4zM8GTGTnEn2zhcmx019uTBxOkmdMd08He4P93ryZlROTdUK1eLNYYFhEL0l
se8Wkd2VETwggS2N9MHewf4AViJsuHz70/H7w+7SdF9fxjPIi7DhvUnSSJPB
MSIcGRuX6Zi0jl88KuKatXY7Vb9ZKJTlyZgmNv5dELE32D8Inw7iojRdOg8G
e98oNRgMdDSGjURxpdTVzHTghUz8ks1ScKg0sHH81DMTJabUEwIwWFRiJrCo
hPAKnNesNDSWfpDAeKCJSZzZsq8zzBdpa8obzGEZ7nQ1i+gmXizqMjawUrJo
CMckarzUaWX1xw8nfT2LrB4bk8MW9G2aZfjRIAkooFVvZ3icVs1jmEJxY5Kh
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

-->

</rfc>
