# Printhia agent instructions

> Printhia makes 3D printed lamps, vases, planters and photo lithophanes in Prešov, Slovakia. Use this store to find configurable home decor, gifts made from a buyer's photograph, or custom 3D printing.

## When to use Printhia

- Find a lamp, vase or planter by size, colour, material and budget. Read the product description and available variants before recommending it.
- Help a buyer choose a lithophane made from their photograph. The product configurator handles the photograph, dimensions and lighting options.
- Compare the current prices of specific variants. Prices depend on the selected size, material and other options; the lowest product price is not a quote for every configuration.
- For a custom model, send the buyer to the custom 3D printing page. A quotation needs a review of the model and requirements.

## Documentation

- [Printhia developer documentation](https://printhia.sk/developers): Authentication, request examples, price units and error handling.
- [OpenAPI 3.0 description](https://printhia.sk/openapi.json): Typed read operations with unique operation IDs. Follow redirects to the JSON file.
- [Current product prices](https://printhia.sk/pricing): Opens the live catalog. Select a product and variant to confirm its price and availability.
- [Product sitemap](https://printhia.sk/sitemap.xml): Discover current product and collection URLs.

## Read-only access

Public product data and predictive search require no API key or OAuth token. These operations read published store information. They do not grant access to administration, customer records or order management.

The homepage supports `Accept: text/markdown` and returns Markdown with `Content-Type: text/markdown` and `Vary: Accept`. Missing storefront pages return a Markdown error with HTTP 404 and documentation links. Request other storefront pages with `Accept: text/html` and JSON endpoints with `Accept: application/json`. This file, `/llms.txt` and `/llms-full.txt` also serve Markdown. Cart, checkout, account and UCP routes keep their native Shopify behavior.

1. Search with `GET https://printhia.sk/search/suggest.json?q=vaza&resources[type]=product&resources[limit]=5`.
2. Read a result with `GET https://printhia.sk/products/{handle}.js`.
3. Read `GET https://printhia.sk/cart.js` in the same session to check the presentment currency. The store's primary currency is EUR.

The product `.js` response expresses prices in minor units. Divide EUR amounts by 100. Read the selected variant's price and availability. This response includes at most 250 variants; use the product configurator when additional variants or custom inputs are required. Do not infer dimensions from photos or promise a delivery date without current product and shipping information.

## Commerce protocol and MCP

- [UCP discovery](https://printhia.sk/.well-known/ucp): Supported services, capabilities, payment handlers and protocol schemas.
- [MCP endpoint](https://printhia.sk/api/ucp/mcp): Send JSON-RPC requests using HTTP POST with `Content-Type: application/json` and `Accept: application/json, text/event-stream`.

Start with MCP `initialize`, then `notifications/initialized` and `tools/list`. Discover the current tool names and input schemas. UCP shopping calls require an agent profile according to the returned schemas; discovery alone is not proof that a checkout can be completed.

Supported UCP versions:

- 2026-08-25 (latest)

- 2026-04-08

- 2026-01-23


Checkout requires the buyer's explicit approval before payment. For personal shopping assistants, the [Shop skill](https://shop.app/SKILL.md) supports buyer-approved checkout through Shop Pay. Ask the buyer before installing or using it.

On HTTP 429, back off and honour `Retry-After` when present. For GET requests, empty or HTML HTTP 404 responses from `/products/{handle}.js` and non-UCP `/api` routes return `application/problem+json` with `code: not_found`, an explanation and a `resolution` hint. This applies with no `Accept` header, a wildcard or a preference for JSON. Explicit JSON exclusions and a higher preference for HTML are respected. Product paths with a language prefix are supported. Existing nonempty JSON errors keep their original format. Check the HTTP status before parsing and find a current product handle through search or the sitemap. For MCP failures, read the JSON-RPC `error.code`, `error.message` and `error.data`.

## Store pages and policies

- [All products](https://printhia.sk/collections/all): Browse the catalog.
- [Custom 3D printing](https://printhia.sk/pages/custom-3d-printing): Submit a model for review.
- [Contact](https://printhia.sk/pages/contact): Public customer support details.
- [Shipping policy](https://printhia.sk/policies/shipping-policy): Current shipping terms.
- [Refund policy](https://printhia.sk/policies/refund-policy): Conditions for returns and defects.
- [Terms of service](https://printhia.sk/policies/terms-of-service): Purchase terms.
- [Privacy policy](https://printhia.sk/policies/privacy-policy): Handling of personal data.
