---
title: >-
  Cart and checkout permalinks now support UCP at /buy - Shopify developer
  changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/posts/cart-and-checkout-permalinks-now-support-ucp-at-buy
  md: >-
    https://shopify.dev/changelog/posts/cart-and-checkout-permalinks-now-support-ucp-at-buy.md
metadata:
  effectiveApiVersion: '2026-08-25'
  affectedApi: []
  primaryTag:
    displayName: UCP
    handle: ucp
  secondaryTag:
    displayName: New
    handle: new
  indicatesActionRequired: false
  createdAt: '2026-10-14T16:46:58-04:00'
  postedAt: '2026-10-28T11:50:00-04:00'
  updatedAt: '2026-10-26T19:13:06-04:00'
  effectiveAt: '2026-10-28T12:00:00-04:00'
---

October 28, 2026

# Cart and checkout permalinks now support UCP at /buy

DateOctober 28, 2026

Version[2026-08-25](https://shopify.dev/changelog?api_version=2026-08-25)

FlagsNew

SurfacesUCP

Shopify storefronts now support the UCP `dev.ucp.shopping.permalink` capability starting with UCP 2026-08-25 on a new `/buy` route. You can use a single `/buy` link to add items to a cart, prefill checkout details, and take the buyer to checkout, using the same link format on any shop that supports UCP. You don’t need to change existing integrations to keep them working.

## What changed

Shops now list the `dev.ucp.shopping.permalink` capability in their UCP discovery profile at `/.well-known/ucp`, and its `config.endpoint` points to the shop’s `/buy` route.

A `/buy` link encodes items in the path as `token:quantity` pairs and sets other cart and checkout fields with query parameters named by their UCP field path, such as `buyer/email` or `discounts/codes/0`.

With a `/buy` link, you can:

* Add one or more items by variant ID
* Prefill buyer details, such as email address
* Set the buyer’s country and language
* Apply discount codes
* Indicate a preference for Shop Pay
* Send the buyer to a specific page on the shop with a `continue_to` parameter

If a link can’t be applied, Shopify redirects the buyer to the `continue_to` destination when it’s present, or to the shop’s storefront instead of showing an error page.

Existing `/cart` permalinks keep working, although they’re now the legacy format. Shopify keeps supporting them, but new capabilities go to `/buy`. `/buy` doesn’t support selling plans, line item properties, cart notes, or cart attributes yet, so you should keep using `/cart` if you need those features.

## What to do

Use `/buy` for new links, and move existing `/cart` links to `/buy` where you can. New capabilities only apply to `/buy`, and the same link format works on any business that supports UCP. Your `/cart` links keep working, so you can migrate on your own schedule. If you rely on selling plans, line item properties, cart notes, or cart attributes, keep using `/cart` for now.

Permalinks don’t use capability negotiation, so you don’t need to declare `dev.ucp.shopping.permalink` in your agent profile. To build a link, read `config.endpoint` from the shop’s discovery profile instead of constructing the `/buy` URL yourself.

Never put payment credentials or access tokens in a link, and avoid buyer personal details in links you share widely.

## Related docs

* [Cart and checkout permalinks](https://shopify.dev/docs/agents/carts-and-checkout/permalinks)
* [UCP permalink specification](https://ucp.dev/2026-08-25/specification/permalink/)
