[httpapi] Re: New draft: draft-rmili-httpapi-deprecation-manifest-00 (field-level deprecation signalling)

Sami Rmili <srmili@wiremind.io> Thu, 20 August 2026 09:24 UTC

Return-Path: <srmili@wiremind.io>
X-Original-To: httpapi@mail2.ietf.org
Delivered-To: httpapi@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 871B012CC89BF for <httpapi@mail2.ietf.org>; Thu, 20 Aug 2026 02:24:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1787217843; bh=yENqLuWLbmR0p5iQ0mojrqwjJwJ3ZqI1eR5H2nIRXB0=; h=References:In-Reply-To:From:Date:Subject:To; b=urEVMJ3KGsGm45Ngp6FWfRKWeI+C8qmUAGViUrnAGd3UkF6tQNOXShyjonxX6Tu3X Pxfd2+d9/K48iJL9VIVL21jh0uWebq0HKeNUy9+5Jr8CnZOuFI7DTgIR/qXhh7N4NK Tm2EIo4vP8DgseLoymgocoEkp/E0ZrtOBWsRqtbI=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Level:
X-Spam-Status: No, score=-1.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01, URIBL_CSS_A=0.1] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=wiremind.io
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zJWm3euuUbGD for <httpapi@mail2.ietf.org>; Thu, 20 Aug 2026 02:24:02 -0700 (PDT)
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id A9A6C12CC89B5 for <httpapi@ietf.org>; Thu, 20 Aug 2026 02:24:02 -0700 (PDT)
Received: by mail-lj1-x22e.google.com with SMTP id 38308e7fff4ca-39ca300db70so20807161fa.2 for <httpapi@ietf.org>; Thu, 20 Aug 2026 02:24:02 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1787217836; cv=none; d=google.com; s=arc-20260327; b=oLLEcZNlry74GpfZfvSpB8Zt9kWa4GQFp/XyQ9B0euwHVMubYHvwqhjT0o+X5hGJsL 9phPz3o4Al9wwB5FKA+lIRsRmi3I5+ZuTyPnQ7IE5nF+19vrwGE2AS7QmwIpAlIN5jUx QvqyA2sLxPNorFcm7KJSSqXDNXAKlJIdzgWXZ+ooFCoAg3pvuF1FTkYuNuCePnXmu9a7 oUpJuiTLv/bRDjd39K/eCCxxoEwfS0uvSKke3pogGh/Io0DValxSZBj9sNtLHgSaSFo9 Ko3Jx7OkWYHbxUE5838wyBjPbEM9Xvc0F7diwSc5ExQad/8QeYeUMkvzxJpjzr71FqMB ThVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=qfF7cr41WJhDacsHiNMAN8/Y3hPQMyCNBRpEAnV4kCM=; fh=7sSMZ5JRpfDmYEixg+K+ic08eNjHkcRiGZ8VpfwOTC4=; b=njq4QGCFdqZoSUEHksbuwED8Ahwmp+6ZuVaCnv+CKocPkJbLBHUkQeVteB5YDyzR72 xLkbcKn+qVhe1dGC/GT5sAvBgRfIXg3rceS57bBHl7aocWMVyCjWB47vDdIzQt9F0l3f F0wOMWDw1EMa8ijGYP9jq59dT5DpgSvbBHF24ivEj1nsXnCryAUk6UKljWviaOTg3ASK D7t8AV2aL8gFaDg2tGjM1FBIvQyQ9L7LERvkGPMOWrMZAG+h1rIWs+U/dushegw1fxOA GuKsX3bjXKIdGFoWB9UsSmmB0BrW5Un9AFhD3fqB8or845jzZCqB0WtcEsHwY21PIh/N LZ1w==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wiremind.io; s=google; t=1787217836; x=1787822636; darn=ietf.org; h=content-type:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=qfF7cr41WJhDacsHiNMAN8/Y3hPQMyCNBRpEAnV4kCM=; b=fUNe8xfEj8l6r9xCu/q9AMi5A63oQfcuFL9TPqpFaYawoBHQAaUWU5nGEQ3/+THUKQ FqaH68z4CAt8aF+30iT+3ILxCsCZkHYu50EGQoN0dW+lwuz8KFCVvuSLGPtiXKA5vWST yAU6XmefwIoZ4cUCMt+ioxh2425FJDsffKYb1AZRbOU+1P0E6qhipetUsILgqxmD6LF7 v+SvUDvewYwwYXH7w0vG7dXPez6/LiO7gu5mpFTnWpJB1fbnVtMyZHPrcpLxoItko7wJ ihivzIlxxi40Omg0w+y/dzpgssvY43FET3fwrMErNGN90idJdx5XNMjp0CaJs0syS5L6 BUzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787217836; x=1787822636; h=content-type:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=qfF7cr41WJhDacsHiNMAN8/Y3hPQMyCNBRpEAnV4kCM=; b=HMiiF7g2Y/NagjxQeUr7KNXCVGhOAXQTkYXp7bU+7sIqoCDi60Rg5UomquSNsnhU6j cP18CeFaFWwP/HT1X1MBjcORdkJvcORepNLETlu82IzTzbnVVIDNT8re10EZKG8g4mMX E5eO3x8ZE98NEYNY8cPOH1Z/fKgMWWfqlSGe6BrH3WcOIpwgliyGftXRi6XBThf6djMa 9KpbfZa/RD99jIsiU1u2epfNOb0uS82g7UpTADOukhr9f2T+4WPkxogcqIyJAXfBPfXd cxj3dF1cD96fwoUY//9zTf6F0mAMVJT1vZQKd91tsVkGTW5QZYIN8ZZYw95AmyMM7tEO 4vNw==
X-Forwarded-Encrypted: i=1; AHgh+Rpbs/gX2OntHPmaVH7XTSY5aPj0kWHawAyzs2y0c+6zDxBF26n+/xXWaXy1DhGsu7M4zr/Cu0BL@ietf.org
X-Gm-Message-State: AOJu0YzMjXOPDMMDNiqZX7Fr2ewY5r26V8GlP81jP5UJN4s5C8V8d5AA AJMxvywGhDo9yyMyQ11Yr+88bS3nkrJUjsQfAZkzT2WFhVjvWdK7HWEWxjpKOk+nmRdbU4/a7xL RFNdgd32muyH1wtZi34CYgH8fZP9SgVMLah/I7zd41lZqwKm/BCaARq9+K2rZDja4rzGMSYWncx AVD7xQkz+i0saqoTkHwA==
X-Gm-Gg: AR+sD12sDKTQ/gmnOqq3hYETAw/+b9KJ9Vel+PSzfB2rNaviUyKCKH8jrURKKhRY4si 8fFWlzmKVF/wZlK5VpjW1N+iO3neOI6BQAV0gQIiTu9NaM7cB26Z4HPBUYLBd6heNDBjOu3vG6V VApVHBY5H6psOiSbh7anAhUvCbKOWO+ZrUrYd3L/Omdh3avVWcXHFmOuaOP89iQRM/kwF7sRR/p 2iPHQcQjvJWRNGF7z/GOtRxFXbkMeTHFNMGcJqAepKRXkJyRZaZXRz+2WeSWhw1gBJ/8BFkvUpg Y90fGXXMWAsGFSus0x5w2eilhxl5u8zNJurU/nLAXUB5
X-Received: by 2002:a05:651c:1542:b0:3a1:12e6:bbae with SMTP id 38308e7fff4ca-3a18945ccb5mr26372331fa.0.1787217835567; Thu, 20 Aug 2026 02:23:55 -0700 (PDT)
MIME-Version: 1.0
References: <CABSbMC6QcV5ewpJK7iYJ7PW6rc5muuVMaKYkngzfkedETnn8wA@mail.gmail.com> <MN2PR17MB40313CC7E2278184D8DC8D46CDA52@MN2PR17MB4031.namprd17.prod.outlook.com> <CABSbMC4G+P8jyA2X0iwQfB-QSKBdnuo8CA3_oBoeKOSsKh=ZxA@mail.gmail.com> <MN2PR17MB4031676BA2B1358F8386447ECDA52@MN2PR17MB4031.namprd17.prod.outlook.com>
In-Reply-To: <MN2PR17MB4031676BA2B1358F8386447ECDA52@MN2PR17MB4031.namprd17.prod.outlook.com>
From: Sami Rmili <srmili@wiremind.io>
Date: Thu, 20 Aug 2026 11:23:44 +0200
X-Gm-Features: AcwNN1XIgEQlTIQVKO9PkU6i_suOI5G2YSM1LBpl6hotP-8srdfXVE8Iyw22n-4
Message-ID: <CABSbMC6nVTU3NnHkNmaWy6j07=nhhbHe=oQEvW8-qm6gSd=vig@mail.gmail.com>
To: "Salz, Rich" <rsalz=40akamai.com@dmarc.ietf.org>, sanjay.dalal@cal.berkeley.edu, httpapi@ietf.org
Content-Type: multipart/alternative; boundary="00000000000039be51065977147f"
Message-ID-Hash: 7WWZCOB2XDR5AUKWHGBTR53DZ2P2TGS7
X-Message-ID-Hash: 7WWZCOB2XDR5AUKWHGBTR53DZ2P2TGS7
X-MailFrom: srmili@wiremind.io
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [httpapi] Re: New draft: draft-rmili-httpapi-deprecation-manifest-00 (field-level deprecation signalling)
List-Id: Building Blocks for HTTP APIs <httpapi.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/httpapi/lgod5NL9A7WQTfAdqIeHnL5XX3k>
List-Archive: <https://mailarchive.ietf.org/arch/browse/httpapi>
List-Help: <mailto:httpapi-request@ietf.org?subject=help>
List-Owner: <mailto:httpapi-owner@ietf.org>
List-Post: <mailto:httpapi@ietf.org>
List-Subscribe: <mailto:httpapi-join@ietf.org>
List-Unsubscribe: <mailto:httpapi-leave@ietf.org>

