One request to get started
Ask for truffle products in the Italian EUR market. Cursor pagination is available when you need the next page.
curl "https://api.papatartufi.com/public/v1/products?q=truffle&locale=en&country=IT¤cy=EUR&limit=5"Test checkout safely
The sandbox uses the production contract but simulates writes. It never creates a real cart, reserves inventory, charges a payment method, or places an order.
Generate a temporary sandbox token without an account. The shared public token is catalog-read only; generated tokens receive the scopes requested for simulated cart and checkout testing and expire after 24 hours.
curl -X POST https://api.papatartufi.com/sandbox/v1/keys
curl -X POST https://api.papatartufi.com/sandbox/v1/carts \
-H "Authorization: Bearer YOUR_GENERATED_TOKEN" \
-H "Content-Type: application/json" \
-d '{"currency":"EUR"}'The shared catalog key is pt_test_public_sandbox_key and can read sandbox catalog tools, but cannot create or modify carts. Simulated checkout returns checkout_url: null; customer payment remains on the Papa Tartufi storefront in the future production flow.
Sandbox responses include environment: "sandbox" and simulated: true. REST and MCP clients use the same cart contract; the MCP endpoint is https://api.papatartufi.com/mcp/sandbox.
Start without an account
The public catalog is a free, self-serve surface for agents and applications. No API key, OAuth consent, or sales contact is required.
Try it now
Send a GET request to the live read-only catalog. It is safe to test because it cannot create carts, orders, payments, or customer records.
Connect with MCP
Use the server card or Streamable HTTP endpoint with any compatible MCP client.
Coming next
Production cart and checkout access will use customer-authorized OAuth scopes and remain separate from this simulated sandbox.
A deliberately small surface
Catalog discovery, simulated cart operations, and machine-readable integration stay on a deliberately small surface. Copy any URL or open the live contract.
/public/v1/productsSearch the published product catalog.
/public/v1/products/{handle}Read one product with variants, prices, and availability.
/openapi.jsonUse the complete OpenAPI 3.1 contract.
/mcpConnect through the Streamable HTTP MCP server.
/sandbox/v1/keysCreate a short-lived simulated-commerce key.
/sandbox/v1/cartsCreate a simulated cart with a generated key.
/sandbox/v1/carts/{id}Read an owned simulated cart.
/sandbox/v1/carts/{id}/itemsAdd a live-priced product variant to a simulated cart.
/sandbox/v1/carts/{id}/itemsRemove a variant from a simulated cart.
/sandbox/v1/carts/{id}/shipping-addressSet a simulated shipping address.
/mcp/sandboxUse the simulated-commerce MCP tools.
/sandbox/v1/carts/{id}/shipping-optionsList simulated shipping options.
/sandbox/v1/carts/{id}/checkoutPrepare a simulated checkout result.
Market data you can trust
Locale defaults to en, country to IT, and currency to EUR. Every response echoes the resolved market, including region_id.
Each variant carries its own calculated_price for the resolved Medusa region. Option combinations select the variant; the product price_range is a summary only.
Availability describes purchasability: in_stock andbackorder are purchasable, while out_of_stock is not. Exact quantities are never exposed, and weighted products are excluded.
The same catalog, through MCP
The production MCP server exposes read-only product discovery. The separate sandbox MCP endpoint adds simulated cart and checkout tools without production side effects.
Discovery files
Use these canonical documents to understand or index the public surface.
Predictable by design
- Rate limit
- 120 requests per IP each minute, with standard RateLimit headers and Retry-After on 429 responses.
- Pagination
- Preferred opaque cursors, plus compatible offset pagination.
- Versioning
- Breaking changes ship under /v2, with deprecation notice before removal.
- Errors
- True HTTP statuses and structured error code, message, hint, and request ID fields.
