/.well-known/ucp file is that declaration. When a UCP-compatible platform — Google AI Mode, Gemini, or any other agent — encounters your domain, it fetches this file first. Without it, agents cannot discover or transact with you at all.
Minimal manifest
The minimum valid manifest requires aproduct_catalog capability and a checkout capability. Both must include an endpoint URL.
/.well-known/ucp
Full manifest with all capabilities
Declare optional capabilities to unlock additional agent behaviors — shipping cost calculation, order tracking, and return initiation./.well-known/ucp
Required capabilities
| Capability | Required | Description |
|---|---|---|
product_catalog | Yes | Endpoint agents call to fetch your products |
checkout | Yes | Endpoint agents call to create and confirm orders |
Optional capabilities
| Capability | Description |
|---|---|
shipping | Shipping options and real-time cost calculation |
orders | Order history lookup and tracking status |
returns | Initiating returns from inside the agent experience |
reviews | Product reviews and ratings for agent context |
Hosting the manifest
- Next.js / Vercel
- Express.js
- Nginx
- Shopify
Place the file at Then create
public/.well-known/ucp. Next.js serves everything in public/ as static files automatically.public/.well-known/ucp with your manifest JSON. No additional configuration required — Vercel will serve it at /.well-known/ucp.Vercel sets
Content-Type based on file extension. Since ucp has no extension, verify the response header is application/json. You may need a vercel.json rewrite rule or a Route Handler to set the header explicitly.Common mistakes
404 — file not at domain root
404 — file not at domain root
The manifest must be at
https://yourdomain.com/.well-known/ucp, not on a subdomain like shop.yourdomain.com/.well-known/ucp. Check that your web server routes the root domain correctly, and that .well-known directories aren’t blocked by a .htaccess or server config.JSON parse error
JSON parse error
Validate your JSON before deploying. Common causes: trailing commas, unescaped quotation marks inside strings, or missing closing brackets.If the command exits without output, your JSON is valid.
Wrong Content-Type header
Wrong Content-Type header
The response must include
Content-Type: application/json. Some static hosts serve unknown file extensions as text/plain. Override this in your hosting configuration — see the Nginx and Express examples above.Endpoint is behind authentication
Endpoint is behind authentication
The
/.well-known/ucp file must be publicly accessible with no API key, cookie, or auth header required. AI agents follow the .well-known convention and will not authenticate to fetch this file.Validate with Asva
Use the Manifest Generator and Validator to generate a compliant manifest from your endpoint URLs, validate the JSON of an existing file, and confirm your hosted manifest is publicly reachable. To validate via the API:Next steps
Product catalog endpoint
Structure your catalog endpoint so agents can find the right product and variant.
Checkout and payments
Implement cart creation and order confirmation.