Retired route names carts

APIBreaking

POST /v1/orders is still retired, and still answers 410 for every method before it reads any credential. Its error now names the door that builds carts today:

HTTP/1.1 410 Gone

{
  "error": {
    "code": "use_carts",
    "message": "POST /v1/orders no longer builds. Build a cart with POST /v1/carts, using a connected person's token or a build grant from POST /v1/users/:id/grant, or over MCP at https://mcp.layout.link. See https://developer.layout.link/reference/carts."
  }
}

Why it matters

The old answer said ordering had moved to MCP only. Carts are on REST as well now, so an integration, or an agent reading the error, was sent to one door when there are two.

What to do

Build with POST /v1/carts, or over MCP. If your code switches on the old code, accept both: use_carts and moved_to_mcp are both in the published list. See Every error code.

Breaking changes

Yes, for code that matched moved_to_mcp exactly: the code is now use_carts. The status, the method coverage and the shape are unchanged.

All changes