VERVE Fitness for Developers and AI Agents

VERVE Fitness sells commercial and home gym equipment in Australia. This page is for developers and AI agents that want to read our catalog, prices and stock, or help a buyer check out. Everything listed here is live, public and needs no sign-up or API key.

Quick start

Search the catalog and read one product as JSON:

curl 'https://www.vervefitness.com.au/search/suggest.json?q=power+rack&resources%5Btype%5D=product&resources%5Blimit%5D=5'
curl 'https://www.vervefitness.com.au/products/tori-functional-trainer-rack.json'

Full description of every endpoint, with parameters, response schemas and errors: OpenAPI 3.1 description (served as JSON, which is also valid YAML).

What you can use

Resource URL Use it for
Agent instructions /agents.md Shopify's guide to the Shop skill and checkout for this store
Store summary for AI /llms.txt Who we are, when to use us, product ranges and reference specs
Commerce profile (UCP) /.well-known/ucp Machine-readable list of commerce services and capabilities
Commerce MCP server POST /api/ucp/mcp Catalog search, product details, cart, checkout and orders over JSON-RPC
OpenAPI description /openapi.yaml The public JSON endpoints below
Sitemap /sitemap.xml Every product, collection, page and article URL

Public JSON endpoints

  • GET /products.json?limit=250&page=1 lists every published product with variants, SKUs, prices and stock flags.
  • GET /products/{handle}.json returns one product. The handle is the last part of the product URL.
  • GET /collections.json and GET /collections/{handle}/products.json list categories and their products.
  • GET /search/suggest.json?q={words}&resources[type]=product runs a keyword search.
  • GET /recommendations/products.json?product_id={id}&intent=complementary returns products that go with a product. Use intent=related for alternatives.

Prices are in AUD and include GST unless a page says ex GST. Catalog endpoints show prices as strings such as "4699.00"; recommendations and the MCP server use whole cents. The product page is the final word on price and stock.

Cart and checkout through the commerce MCP server

Shopify runs a Model Context Protocol server for this store that follows the Universal Commerce Protocol (UCP). Its tools are search_catalog, lookup_catalog, get_product, create_cart, get_cart, update_cart, cancel_cart, create_checkout, get_checkout, update_checkout, complete_checkout, cancel_checkout and get_order. Every tool call must include your agent's UCP profile URL:

POST https://www.vervefitness.com.au/api/ucp/mcp
Content-Type: application/json

{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
 "params": {"name": "search_catalog", "arguments": {
   "meta": {"ucp-agent": {"profile": "https://your-agent.example/.well-known/ucp"}},
   "catalog": {"query": "power rack", "context": {"address_country": "AU", "currency": "AUD"}}}}}

Buyers sign in through Shop accounts when a checkout needs their identity. See /agents.md and the UCP specification for the full flow.

Errors

  • Search and recommendations return JSON such as {"status": 422, "message": "Invalid parameter error", "description": "param is missing or the value is empty: q"}.
  • Paging past 25,000 items (page multiplied by limit) returns 400 with {"errors": "Page * Limit exceeds the 25000 limit."}.
  • An unknown product or collection handle returns 404 with an empty body.
  • The MCP server returns JSON-RPC 2.0 errors. A call without an agent profile gets code -32001 with invalid_profile_url.

Keys, limits and testing

  • No API key and no account are needed to read the catalog.
  • There is no sandbox. All data is live, so read freely but do not place test orders.
  • Shopify applies rate limits and bot protection. Cache responses and space out bulk reads.

Known issue

Product, collection and content pages requested with Accept: text/markdown currently return 404. This is a Shopify platform issue (October 2026). Request text/html, or use the JSON endpoints above.

Commercial quotes and partnerships

Fit-out quotes, trade pricing and integration questions go to the team: sales@vervefitness.com.au or commercial gym fit-outs.