-
Notifications
You must be signed in to change notification settings - Fork 321
Description
As we work to implement UCP versioning on the well-known endpoint, should the merchant always list ALL supported versions of the UCP version's available capabilities and extensions in their business profile.
As an example, would the well-known endpoint for UCP draft version include, both draft and 2026-01-23 (and any/all other prior) versions of the checkout capability (and same for capability extensions)?
"ucp": {
"version": "draft",
"supported_versions": {
"draft": "http://retro-rewind-shop.myshopify.com/.well-known/ucp/draft",
"2026-01-23": "http://retro-rewind-shop.myshopify.com/.well-known/ucp/2026-01-23"
},
"services": { ... },
"capabilities": {
"dev.ucp.shopping.checkout": [
{
"version": "draft",
"spec": "https://ucp.dev/latest/specification/checkout",
"schema": "https://ucp.dev/latest/schemas/shopping/checkout.json"
},
{
"version": "2026-01-23",
"spec": "https://ucp.dev/2026-01-23/specification/checkout",
"schema": "https://ucp.dev/2026-01-23/schemas/shopping/checkout.json"
}
],
"dev.ucp.shopping.fulfillment": [
{
"version": "draft",
"spec": "https://ucp.dev/latest/specification/fulfillment",
"schema": "https://ucp.dev/latest/schemas/shopping/fulfillment.json",
"extends": "dev.ucp.shopping.checkout",
"config": { ... }
},
{
"version": "2026-01-23",
"spec": "https://ucp.dev/2026-01-23/specification/fulfillment",
"schema": "https://ucp.dev/2026-01-23/schemas/shopping/fulfillment.json",
"extends": "dev.ucp.shopping.checkout",
"config": { ... }
}
],
Since the well-known endpoint does not accept an agent profile (HTTP GET), I assume this is the case. But as versions grow, this list could become quite verbose, and also leads to a combinatorial explosion of versions to reason about, (at 3 levels);
- UCP version
- Capability version
- Capability extension version
(but I assume this is intentional, and part of the spec's flexibility)
-- cc @richmolj / @igrigorik