{
 "slug": "lemonsqueezy",
 "name": "Lemon Squeezy",
 "url": "https://lemonsqueezy.com",
 "domain": "lemonsqueezy.com",
 "category": "payments",
 "category_name": "Payments",
 "tested_at": "2026-10-12",
 "run": "20261012T094739Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261006T021542Z",
   "date": "2026-10-06",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": "claude-opus-5-5",
    "driver": 2,
    "signed": true,
    "inbox": null,
    "robots": "start"
   }
  },
  {
   "run": "20261012T094739Z",
   "date": "2026-10-12",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": "claude-opus-5-5",
    "driver": 3,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "obey"
   }
  }
 ],
 "level": 1,
 "level_name": "Needs a person",
 "level_selfhost": null,
 "entry": "closed",
 "door": {
  "passed": 0,
  "tries": 2,
  "self_start": false
 },
 "badges": [],
 "stages": [
  {
   "key": "in",
   "label": "Access",
   "state": "no",
   "text": "Can't get in on its own",
   "at": "signup"
  },
  {
   "key": "work",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "Payment not reached",
   "value": "unreached",
   "route": "card_checkout"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "unreached",
   "text": "Leaving not reached",
   "how": "no-account"
  }
 ],
 "outcomes": [
  {
   "key": "find",
   "label": "Find",
   "state": "part",
   "text": "Some docs agents can read: an MCP server",
   "have": [
    "mcp"
   ]
  },
  {
   "key": "access",
   "label": "Access",
   "state": "no",
   "text": "Can't get in on its own",
   "at": "signup",
   "stage": "in"
  },
  {
   "key": "use",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured",
   "stage": "work"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "unreached",
   "text": "Payment not reached",
   "value": "unreached",
   "route": "card_checkout",
   "stage": "pay"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "unreached",
   "text": "Leaving not reached",
   "how": "no-account",
   "stage": "leave"
  }
 ],
 "access": [
  {
   "key": "person",
   "label": "A person sets it up",
   "routes": [],
   "minutes": null,
   "core": null
  }
 ],
 "minutes": null,
 "next": {
  "to": 2,
  "text": "Next: let an agent sign up on its own"
 },
 "stop": "signup",
 "core": "0/10",
 "scores": {
  "coverage": null,
  "reliability": null,
  "resilience": null,
  "setup": 45,
  "surface_coverage": null,
  "docs_accuracy": null,
  "docs_completeness": null
 },
 "parts": {
  "holds_up": null,
  "docs_match": null,
  "setup": 45,
  "security": null,
  "standards": []
 },
 "reliability_method": null,
 "resilience": null,
 "stress": [],
 "surface_audit": null,
 "coverage_core": null,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 3,
  "model": "claude-opus-5-5",
  "profile": "full",
  "assisted": false,
  "handoff": false,
  "prompt_sha": "076cd4c65a1a",
  "kb_version": "3+overlay-1353601952",
  "identity": "e8a92f24a9a8"
 },
 "methodology": 15,
 "rules_date": "2026-10-15",
 "engine": {
  "runner": "omp",
  "model": "claude-opus-5-5",
  "driver": 3,
  "signed": true,
  "inbox": [
   "agentdrives.com"
  ],
  "robots": "obey"
 },
 "same_level_drives": 2,
 "drives": 2,
 "works_assisted": null,
 "freshness": "fresh",
 "nothing_to_pay": false,
 "core_gated": false,
 "profiles": {},
 "agent_check": {
  "rung": "signup",
  "vendor": "reCAPTCHA v2 checkbox",
  "visible": true,
  "type": "challenge",
  "human": null,
  "how": "Check the Web Bot Auth signature on the sign-up request and skip reCAPTCHA (or lower the score threshold) for signed agents; or offer a documented sign-up API with email verification.",
  "signed": true
 },
 "agent_pass": null,
 "who_gets_in": {
  "server": {
   "state": "captcha"
  },
  "signed": {
   "state": "page",
   "kind": "signup",
   "at": "2026-10-12"
  },
  "browser": {
   "state": "captcha",
   "measured": false
  },
  "our_key": "pending",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "HTML docs and API reference (REST JSON:API); no OpenAPI, no llms.txt, no markdown."
  },
  "signup": {
   "status": "human",
   "note": "Browser only; /register has a reCAPTCHA v2 'I'm not a robot' checkbox and Create account stays disabled until it is ticked. no API or CLI sign-up. Business form (name, website, country) and a reason dialog come first."
  },
  "verify": {
   "status": "",
   "note": "No account was created.",
   "reached": false
  },
  "credentials": {
   "status": "",
   "note": "API keys only in dashboard account settings; no API to create one; no account.",
   "via": "",
   "reached": false
  },
  "first_call": {
   "status": "",
   "note": "GET /v1/users/me without a key: 401 Unauthenticated.",
   "reached": false
  },
  "first_action": {
   "status": "",
   "note": "POST /v1/checkouts without a key: 401; no account.",
   "reached": false
  },
  "pay": {
   "status": "",
   "grade": "P2",
   "rails": [
    "Lemon Squeezy dashboard checkout"
   ],
   "rail_ids": [
    "lemon-squeezy"
   ],
   "first_party": true,
   "rail_scope": "none",
   "trial_path": "free tier",
   "note": "No 402 or agent rail. Ecommerce has no monthly charge (5% + 50¢ per sale); email marketing free to 500 subscribers, paid tiers via the dashboard checkout, not seen (no account). We paid nothing.",
   "reached": false
  },
  "cancel": {
   "status": "",
   "note": "Not tested: no account was created so no plan could be started. Lemon Squeezy does have paid recurring plans (email marketing tiers beyond 500 subscribers); per policy cancel is n/a only when nothing recurs at all.",
   "docs_grade": "",
   "reached": false
  },
  "delete": {
   "status": "",
   "note": "No account was created; the API has no account delete and no delete-account help page was found.",
   "account": false,
   "reached": false
  }
 },
 "routes": [],
 "checkout": null,
 "docs": null,
 "claims": null,
 "pay_options": {
  "checked": "2026-10-12",
  "source": "probe",
  "options": [
   {
    "id": "lemon-squeezy",
    "name": "Lemon Squeezy",
    "kind": "checkout",
    "first_party": true,
    "lead": false,
    "networks": [],
    "testnet": false
   }
  ],
  "agentic": [],
  "paid": null,
  "exercised": null,
  "detected_grade": null,
  "trial": {
   "no_card": true,
   "card_required": null,
   "free_plan": true
  },
  "owner_fixes": [
   {
    "title": "Accept x402 or MPP on your API",
    "how": "Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card."
   },
   {
    "title": "List your plans on Stripe Projects",
    "how": "Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev)."
   }
  ]
 },
 "surfaces": {
  "api": true,
  "openapi": false,
  "cli": false,
  "sdk": true,
  "mcp": "third-party",
  "llms_txt": false,
  "webhooks": true,
  "sandbox": true
 },
 "surface_notes": {
  "api": "REST JSON:API, ~70 operations; products, variants and API keys not creatable",
  "sdk": "@lemonsqueezy/lemonsqueezy.js 4.0.0",
  "mcp": "none official; third-party (Pipedream, Zapier, community)",
  "sandbox": "test mode with test API keys"
 },
 "can_do": [
  "Read the full API reference and help docs without an account",
  "Validate, activate or deactivate a license key through the public License API"
 ],
 "cannot_do": [
  {
   "what": "Create an account",
   "why": "reCAPTCHA v2 checkbox on the sign-up form, no API sign-up"
  },
  {
   "what": "Get an API key",
   "why": "keys are made only in dashboard settings"
  },
  {
   "what": "Any core store action (products, checkouts, subscriptions, license keys)",
   "why": "needs an account and API key"
  },
  {
   "what": "Create products, variants or storefront by API",
   "why": "API is read-only for products; dashboard only"
  }
 ],
 "blockers": [
  "reCAPTCHA v2 checkbox on auth.lemonsqueezy.com/register"
 ],
 "tips_for_owner": [
  "Let verified agents sign up",
  "Add an API sign-up for test stores",
  "Create products and API keys by API",
  "Publish llms.txt, markdown and OpenAPI",
  "Document and expose account deletion"
 ],
 "tips_for_agents": [
  "Have a human create the account and a test-mode API key; then the REST API covers checkouts, subscriptions, discounts, license keys, webhooks and usage records.",
  "The License API needs no key: POST /v1/licenses/{activate,validate,deactivate} with Accept: application/json.",
  "Products and variants must be made in the dashboard."
 ],
 "selfhost": null,
 "summary": "An agent cannot sign up for Lemon Squeezy: the registration form needs a reCAPTCHA v2 checkbox, and there is no API sign-up. Without an account no core capability could be driven; only the docs, the public License API and the official JS SDK are reachable. API keys and products are dashboard-only.",
 "wall": "reCAPTCHA checkbox on the sign-up form",
 "plan_scope": "",
 "robots_stop": null,
 "robots": null,
 "plain": {
  "summary": "Lemon Squeezy lets sellers accept payments and manage subscriptions, but an AI agent trying it alone got stuck at the very first step: creating an account. The sign-up form requires ticking a 'I'm not a robot' box, which the agent cannot do, and there is no other way to sign up. As a result the agent could only read the public documentation and check license keys, it could not create a store, sell a product, or do anything that needs login.",
  "can_do": [
   "Read the help pages and technical documentation without logging in",
   "Check whether a software license key is valid, without needing an account",
   "Use the official code library for developers"
  ],
  "cannot_do": [
   {
    "what": "Create an account",
    "why": "The sign-up form requires ticking an 'I'm not a robot' box"
   },
   {
    "what": "Get an access key to use the service",
    "why": "Keys are only created inside the account dashboard, which needs sign-up first"
   },
   {
    "what": "Sell any product, take any payment, or manage any subscription",
    "why": "All of this needs a logged-in account, which could not be created"
   },
   {
    "what": "Cancel a paid plan",
    "why": "No plan was ever started, so cancelling was never tested"
   }
  ]
 },
 "plan_gated": [],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "group": "ecommerce",
   "capability": "Add and sell a digital product",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/products (via dashboard; products API is read-only)",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Products > Add product"
   },
   "check": "GET /v1/products/{id} shows the new product with a status of published",
   "source": "https://docs.lemonsqueezy.com/help/products/adding-products; https://docs.lemonsqueezy.com/api/products"
  },
  {
   "id": "cap-02",
   "group": "ecommerce",
   "capability": "Accept an online payment for a product",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/checkouts",
    "mcp": null,
    "cli": null,
    "ui": "Hosted checkout / checkout overlay"
   },
   "check": "GET /v1/orders/{id} shows status paid",
   "source": "https://docs.lemonsqueezy.com/api/checkouts; https://www.lemonsqueezy.com/ecommerce/payments"
  },
  {
   "id": "cap-03",
   "group": "ecommerce",
   "capability": "Set up recurring billing / subscription plan",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/checkouts (variant with subscription price)",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Products > Variant > Subscription pricing"
   },
   "check": "GET /v1/subscriptions/{id} shows status active with a renews_at date",
   "source": "https://docs.lemonsqueezy.com/guides/tutorials/saas-subscription-plans; https://docs.lemonsqueezy.com/api/subscriptions/the-subscription-object"
  },
  {
   "id": "cap-04",
   "group": "ecommerce",
   "capability": "Manage a customer's subscription (upgrade, downgrade, pause, cancel, resume)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "PATCH /v1/subscriptions/{id}",
    "mcp": null,
    "cli": null,
    "ui": "Customer Portal / Dashboard > Subscriptions"
   },
   "check": "GET /v1/subscriptions/{id} reflects new status (e.g. cancelled=true, ends_at set, or pause object populated)",
   "source": "https://docs.lemonsqueezy.com/api/subscriptions/update-subscription; https://docs.lemonsqueezy.com/help/online-store/customer-portal"
  },
  {
   "id": "cap-05",
   "group": "ecommerce",
   "capability": "Offer a free trial on a subscription",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Product > Variant > Free trial settings"
   },
   "check": "GET /v1/subscriptions/{id} shows status on_trial with trial_ends_at populated",
   "source": "https://www.lemonsqueezy.com/ecommerce/subscriptions; https://docs.lemonsqueezy.com/api/subscriptions/the-subscription-object"
  },
  {
   "id": "cap-06",
   "group": "ecommerce",
   "capability": "Issue and manage license keys for software sales",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET/PATCH /v1/license-keys; POST license-api/activate",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > License Keys"
   },
   "check": "GET /v1/license-keys/{id} status field changes between inactive/active/disabled after activation or dashboard disable",
   "source": "https://docs.lemonsqueezy.com/help/licensing/generating-license-keys; https://docs.lemonsqueezy.com/api/license-api"
  },
  {
   "id": "cap-07",
   "group": "ecommerce",
   "capability": "Activate, validate, deactivate a license key from an app",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/licenses/activate, /validate, /deactivate",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "POST .../validate returns valid:true after activation and valid:false after deactivation",
   "source": "https://docs.lemonsqueezy.com/api/license-api"
  },
  {
   "id": "cap-08",
   "group": "ecommerce",
   "capability": "Sell a digital download with secure signed delivery",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/files",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Products > Files"
   },
   "check": "Order confirmation email / order object includes a signed, time-limited download URL",
   "source": "https://www.lemonsqueezy.com/ecommerce/digital-products; https://docs.lemonsqueezy.com/api/files"
  },
  {
   "id": "cap-09",
   "group": "ecommerce",
   "capability": "Launch a no-code hosted checkout link or embedded overlay",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/checkouts",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Checkout links; Lemon.js overlay embed"
   },
   "check": "Generated checkout URL/object returns a url field that opens a working checkout page",
   "source": "https://www.lemonsqueezy.com/ecommerce/checkout-overlays; https://docs.lemonsqueezy.com/api/checkouts"
  },
  {
   "id": "cap-10",
   "group": "ecommerce",
   "capability": "Launch a full ecommerce storefront (online store)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Store settings / my-store.lemonsqueezy.com"
   },
   "check": "The store's public URL renders a live, mobile-optimized storefront listing products",
   "source": "https://www.lemonsqueezy.com/ecommerce/online-stores"
  },
  {
   "id": "cap-11",
   "group": "secondary",
   "capability": "Bundle products together as a package",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Products > Bundles"
   },
   "check": "A bundle product's checkout grants access to all bundled component products after purchase",
   "source": "https://www.lemonsqueezy.com/ (marketing section 'Create bundles + upsells')"
  },
  {
   "id": "cap-12",
   "group": "secondary",
   "capability": "Create and manage discount / coupon codes",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET/POST /v1/discounts",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Discounts"
   },
   "check": "GET /v1/discounts/{id} shows the code, and a checkout applying it reduces the order total",
   "source": "https://docs.lemonsqueezy.com/api/discounts; https://www.lemonsqueezy.com/marketing/discount-codes"
  },
  {
   "id": "cap-13",
   "group": "secondary",
   "capability": "Run a lead magnet / pay-what-you-want offer",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Products > Pricing (name your price)"
   },
   "check": "Checkout page allows the buyer to enter a custom amount and completes an order at that amount",
   "source": "https://www.lemonsqueezy.com/marketing/lead-magnets"
  },
  {
   "id": "cap-14",
   "group": "secondary",
   "capability": "Send email marketing campaigns to customers",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Email marketing"
   },
   "check": "A sent campaign appears in the email marketing dashboard with delivery/open stats",
   "source": "https://www.lemonsqueezy.com/ (marketing section); https://www.lemonsqueezy.com/pricing"
  },
  {
   "id": "cap-15",
   "group": "secondary",
   "capability": "Segment customers automatically by behavior",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Email marketing > Segments"
   },
   "check": "A segment view lists customers matching the defined purchase/interaction rule, updating as new orders occur",
   "source": "https://www.lemonsqueezy.com/pricing (feature 'Automatic segmentation')"
  },
  {
   "id": "cap-16",
   "group": "secondary",
   "capability": "View customer profiles and purchase history",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/customers/{id}",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Customers"
   },
   "check": "GET /v1/customers/{id} returns totals and order history consistent with dashboard customer detail page",
   "source": "https://docs.lemonsqueezy.com/api/customers; https://www.lemonsqueezy.com/reporting/customer-management"
  },
  {
   "id": "cap-17",
   "group": "secondary",
   "capability": "View revenue, MRR, and churn reporting",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Insights/Reporting"
   },
   "check": "Reporting dashboard shows MRR/revenue figures that change after a new paid order is recorded",
   "source": "https://www.lemonsqueezy.com/ (Reporting section)"
  },
  {
   "id": "cap-18",
   "group": "secondary",
   "capability": "Recover failed/abandoned payments via dunning",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Settings > Subscriptions (dunning)"
   },
   "check": "A subscription with a failed renewal moves through past_due retries per docs, then unpaid/expired if dunning exhausted; visible via GET /v1/subscriptions/{id} status",
   "source": "https://docs.lemonsqueezy.com/help/online-store/recovery-dunning; https://docs.lemonsqueezy.com/api/subscriptions/the-subscription-object"
  },
  {
   "id": "cap-19",
   "group": "secondary",
   "capability": "Register webhooks for store events",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/webhooks",
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Settings > Webhooks"
   },
   "check": "GET /v1/webhooks/{id} shows the registered URL/events, and the endpoint receives a signed payload on a matching event",
   "source": "https://docs.lemonsqueezy.com/api/webhooks; https://docs.lemonsqueezy.com/guides/developer-guide/webhooks"
  },
  {
   "id": "cap-20",
   "group": "secondary",
   "capability": "Query orders, customers, subscriptions and products via REST API",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/orders, /v1/customers, /v1/subscriptions, /v1/products",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "A GET request with a valid API key returns a JSON:API list matching the store's dashboard data",
   "source": "https://docs.lemonsqueezy.com/api"
  },
  {
   "id": "cap-21",
   "group": "secondary",
   "capability": "Let customers self-manage billing in a Customer Portal",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "customer_portal URL on subscription object",
    "mcp": null,
    "cli": null,
    "ui": "Hosted Customer Portal"
   },
   "check": "Visiting the signed customer_portal URL lets the customer update payment method or cancel, reflected in GET /v1/subscriptions/{id}",
   "source": "https://docs.lemonsqueezy.com/help/online-store/customer-portal; https://docs.lemonsqueezy.com/api/subscriptions/the-subscription-object"
  },
  {
   "id": "cap-22",
   "group": "secondary",
   "capability": "Accept multiple payment methods (cards, PayPal, and 20+ instant methods)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Checkout payment method selector"
   },
   "check": "Checkout page offers PayPal and local instant payment methods based on buyer location/currency",
   "source": "https://docs.lemonsqueezy.com/help/checkout/payment-methods; https://www.lemonsqueezy.com/"
  },
  {
   "id": "cap-23",
   "group": "secondary",
   "capability": "Price and charge customers in their local currency",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Checkout currency detection"
   },
   "check": "Checkout displays and charges the order total in the buyer's local currency rather than store default",
   "source": "https://www.lemonsqueezy.com/ (Local currency support section)"
  },
  {
   "id": "cap-24",
   "group": "secondary",
   "capability": "Record usage-based billing items for metered pricing",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/usage-records",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "GET /v1/usage-records shows the submitted quantity, and the next subscription invoice reflects it",
   "source": "https://docs.lemonsqueezy.com/api/usage-records"
  },
  {
   "id": "cap-25",
   "group": "secondary",
   "capability": "Invite and manage team members with roles",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Settings > Teammates"
   },
   "check": "Invited teammate account appears in the team list and can sign in to the store dashboard",
   "source": "https://docs.lemonsqueezy.com/help (team/teammates settings referenced in dashboard navigation)"
  },
  {
   "id": "cap-26",
   "group": "peripheral",
   "capability": "Automated global sales tax (VAT/GST) collection and remittance as merchant of record",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Automatic at checkout"
   },
   "check": "Order object/tax line shows tax calculated and collected for the buyer's jurisdiction without seller configuration",
   "source": "https://www.lemonsqueezy.com/ (Global tax compliance); https://docs.lemonsqueezy.com/help/tax-forms"
  },
  {
   "id": "cap-27",
   "group": "peripheral",
   "capability": "AI-based fraud detection and risk scoring on transactions",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Automatic; flagged orders in Dashboard"
   },
   "check": "A suspicious order is flagged/blocked in the dashboard order list with a fraud-risk indicator",
   "source": "https://www.lemonsqueezy.com/ (A.I. fraud prevention section)"
  },
  {
   "id": "cap-28",
   "group": "peripheral",
   "capability": "Add a custom domain to the store",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Settings > Domain"
   },
   "check": "The configured custom domain resolves to the store's checkout/storefront instead of the default lemonsqueezy.com subdomain",
   "source": "https://www.lemonsqueezy.com/pricing (feature 'Add your custom domain')"
  },
  {
   "id": "cap-29",
   "group": "peripheral",
   "capability": "Generate and view API keys for integration",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard > Settings > API"
   },
   "check": "A newly created API key authenticates successfully against GET /v1/users/me",
   "source": "https://docs.lemonsqueezy.com/api#authentication"
  },
  {
   "id": "cap-30",
   "group": "peripheral",
   "capability": "Download business guides (Creator Guide, Merchant of Record Guide)",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Website > Support section downloads"
   },
   "check": "Checkout for the free guide completes and delivers the PDF download link",
   "source": "https://www.lemonsqueezy.com/ (Support section, Creator Guide / Merchant of Record Guide)"
  }
 ],
 "attempts": [
  {
   "cap": "discovery",
   "capability": "Docs, llms.txt, markdown",
   "task": "Find docs, llms.txt, markdown versions",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "docs.lemonsqueezy.com/api 200 HTML; /llms.txt 404 on docs and www; Accept: text/markdown returns text/html (vary: RSC..., no Accept); /api.md 404; no OpenAPI link found in API docs",
   "notes": "REST JSON:API, API ref lists ~70 operations; no OpenAPI, no llms.txt, no markdown",
   "t": "05:19"
  },
  {
   "cap": "discovery",
   "capability": "robots and aipref",
   "task": "Read robots.txt",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "www.lemonsqueezy.com/robots.txt: 'User-agent: * / Disallow: /backups/ / Sitemap'; no Content-Usage or Content-signal; docs and app hosts robots.txt 404",
   "notes": "sign-up not disallowed",
   "t": "05:19"
  },
  {
   "cap": "discovery",
   "capability": "MCP / agent cards",
   "task": "Look for MCP server, AI catalog, A2A card, PRM",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "www /.well-known/ai-catalog.json 404, /.well-known/agent-card.json 404, /mcp 404, /.well-known/ucp 404; api.lemonsqueezy.com/.well-known/oauth-protected-resource 404 HTML; web search: no first-party MCP, only third-party (Pipedream, Zapier, community GitHub servers)",
   "notes": "no official MCP server; no MCP endpoint to send server/discover to",
   "t": "05:19"
  },
  {
   "cap": "discovery",
   "capability": "SDK",
   "task": "Check official SDK",
   "route": "sdk",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "npm @lemonsqueezy/lemonsqueezy.js latest 4.0.0 'The official Lemon Squeezy JavaScript SDK.'",
   "t": "05:19"
  },
  {
   "cap": "pay",
   "capability": "Pay step public probes",
   "task": "402 probes, registries, checkout, trial",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "pay_probe.json options: only first-party checkout on pricing page; pay_tx.json refused: 'no 402 on the product's own domain asks for USDC'; api.lemonsqueezy.com/v1/products unauth -> 401 JSON:API (no 402); x402./mpp./agents.lemonsqueezy.com -> 404; /.well-known/ucp 404; pricing page: '5% + 50¢ per transaction... no monthly charges for ecommerce features'; email marketing '$0 / m ... free for up to 500 subscribers'",
   "notes": "free to start, fees per sale; no agent rail; no plan or trial to start",
   "t": "05:19"
  },
  {
   "cap": "signup",
   "capability": "Sign up",
   "task": "Create account at auth.lemonsqueezy.com/register",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Browser: business-intent form (name, website, country=Netherlands) -> /signup/smp recommends Stripe Managed Payments; 'Continue with Lemon Squeezy' -> reason dialog (Other + text) -> /register with Name, Email, Password and a reCAPTCHA v2 'I'm not a robot' checkbox; Create account button disabled until ticked (click timed out).",
   "notes": "No API/CLI sign-up documented. Wall: reCAPTCHA v2 checkbox.",
   "t": "05:19"
  },
  {
   "cap": "verify",
   "capability": "Verify email",
   "task": "Verify sign-up mail",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account created: sign-up stopped at the reCAPTCHA checkbox",
   "t": "05:19"
  },
  {
   "cap": "credentials",
   "capability": "API key",
   "task": "Get an API key",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Docs: 'You can view and manage your API keys in your Lemon Squeezy account settings' (dashboard only, keys valid a year); no account, so no key",
   "quality": {},
   "t": "05:19"
  },
  {
   "cap": "credentials",
   "capability": "Create scoped key headless",
   "task": "Create, use, revoke an API key through the API",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "key": "create",
   "evidence": "API reference lists no API-key endpoint (Users, Stores, Customers, Products, Variants, Prices, Files, Orders, Subscriptions, Usage Records, Discounts, License Keys, Checkouts, Webhooks, License API, Affiliates); keys only in dashboard settings; and no account",
   "t": "05:19"
  },
  {
   "cap": "first_call",
   "capability": "First authenticated call",
   "task": "GET /v1/users/me",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "GET /v1/users/me with no valid key -> 401 application/vnd.api+json {'errors':[{'detail':'Unauthenticated.','status':'401','title':'Unauthorized'}]}",
   "quality": {
    "error_legibility": "clear",
    "docs_url": "https://docs.lemonsqueezy.com/api/getting-started/requests"
   },
   "t": "05:20"
  },
  {
   "cap": "first_action",
   "capability": "First create",
   "task": "Create a checkout",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "POST /v1/checkouts without key -> 401 Unauthenticated; no account",
   "t": "05:20"
  },
  {
   "cap": "cap-01",
   "capability": "Add and sell a digital product",
   "task": "Drive add and sell a digital product in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"POST /v1/products (via dashboard; products API is read-only)\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Products > Add product\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://docs.lemonsqueezy.com/help/products/adding-products"
   },
   "t": "05:58"
  },
  {
   "cap": "cap-02",
   "capability": "Accept an online payment for a product",
   "task": "Drive accept an online payment for a product in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"POST /v1/checkouts\", \"mcp\": null, \"cli\": null, \"ui\": \"Hosted checkout / checkout overlay\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://docs.lemonsqueezy.com/api/checkouts"
   },
   "t": "05:58"
  },
  {
   "cap": "cap-03",
   "capability": "Set up recurring billing / subscription plan",
   "task": "Drive set up recurring billing / subscription plan in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"POST /v1/checkouts (variant with subscription price)\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Products > Variant > Subscription pricing\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://docs.lemonsqueezy.com/guides/tutorials/saas-subscription-plans"
   },
   "t": "05:58"
  },
  {
   "cap": "cap-04",
   "capability": "Manage a customer's subscription (upgrade, downgrade, pause, cancel, resume)",
   "task": "Drive manage a customer's subscription (upgrade, downgrade, pause, cancel, resume) in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"PATCH /v1/subscriptions/{id}\", \"mcp\": null, \"cli\": null, \"ui\": \"Customer Portal / Dashboard > Subscriptions\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://docs.lemonsqueezy.com/api/subscriptions/update-subscription"
   },
   "t": "05:58"
  },
  {
   "cap": "cap-05",
   "capability": "Offer a free trial on a subscription",
   "task": "Drive offer a free trial on a subscription in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Product > Variant > Free trial settings\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://www.lemonsqueezy.com/ecommerce/subscriptions"
   },
   "t": "05:58"
  },
  {
   "cap": "cap-06",
   "capability": "Issue and manage license keys for software sales",
   "task": "Drive issue and manage license keys for software sales in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"GET/PATCH /v1/license-keys; POST license-api/activate\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > License Keys\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://docs.lemonsqueezy.com/help/licensing/generating-license-keys"
   },
   "t": "05:58"
  },
  {
   "cap": "cap-07",
   "capability": "Activate, validate, deactivate a license key from an app",
   "task": "Validate a license key from an app via the public License API",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "POST https://api.lemonsqueezy.com/v1/licenses/validate (no auth, as documented) with a made-up key -> 404 application/json {'valid':false,'error':'license_key not found.'}; x-ratelimit-limit: 300. A real key needs a store and an order of our own.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "error_legibility": "clear",
    "docs_url": "https://docs.lemonsqueezy.com/api/license-api",
    "verify_route": "yes"
   },
   "t": "05:59"
  },
  {
   "cap": "cap-08",
   "capability": "Sell a digital download with secure signed delivery",
   "task": "Drive sell a digital download with secure signed delivery in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"GET /v1/files\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Products > Files\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://www.lemonsqueezy.com/ecommerce/digital-products"
   },
   "t": "05:59"
  },
  {
   "cap": "cap-09",
   "capability": "Launch a no-code hosted checkout link or embedded overlay",
   "task": "Drive launch a no-code hosted checkout link or embedded overlay in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"POST /v1/checkouts\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Checkout links; Lemon.js overlay embed\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://www.lemonsqueezy.com/ecommerce/checkout-overlays"
   },
   "t": "05:59"
  },
  {
   "cap": "cap-10",
   "capability": "Launch a full ecommerce storefront (online store)",
   "task": "Drive launch a full ecommerce storefront (online store) in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Store settings / my-store.lemonsqueezy.com\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://www.lemonsqueezy.com/ecommerce/online-stores"
   },
   "t": "05:59"
  },
  {
   "cap": "cap-11",
   "capability": "Bundle products together as a package",
   "task": "Drive bundle products together as a package in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Products > Bundles\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "05:59"
  },
  {
   "cap": "cap-12",
   "capability": "Create and manage discount / coupon codes",
   "task": "Drive create and manage discount / coupon codes in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"GET/POST /v1/discounts\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Discounts\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "05:59"
  },
  {
   "cap": "cap-13",
   "capability": "Run a lead magnet / pay-what-you-want offer",
   "task": "Drive run a lead magnet / pay-what-you-want offer in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Products > Pricing (name your price)\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "05:59"
  },
  {
   "cap": "cap-14",
   "capability": "Send email marketing campaigns to customers",
   "task": "Drive send email marketing campaigns to customers in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Email marketing\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "05:59"
  },
  {
   "cap": "cap-15",
   "capability": "Segment customers automatically by behavior",
   "task": "Drive segment customers automatically by behavior in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Email marketing > Segments\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-16",
   "capability": "View customer profiles and purchase history",
   "task": "Drive view customer profiles and purchase history in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"GET /v1/customers/{id}\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Customers\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-17",
   "capability": "View revenue, MRR, and churn reporting",
   "task": "Drive view revenue, mrr, and churn reporting in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Insights/Reporting\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-18",
   "capability": "Recover failed/abandoned payments via dunning",
   "task": "Drive recover failed/abandoned payments via dunning in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Settings > Subscriptions (dunning)\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-19",
   "capability": "Register webhooks for store events",
   "task": "Drive register webhooks for store events in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"POST /v1/webhooks\", \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Settings > Webhooks\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-20",
   "capability": "Query orders, customers, subscriptions and products via REST API",
   "task": "Drive query orders, customers, subscriptions and products via rest api in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"GET /v1/orders, /v1/customers, /v1/subscriptions, /v1/products\", \"mcp\": null, \"cli\": null, \"ui\": null}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-21",
   "capability": "Let customers self-manage billing in a Customer Portal",
   "task": "Drive let customers self-manage billing in a customer portal in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"customer_portal URL on subscription object\", \"mcp\": null, \"cli\": null, \"ui\": \"Hosted Customer Portal\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-22",
   "capability": "Accept multiple payment methods (cards, PayPal, and 20+ instant methods)",
   "task": "Drive accept multiple payment methods (cards, paypal, and 20+ instant methods) in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Checkout payment method selector\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-23",
   "capability": "Price and charge customers in their local currency",
   "task": "Drive price and charge customers in their local currency in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Checkout currency detection\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-24",
   "capability": "Record usage-based billing items for metered pricing",
   "task": "Drive record usage-based billing items for metered pricing in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": \"POST /v1/usage-records\", \"mcp\": null, \"cli\": null, \"ui\": null}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-25",
   "capability": "Invite and manage team members with roles",
   "task": "Drive invite and manage team members with roles in our own test store",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Surfaces: {\"api\": null, \"mcp\": null, \"cli\": null, \"ui\": \"Dashboard > Settings > Teammates\"}. Every route needs a signed-in store or an API key from the dashboard.",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {},
   "t": "06:00"
  },
  {
   "cap": "cap-26",
   "capability": "Automated global sales tax (VAT/GST) collection and remittance as merchant of record",
   "task": "Check it exists and is documented",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "docs.lemonsqueezy.com/help/payments/merchant-of-record 200 (merchant of record, automatic tax at checkout); no API",
   "notes": "docs check only; using it needs an account. Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "t": "06:00"
  },
  {
   "cap": "cap-27",
   "capability": "AI-based fraud detection and risk scoring on transactions",
   "task": "Check it exists and is documented",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "www.lemonsqueezy.com/reporting/fraud-prevention listed in sitemap; no API",
   "notes": "docs check only; using it needs an account. Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "t": "06:00"
  },
  {
   "cap": "cap-28",
   "capability": "Add a custom domain to the store",
   "task": "Check it exists and is documented",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "docs.lemonsqueezy.com/help/domains/adding-a-custom-domain in docs nav; dashboard only, no API",
   "notes": "docs check only; using it needs an account. Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "t": "06:00"
  },
  {
   "cap": "cap-29",
   "capability": "Generate and view API keys for integration",
   "task": "Check it exists and is documented",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "API docs: 'You can view and manage your API keys in your Lemon Squeezy account settings', keys valid a year, live and test mode; no API endpoint",
   "notes": "docs check only; using it needs an account. Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "t": "06:00"
  },
  {
   "cap": "cap-30",
   "capability": "Download business guides (Creator Guide, Merchant of Record Guide)",
   "task": "Check it exists and is documented",
   "route": "none",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "www.lemonsqueezy.com/creator-guide 200 and /guide-to-merchant-of-record in sitemap; public, no account needed",
   "notes": "docs check only",
   "t": "06:01"
  },
  {
   "cap": "delete",
   "capability": "Delete account",
   "task": "Delete the account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account was created (sign-up stopped at reCAPTCHA). API reference has no account or store delete endpoint; no delete-account help page found (/help/account/delete-account 404).",
   "t": "06:01"
  },
  {
   "cap": "cancel",
   "capability": "Cancel plan",
   "task": "Cancel a plan",
   "route": "none",
   "documented": true,
   "result": "skipped",
   "verified": false,
   "evidence": "Nothing started: no monthly plan for ecommerce ('no monthly charges'); email marketing free up to 500 subscribers",
   "notes": "not tested: no plan or trial was started",
   "t": "06:01"
  },
  {
   "cap": "cap-05",
   "capability": "Offer a free trial on a subscription",
   "task": "Try it in the dashboard in the browser",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "UI-only capability; the dashboard needs a signed-in account; browser sign-up stopped at reCAPTCHA v2 checkbox on auth.lemonsqueezy.com/register (browser/shots/009.png)",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://docs.lemonsqueezy.com/help/products/free-trials"
   },
   "t": "06:06"
  },
  {
   "cap": "cap-10",
   "capability": "Launch a full ecommerce storefront (online store)",
   "task": "Try it in the dashboard in the browser",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "UI-only capability; the dashboard needs a signed-in account; browser sign-up stopped at reCAPTCHA v2 checkbox on auth.lemonsqueezy.com/register (browser/shots/009.png)",
   "notes": "Not reached: no account. Sign-up stops at a reCAPTCHA v2 'I'm not a robot' checkbox on auth.lemonsqueezy.com/register.",
   "quality": {
    "docs_url": "https://docs.lemonsqueezy.com/help/online-store/enabling-store"
   },
   "t": "06:06"
  }
 ],
 "stale": false,
 "icon": "/logos/lemonsqueezy.png",
 "monitored": false,
 "verdict": "Needs a person: gets in only when a person signs up and makes the key. Our agent stopped at signup, where an \"I'm not a robot\" checkbox sits between a business form and account creation, with no API or CLI way around it. Past that wall it reached only the public docs, the License API and the official JS SDK; calling the core endpoints without a key returned Unauthenticated, and no key, account or product work could be driven. Paying, cancelling and deleting were never reached: no account existed to test them against.",
 "page": "https://agentdrives.com/tools/lemonsqueezy?via=api"
}