Rich, Sanjay,

Rich, thanks for the welcome. I wrote -00 in kramdown-rfc but built it by
hand, so I will set the draft up properly on i-d-template for -01, this is
all very new to me.

Sanjay, I'm excited to learn that this is of interest to you and I would
love to collaborate on this topic. One clarification though: the Link does
not point at the OpenAPI document. It points at the manifest, a small
document discovered at runtime from the resource being called via
rel="deprecation", which names the specific request or response member and
gives its deprecation and sunset dates.

Very happy to take a call on this, and a review whenever suits.

Thanks,
--

[image: img]

*Sami RMILI*
*Software Engineer*
srmili@wiremind.io

16, boulevard Poissonnière - 75009 Paris, France
[image: linkedin]
<https://urldefense.com/v3/__https://app.signitic.com/l/bVhvSkNYYlBaZ1lLQi8vejdqMlF4QT09-eFZMaExNZWZGQjMvaVVJaDArTTl6Zz09__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuv6-KRotI$>
[image:
web]
<https://urldefense.com/v3/__https://app.signitic.com/l/bVhvSkNYYlBaZ1lLQi8vejdqMlF4QT09-VzNGNG5oU1pWYjZRMTVQMUxBZ2xJZz09__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuv4Kwx0gO$>


Le mer. 19 août 2026 à 19:39, Salz, Rich <rsalz=40akamai.com@dmarc.ietf.org>
a écrit :

