Received: by mx.ietf.org (Postfix) id 4E7AB50;
	Tue, 15 Sep 2026 21:10:04 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ietf.org; s=mail;
	t=1789506604; h=from:from:reply-to:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:cc:mime-version:mime-version:
	 content-type:content-type:
  content-transfer-encoding:content-transfer-encoding;
	bh=9KvodnYHJ70Bp2gAyyG2Z7AoDfvSy64P/ti8Z2TR3Z4=;
	b=NR8m6vSoj6lezYLmtZLkZ1s9kFAYzuPKzGQpTrfGjfFtovZIlfypuj0f5EeHqiKBWVpY8m
	5SomsKKpxWTx+/MPUh852RjedZNT2TWrKsnVUdeMTYr1qdept3SeDar62SVo3cORATJbpb
	IgcaLS1V7t6AlpWVACEpqGfC+wuFPBA=
Authentication-Results: ORIGINATING;
	auth=pass smtp.auth=mail2@ietf.org smtp.mailfrom=internet-drafts@ietf.org
Received: from [10.244.8.113] (gaia.k8s.ietf.org [4.156.85.76])
	by mail2.ietf.org (Postfix) with ESMTP id A481913966620;
	Tue, 15 Sep 2026 14:09:48 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
X-Test-IDTracker: no
X-IETF-IDTracker: 12.75.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: 
 <178950658859.909469.13495218997977304880@dt-datatracker-597c8c8754-4t7c8>
Date: Tue, 15 Sep 2026 14:09:48 -0700
Message-ID-Hash: OPEJ4IO6Q3PP5VBHV2BOEYSQWOHUMRU6
X-Message-ID-Hash: OPEJ4IO6Q3PP5VBHV2BOEYSQWOHUMRU6
X-MailFrom: internet-drafts@ietf.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop;
 banned-address; header-match-jmap.ietf.org-0; emergency; member-moderation;
 nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size;
 news-moderation; no-subject; digests; suspicious-header
CC: jmap@ietf.org
X-Mailman-Version: 3.3.10
Reply-To: jmap@ietf.org
Subject: [JMAP] I-D Action: draft-ietf-jmap-conditional-00.txt
List-Id: JSON Meta Access Protocol <jmap.ietf.org>
Archived-At: 
 <https://mailarchive.ietf.org/arch/msg/jmap/IG6nMES-5b0upU0SX1mNl5lKjdg>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Owner: <mailto:jmap-owner@ietf.org>
List-Post: <mailto:jmap@ietf.org>
List-Subscribe: <mailto:jmap-join@ietf.org>
List-Unsubscribe: <mailto:jmap-leave@ietf.org>

Internet-Draft draft-ietf-jmap-conditional-00.txt is now available. It is a
work item of the JSON Mail Access Protocol (JMAP) WG of the IETF.

   Title:   JMAP Conditional Set
   Author:  Bron Gondwana
   Name:    draft-ietf-jmap-conditional-00.txt
   Pages:   14
   Dates:   2026-09-15

Abstract:

   The JMAP base protocol ([JMAP-CORE]) provides the Foo/set method for
   creating, updating, and destroying objects.  It offers a single
   concurrency control, the "ifInState" argument, which guards an entire
   object type: if any object of that type has changed, the whole method
   is rejected.

   This extension adds a finer, per-object conditional mechanism.  A
   client may require that an individual update or destroy proceed only
   if the target object still matches a set of expected property values,
   expressed using the JMAP PatchObject already defined for updates.
   This provides optimistic concurrency control scoped to a single
   object — the equivalent of an HTTP "If-Match" precondition — for any
   JMAP data type.

   This extension also defines an optional "atomic" argument that
   applies an entire Foo/set as a single unit: either every change it
   requests takes effect, or none does.  Combined with the per-object
   precondition, this lets a client express a multi-object change that
   is safe only when applied together — such as an atomic rename that
   exchanges two names.

The IETF datatracker status page for this Internet-Draft is:
https://datatracker.ietf.org/doc/draft-ietf-jmap-conditional/

There is also an HTMLized version available at:
https://datatracker.ietf.org/doc/html/draft-ietf-jmap-conditional-00

Internet-Drafts are also available by rsync at:
rsync.ietf.org::internet-drafts


