{
  "$schema": "https://tenhatch.dev/schemas/product.json/v1",
  "name": "CheckoutBeat",
  "slug": "checkoutbeat",
  "tagline": "Know the moment your checkout breaks.",
  "description": "CheckoutBeat walks your online store’s buy path with a real browser every 30 or 60 minutes: product page, add to cart, cart, checkout page, stopping before any payment. When a step fails twice in a row you get an email, a Slack message or a text with the step, the error and a screenshot. It also watches uptime, SSL expiry and theme changes.",
  "url": "https://checkoutbeat.com",
  "version": "1.0.0",
  "support": {
    "email": "support@tenhatch.com",
    "docs": "https://checkoutbeat.com/docs"
  },
  "feature": {
    "id": "store-check",
    "name": "Store check",
    "summary": "Walks a store’s buy path (product page, add to cart, cart, checkout page) with a real browser, stops before payment, and reports each step with timing, the first error and a screenshot of the failure.",
    "input": "A JSON object with a `storeUrl` (the store’s home page or a product page) and optionally `productUrl` and `flowType` (`auto`, `shopify` or `woocommerce`).",
    "output": "A JSON object with the run result: `ok`, `steps` (name, ok, ms, error, screenshot), `checks` (HTTP status, time to first byte, SSL days left, theme fingerprint) and `stoppedAt`.",
    "endpoint": {
      "method": "POST",
      "url": "https://checkoutbeat.com/api/v1/store-check",
      "contentType": "application/json"
    },
    "schemas": {
      "openapi": "https://checkoutbeat.com/api/v1/openapi.json",
      "operationId": "store-check"
    }
  },
  "authentication": {
    "type": "api_key",
    "header": "Authorization",
    "scheme": "Bearer",
    "alternativeHeader": "X-API-Key",
    "obtainAt": "https://checkoutbeat.com/app/api-keys",
    "usageSourceHeader": {
      "name": "x-usage-source",
      "values": [
        "agent",
        "api"
      ],
      "purpose": "attribution only"
    }
  },
  "pricing": {
    "currency": "usd",
    "freeTier": {
      "resultsPerMonth": 1
    },
    "plans": [
      {
        "id": "starter",
        "name": "Starter",
        "monthlyPriceCents": 4900,
        "annualPriceCents": 49000,
        "resultsPerMonth": 100,
        "apiKeys": 3,
        "stores": 1,
        "flowsPerStore": 3,
        "checkIntervalMinutes": 60
      },
      {
        "id": "growth",
        "name": "Growth",
        "monthlyPriceCents": 9900,
        "annualPriceCents": 99000,
        "resultsPerMonth": 500,
        "apiKeys": 5,
        "stores": 5,
        "flowsPerStore": 3,
        "checkIntervalMinutes": 30
      },
      {
        "id": "agency",
        "name": "Agency",
        "monthlyPriceCents": 14900,
        "annualPriceCents": 149000,
        "resultsPerMonth": 2000,
        "apiKeys": 10,
        "stores": 20,
        "flowsPerStore": 3,
        "checkIntervalMinutes": 30
      }
    ],
    "payAsYouGo": {
      "perResultCents": 25,
      "eventName": "store-check",
      "appliesTo": [
        "agent",
        "api"
      ]
    },
    "refundWindowDays": 14,
    "pricingPage": "https://checkoutbeat.com/pricing"
  },
  "mcp": {
    "tool": "store-check",
    "tools": [
      "store-check",
      "store-results"
    ],
    "docs": "https://checkoutbeat.com/docs/agent-access",
    "transport": "stdio"
  },
  "policies": {
    "terms": "https://checkoutbeat.com/legal/terms",
    "privacy": "https://checkoutbeat.com/legal/privacy",
    "refunds": "https://checkoutbeat.com/legal/refunds",
    "accessibility": "https://checkoutbeat.com/legal/accessibility"
  },
  "llms": "https://checkoutbeat.com/llms.txt"
}