> Thanks for the note, and (a) welcome to the IETF and (b) congrats on your
> first draft. Looking at it, I assumed you used the i-d-template draft
> tooling, which is really what I’d recommend anyway :)
>
> I assume that things crossed in the mail, and that you saw Sanjay’s reply
> of being interested in this.
>
>
> On 8/19/26, 12:02 PM, "Sami Rmili" <srmili=40wiremind.io@dmarc.ietf.org>
> wrote:
>
> This Message Is From an External Sender
> This message came from outside your organization.
>
> Hi Rich,
>
> As far as I know I'm the only person interested in it so far, no reviews
> on-list.
>
> The need came out of our implementation of OSDM
> <https://urldefense.com/v3/__https://osdm.io/spec/getting-started/__;!!GjvTz_vk!Ue9_FeePWR43sPxergtKlliFtwyksA2jW65QqCH54gBe446hhuzBauL532WFPNzV2fXcCwawNvl2T7hSDbOjhiG_fibK$>
> (an open UIC rail-distribution API standard). The shared OpenAPI schema
> marks fields deprecated between minor versions, but that flag carries no
> dates and no single implementor can edit the shared schema to declare their
> own deployment's timeline. Ans as far as I could find, there's no standard
> way to say which field exactly is deprecated: RFC 9745 and RFC 8594 operate
> at the granularity of a resource, not a member inside a request or response
> body. That gap is the whole reason I wrote the draft.
>
> I'm actively trying to get OSDM to adopt this as we speak, so I do expect
> there to be real interest behind it. In the meantime I'd be very glad of a
> review of the draft.
> I should say this is my first time writing an Internet-Draft, so pointers
> on process are as welcome as technical comments. And I'm happy to explain
> the need in more detail, over a call too if that would help.
>
> Thanks,
> --
>
> [image: img]
>
> *Sami RMILI*
> *Software Engineer*
> srmili@wiremind.io
>
> 16, boulevard Poissonnière - 75009 Paris, France
> [image: linkedin]
> <https://urldefense.com/v3/__https://app.signitic.com/l/bVhvSkNYYlBaZ1lLQi8vejdqMlF4QT09-eFZMaExNZWZGQjMvaVVJaDArTTl6Zz09__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuv6-KRotI$> [image:
> web]
> <https://urldefense.com/v3/__https://app.signitic.com/l/bVhvSkNYYlBaZ1lLQi8vejdqMlF4QT09-VzNGNG5oU1pWYjZRMTVQMUxBZ2xJZz09__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuv4Kwx0gO$>
>
>
> Le mer. 19 août 2026 à 15:54, Salz, Rich <rsalz=
> 40akamai.com@dmarc.ietf.org> a écrit :
>
> Has anyone reviewed or read this draft?
>
> Is anyone interested in working on it?
>
> On 6/29/26, 6:31 AM, "Sami Rmili" <srmili=40wiremind.io@dmarc.ietf.org>
> wrote:
>
> Hi all,
>
> I've posted a -00 that I'd appreciate feedback on:
> https://datatracker.ietf.org/doc/draft-rmili-httpapi-deprecation-manifest/
> <https://urldefense.com/v3/__https://datatracker.ietf.org/doc/draft-rmili-httpapi-deprecation-manifest/__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuvyiMrB3t$>
>
> *The gap:*
>  The Deprecation (RFC 9745) and Sunset (RFC 8594) header fields signal
> lifecycle at the granularity of a resource. They cannot, by design, name an
> individual member inside a JSON request or response body. The mechanisms
> that can name a member, the deprecated keyword in OpenAPI and JSON Schema
> are design-time, carry no dates, and live in a single shared description.
> So an operator of a multi-party API spec has no standard way to say "on my
> deployment, this particular field stops being accepted on this date."
>
> *The proposal:*
>  An *application/deprecations+json* document,  a "*Deprecation Manifest*"
> in which an operator declares dated deprecation and sunset timelines for
> specific request/response members. It's discovered via the existing
> *rel="deprecation"* link relation, is decoupled from any API description,
> and is purely informational, it never changes the wire behaviour of a
> resource. It reuses the date semantics of RFC 9745/8594 rather than
> replacing them.
>
> *Origin:*
>  This comes from a real need as an implementor/contributor of OSDM
> <https://urldefense.com/v3/__https://osdm.io/spec/getting-started/__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuv2DClbZc$>
> (an open UIC rail-distribution API standard). The OpenAPI schema is shared
> by everyone who implements the standard, and it evolves: between two minor
> versions, a field gets marked deprecated in favour of a replacement. But
> that deprecated flag in the shared schema is undated, and no single
> implementor can edit the shared schema to add their own dates. So even
> though the standard says a field is on its way out, each operator is left
> with no standard way to declare when their own deployment will stop
> accepting or returning it (i.e. its actual deprecation and sunset dates).
> The manifest lets each implementor publish that per-deployment timeline
> without touching the shared contract. I expect to ship one in the OSDM
> ecosystem, which should give the design some running code to evaluate.
>
> I'd particularly welcome views on whether this belongs as a discovery
> document alongside RFC 9727 (api-catalog), and on the selector design
> (JSONPath / JSON Pointer).
>
> Thanks,
> --
>
> [image: img]
>
> *Sami RMILI*
> *Software Engineer*
> srmili@wiremind.io
>
> 16, boulevard Poissonnière - 75009 Paris, France
> [image: linkedin]
> <https://urldefense.com/v3/__https://app.signitic.com/l/bVhvSkNYYlBaZ1lLQi8vejdqMlF4QT09-eFZMaExNZWZGQjMvaVVJaDArTTl6Zz09__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuv6-KRotI$> [image:
> web]
> <https://urldefense.com/v3/__https://app.signitic.com/l/bVhvSkNYYlBaZ1lLQi8vejdqMlF4QT09-VzNGNG5oU1pWYjZRMTVQMUxBZ2xJZz09__;!!GjvTz_vk!UdbCGJgUkIk6zVouXXg3arFQdsx9VxS6qAI5K2NyVwiMCi3noKsByWtkXCggKLw6g0Rra6xB9I7GiqalbOVuv4Kwx0gO$>
>
> The content of this email is confidential and intended for the recipient
> specified in message only.
>
>
> The content of this email is confidential and intended for the recipient
> specified in message only.
>

-- 
The content of this email is confidential and intended for the recipient 
specified in message only.