{
 "slug": "ecwid",
 "name": "Ecwid",
 "url": "https://ecwid.com",
 "domain": "ecwid.com",
 "category": "ecommerce",
 "category_name": "E-commerce",
 "tested_at": "2026-10-12",
 "run": "20261012T091529Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261006T014832Z",
   "date": "2026-10-06",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": "claude-opus-5-5",
    "driver": 2,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "start"
   }
  },
  {
   "run": "20261012T091529Z",
   "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: llms.txt",
   "have": [
    "llms_txt"
   ]
  },
  {
   "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": null,
 "scores": {
  "coverage": null,
  "reliability": null,
  "resilience": null,
  "setup": 50,
  "surface_coverage": null,
  "docs_accuracy": null,
  "docs_completeness": null
 },
 "parts": {
  "holds_up": null,
  "docs_match": null,
  "setup": 50,
  "security": null,
  "standards": []
 },
 "reliability_method": null,
 "resilience": null,
 "stress": [],
 "surface_audit": null,
 "coverage_core": null,
 "after_wall": null,
 "coverage_source": "reported",
 "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": "Cloudflare Turnstile",
  "visible": true,
  "type": "network",
  "human": null,
  "how": "Let verified bots and signed agents past the check on sign-up: in Cloudflare, add a WAF custom rule that skips the bot challenge on your sign-up paths for verified bots and for signed agents (rule field cf.bot_management.signed_agent; since 1 July 2026 signed agents count as verified bots), and render Turnstile only when the request is not from a verified agent.",
  "signed": true
 },
 "agent_pass": null,
 "who_gets_in": {
  "server": {
   "state": "form"
  },
  "signed": {
   "state": "page",
   "kind": "home",
   "at": "2026-10-13"
  },
  "browser": {
   "state": "through",
   "measured": false
  },
  "our_key": "pending",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "docs.ecwid.com (GitBook): llms.txt, .md pages and Accept: text/markdown all work; docs-search MCP."
  },
  "signup": {
   "status": "human",
   "note": "Web form only at my.ecwid.com/cp; a visible Cloudflare Turnstile checkbox appears on submit."
  },
  "verify": {
   "status": "",
   "note": "Not reached: no account.",
   "reached": false
  },
  "credentials": {
   "status": "",
   "note": "Not reached. Docs: tokens come from a custom app in the control panel, and only stores on paid plans can use the API. No API or CLI route to create a store or token.",
   "reached": false
  },
  "first_call": {
   "status": "",
   "note": "Not reached: no token.",
   "reached": false
  },
  "first_action": {
   "status": "",
   "note": "Not reached: no token.",
   "reached": false
  },
  "pay": {
   "status": "",
   "grade": "P1",
   "rails": [
    "plan checkout in the control panel (not reached)"
   ],
   "rail_ids": [
    "other"
   ],
   "first_party": true,
   "rail_scope": "none",
   "trial_path": "none",
   "note": "No 402, x402, MPP, UCP or registry listing. We paid nothing. The pricing page lists Starter $5, Venture $35 and Business $65 a month, with no free plan or trial shown. You buy inside the control panel, which is behind the sign-up check. We did not see the checkout.",
   "reached": false
  },
  "cancel": {
   "status": "",
   "note": "not tested: no plan or trial was started. Pricing FAQ: plans are month-to-month and can be changed whenever; this is done in the control panel.",
   "docs_grade": "",
   "reached": false
  },
  "delete": {
   "status": "",
   "note": "No account was created, so there was nothing to delete.",
   "account": false,
   "reached": false
  }
 },
 "routes": [],
 "checkout": null,
 "docs": null,
 "claims": null,
 "pay_options": {
  "checked": "2026-10-12",
  "source": "probe",
  "options": [],
  "agentic": [],
  "paid": null,
  "exercised": null,
  "detected_grade": null,
  "trial": {
   "no_card": null,
   "card_required": null,
   "free_plan": null
  },
  "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": false,
  "mcp": "none",
  "llms_txt": true,
  "webhooks": true,
  "sandbox": false
 },
 "surface_notes": {
  "api": "REST v3 at app.ecwid.com/api/v3/{storeId}; paid plans only, per docs",
  "mcp": "docs-search only (GitBook), the older 18 Jun 2025 spec",
  "llms_txt": "docs.ecwid.com/llms.txt"
 },
 "can_do": [
  "Read and search the Ecwid developer docs as Markdown (llms.txt, .md URLs, a docs MCP)"
 ],
 "cannot_do": [
  {
   "what": "Open a store",
   "why": "A Cloudflare Turnstile checkbox on the sign-up form, and no API sign-up"
  },
  {
   "what": "Get an API token",
   "why": "Tokens come only from the control panel, and the API is for paid-plan stores only"
  },
  {
   "what": "Manage products, orders, categories",
   "why": "Not reached: no account"
  }
 ],
 "blockers": [
  "Visible Cloudflare Turnstile on the sign-up form",
  "API limited to paid plans, and tokens come only from the web control panel"
 ],
 "tips_for_owner": [
  "Let verified signed agents past sign-up",
  "Offer an API route to create test stores",
  "Give new stores API access on a free tier",
  "Accept an agent payment rail for plans"
 ],
 "tips_for_agents": [
  "Read the docs as Markdown: append .md or use docs.ecwid.com/llms.txt; the docs MCP at docs.ecwid.com/~gitbook/mcp speaks 2025-06-18.",
  "You need a human to sign up (a Turnstile checkbox), and a paid plan or a free dev upgrade by email before the REST API works.",
  "Once you have a token, the REST API is app.ecwid.com/api/v3/{storeId} with a Bearer secret token from the custom app."
 ],
 "selfhost": null,
 "summary": "An agent can read Ecwid's developer docs well (llms.txt, Markdown pages, a docs-search MCP), but it cannot open a store: the sign-up form shows a visible Cloudflare Turnstile checkbox, and there is no API sign-up. Even past that, the docs say the REST API works only for paid-plan stores, and tokens come only from the web control panel.",
 "wall": "Cloudflare Turnstile on the sign-up form",
 "plan_scope": "",
 "robots_stop": null,
 "robots": null,
 "plain": {
  "summary": "Ecwid is an e-commerce platform for building online stores. The agent could only read Ecwid's developer documentation on its own; it could not even create a store account because a visible human-verification checkbox blocked the sign-up form.",
  "can_do": [
   "Read and search Ecwid's developer documentation in machine-readable formats"
  ],
  "cannot_do": [
   {
    "what": "Create an Ecwid store",
    "why": "A visible 'prove you're human' checkbox blocks the sign-up form"
   },
   {
    "what": "Get an API key or manage products, orders, or payments",
    "why": "None of this is reachable without first creating an account"
   }
  ]
 },
 "plan_gated": [],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "group": "Catalog",
   "capability": "Add and manage products in the catalog",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /products, PUT /products/{id}, DELETE /products/{id}",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Catalog > Products"
   },
   "check": "GET /products/{id} returns the created/updated/absent product",
   "source": "https://docs.ecwid.com/api-reference/rest-api/rest-api-overview; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-02",
   "group": "Catalog",
   "capability": "Organize products into categories",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /categories, PUT /categories/{id}, POST /categories/{id}/products",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Catalog > Categories"
   },
   "check": "GET /categories/{id} shows product assigned via productIds",
   "source": "https://docs.ecwid.com/api-reference/rest-api/categories/search-categories; https://docs.ecwid.com/api-reference/rest-api/categories/manage-order-of-products-in-the-category/assign-products-to-the-category"
  },
  {
   "id": "cap-03",
   "group": "Store launch",
   "capability": "Build and publish a storefront website",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Website editor"
   },
   "check": "Store's company.site URL or custom domain renders the published catalog",
   "source": "https://www.ecwid.com/website; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-04",
   "group": "Orders",
   "capability": "Receive and process customer orders",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET /orders, PUT /orders/{id}",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Sales channels > Orders"
   },
   "check": "GET /orders/{orderNumber} shows fulfillmentStatus/paymentStatus change after update",
   "source": "https://docs.ecwid.com/api-reference/rest-api/orders/search-orders; https://www.ecwid.com/order-management"
  },
  {
   "id": "cap-05",
   "group": "Orders",
   "capability": "Create an order on a customer's behalf",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /orders",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Orders > Add order"
   },
   "check": "GET /orders/{id} returns the newly created order with its line items",
   "source": "https://docs.ecwid.com/guides/orders/create-orders/place-new-order-with-api"
  },
  {
   "id": "cap-06",
   "group": "Checkout & payments",
   "capability": "Accept online payments at checkout",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "Payment API (online-payments-overview)",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Payment"
   },
   "check": "Order shows paymentStatus PAID after checkout with a configured gateway",
   "source": "https://www.ecwid.com/payments; https://docs.ecwid.com/guides/payments/online-payments-overview"
  },
  {
   "id": "cap-07",
   "group": "Checkout & shipping",
   "capability": "Calculate and offer shipping rates at checkout",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "Shipping API (online-shipping-methods-overview)",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Shipping"
   },
   "check": "Checkout cart returns a shippingOption with calculated rate",
   "source": "https://www.ecwid.com/shipping-automation; https://docs.ecwid.com/guides/shipping-methods/online-shipping-methods-overview"
  },
  {
   "id": "cap-08",
   "group": "Multichannel selling",
   "capability": "Sell products on social and marketplace channels (Instagram, Facebook, TikTok, Pinterest, Snapchat, Google, marketplaces)",
   "weight": "core",
   "plan": "trial",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Sales channels"
   },
   "check": "Product listing appears live on the connected channel (e.g. Instagram shop tab) matching catalog data",
   "source": "https://www.ecwid.com/instagram; https://www.ecwid.com/facebook-commerce; https://www.ecwid.com/marketplaces; https://www.ecwid.com/sell-on-google"
  },
  {
   "id": "cap-09",
   "group": "In-person selling",
   "capability": "Sell in person with POS (Lightspeed Retail)",
   "weight": "core",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Lightspeed Retail POS connection"
   },
   "check": "In-store POS sale reduces stock level reflected in GET /products/{id}",
   "source": "https://www.ecwid.com/pos"
  },
  {
   "id": "cap-10",
   "group": "Inventory",
   "capability": "Track and manage stock levels across channels",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "PUT /products/{id} (quantity, unlimited)",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Catalog > Products > Stock"
   },
   "check": "GET /products/{id} quantity decrements after an order and low-stock alert triggers at threshold",
   "source": "https://www.ecwid.com/inventory-management"
  },
  {
   "id": "cap-11",
   "group": "Discounts",
   "capability": "Create automatic promotions / planned sales events",
   "weight": "secondary",
   "plan": "business",
   "surfaces": {
    "api": "POST /promotions, GET /promotions",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Marketing > Promotions"
   },
   "check": "GET /promotions/{id} shows active promotion applied to a qualifying cart total",
   "source": "https://docs.ecwid.com/discounts-and-tips/add-discounts-to-the-store/automatic-discounts-promotions; https://docs.ecwid.com/api-reference/rest-api/discounts/promotions/create-promotion; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-12",
   "group": "Discounts",
   "capability": "Create discount coupons",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": "POST /discount_coupons, GET /discount_coupons",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Marketing > Discount coupons"
   },
   "check": "Applying coupon code at checkout reduces order total, verified via GET /orders/{id}",
   "source": "https://docs.ecwid.com/discounts-and-tips/add-discounts-to-the-store/discount-coupons; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-13",
   "group": "Checkout",
   "capability": "Collect tips or surcharges at checkout",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Checkout"
   },
   "check": "Order detail shows tip amount added to total",
   "source": "https://docs.ecwid.com/discounts-and-tips/add-tips-or-surcharges-to-the-store/add-tips-selection-to-the-checkout"
  },
  {
   "id": "cap-14",
   "group": "Checkout",
   "capability": "Customize the checkout flow and extra fields",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": "checkout extra fields API",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Checkout"
   },
   "check": "GET /orders/{id} returns extraFields value submitted at checkout",
   "source": "https://www.ecwid.com/features/checkout; https://docs.ecwid.com/api-reference/rest-api/checkout-extra-fields"
  },
  {
   "id": "cap-15",
   "group": "Taxes",
   "capability": "Automatically calculate sales tax",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": "order calculate-order-details includes tax",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Taxes"
   },
   "check": "POST calculate-order-details returns taxAmount based on customer address",
   "source": "https://www.ecwid.com/automated-taxes; https://docs.ecwid.com/api-reference/rest-api/orders/calculate-order-details"
  },
  {
   "id": "cap-16",
   "group": "Delivery",
   "capability": "Offer local delivery and pickup options",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Shipping > Pickup & delivery"
   },
   "check": "Checkout shows pickup/local delivery option and order record carries fulfillmentType",
   "source": "https://www.ecwid.com/pickup-delivery"
  },
  {
   "id": "cap-17",
   "group": "Customers",
   "capability": "Manage customer records and groups",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "PUT /customers/{id}, GET /customer_groups",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Customers"
   },
   "check": "GET /customers/{id} reflects edited profile or group membership",
   "source": "https://docs.ecwid.com/api-reference/rest-api/customers/update-customer; https://docs.ecwid.com/api-reference/rest-api/customers/customer-groups/search-customer-groups"
  },
  {
   "id": "cap-18",
   "group": "Customers",
   "capability": "Set wholesale/tiered pricing groups",
   "weight": "secondary",
   "plan": "business",
   "surfaces": {
    "api": "customer group pricing on products",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Customers > Groups"
   },
   "check": "Product price shown to a customer in the wholesale group differs from retail price",
   "source": "https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-19",
   "group": "Customers",
   "capability": "Recover abandoned carts",
   "weight": "secondary",
   "plan": "business",
   "surfaces": {
    "api": "GET /orders/abandoned-carts",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Sales channels > Abandoned carts"
   },
   "check": "GET /abandoned-carts returns cart recorded after checkout abandonment",
   "source": "https://docs.ecwid.com/api-reference/rest-api/orders/abandoned-carts/search-abandoned-carts; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-20",
   "group": "Subscriptions",
   "capability": "Sell subscription products",
   "weight": "secondary",
   "plan": "business",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Catalog > Subscriptions"
   },
   "check": "Customer checkout creates a recurring order visible in order list on renewal date",
   "source": "https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-21",
   "group": "Reviews",
   "capability": "Collect and display product reviews",
   "weight": "secondary",
   "plan": "business",
   "surfaces": {
    "api": "GET /products/{id}/reviews",
    "mcp": null,
    "cli": null,
    "ui": "Storefront product page"
   },
   "check": "GET /products/{id}/reviews returns a submitted review",
   "source": "https://docs.ecwid.com/api-reference/rest-api/products/product-reviews/search-product-reviews; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-22",
   "group": "Product options",
   "capability": "Manage product variations (size, color, etc.)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /products/{id}/variations, POST /products/{id}/variations",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Catalog > Products > Variations"
   },
   "check": "GET /products/{id}/variations/{id} shows the created variation with its own SKU/stock",
   "source": "https://docs.ecwid.com/api-reference/rest-api/products/product-variations/search-product-variations"
  },
  {
   "id": "cap-23",
   "group": "Reports",
   "capability": "View sales and store performance reports",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": "GET /reports (store-reports)",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Reports"
   },
   "check": "GET store-profile reports endpoint returns sales totals matching placed orders",
   "source": "https://www.ecwid.com/reports; https://docs.ecwid.com/api-reference/rest-api/store-profile/store-reports"
  },
  {
   "id": "cap-24",
   "group": "Marketing",
   "capability": "Run automated ad campaigns (Google/social ads)",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Marketing > Advertising"
   },
   "check": "Connected ad account shows an active campaign created from the control panel",
   "source": "https://www.ecwid.com/automated-ads"
  },
  {
   "id": "cap-25",
   "group": "Automation",
   "capability": "Automate workflows with webhooks",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": "Webhook subscriptions",
    "mcp": null,
    "cli": null,
    "ui": "App settings (via custom app)"
   },
   "check": "Creating an order triggers an HTTP POST to the registered webhook endpoint with order payload",
   "source": "https://docs.ecwid.com/webhook-automations/webhook-automations-overview; https://docs.ecwid.com/webhook-automations/webhook-flow-examples/export-new-orders"
  },
  {
   "id": "cap-26",
   "group": "Customization",
   "capability": "Customize storefront behavior with JS API (cart, checkout, customer events)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "JS API (Ecwid.Cart, Ecwid.Customer, OnPageLoaded)",
    "mcp": null,
    "cli": null,
    "ui": "Storefront custom code"
   },
   "check": "Calling Ecwid.Cart.addProduct via browser console updates the visible cart item count",
   "source": "https://docs.ecwid.com/api-reference/advanced/js-api-calls; https://docs.ecwid.com/storefronts/manage-cart-and-checkout/get-cart-details"
  },
  {
   "id": "cap-27",
   "group": "Customization",
   "capability": "Generate pre-filled shareable shopping carts",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "JS API create pre-filled cart link",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Opening the generated cart URL shows the storefront cart pre-populated with the specified products",
   "source": "https://docs.ecwid.com/storefronts/manage-cart-and-checkout/create-pre-filled-shopping-carts"
  },
  {
   "id": "cap-28",
   "group": "Customization",
   "capability": "Customize store theme and site sections",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Website editor > Sections"
   },
   "check": "Published storefront page renders the custom section/theme change",
   "source": "https://docs.ecwid.com/site-themes/; https://www.ecwid.com/customization"
  },
  {
   "id": "cap-29",
   "group": "Mobile",
   "capability": "Manage the store and sell via mobile app",
   "weight": "secondary",
   "plan": "venture",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Ecwid mobile app (iOS/Android)"
   },
   "check": "Order placed via mobile app appears in GET /orders",
   "source": "https://www.ecwid.com/ecwid-mobile; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-30",
   "group": "Localization",
   "capability": "Run a multi-lingual store",
   "weight": "secondary",
   "plan": "business",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Languages"
   },
   "check": "Storefront renders selected language's translated product descriptions",
   "source": "https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-31",
   "group": "Team",
   "capability": "Add staff accounts with role-based access",
   "weight": "peripheral",
   "plan": "business",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Staff accounts"
   },
   "check": "Invited staff member can log into the control panel with their assigned permission level",
   "source": "https://www.ecwid.com/staff-management; https://www.ecwid.com/pricing"
  },
  {
   "id": "cap-32",
   "group": "Domains",
   "capability": "Connect a custom domain",
   "weight": "peripheral",
   "plan": "venture",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Settings > Domain"
   },
   "check": "Storefront resolves at the connected custom domain instead of the default company.site URL",
   "source": "https://www.ecwid.com/domains"
  },
  {
   "id": "cap-33",
   "group": "Integrations",
   "capability": "Install third-party apps from the App Market",
   "weight": "peripheral",
   "plan": "venture",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Control panel > App Market"
   },
   "check": "Installed app appears in the store's active apps list and exposes its configured functionality",
   "source": "https://www.ecwid.com/apps; https://www.ecwid.com/integrations"
  },
  {
   "id": "cap-34",
   "group": "Migration",
   "capability": "Migrate existing products and customers into Ecwid",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "bulk import via REST API",
    "mcp": null,
    "cli": null,
    "ui": "Control panel > Catalog > Import"
   },
   "check": "GET /products after import returns the migrated catalog count matching the source file",
   "source": "https://support.ecwid.com/hc/en-us/articles/115005901109-Migrating-your-store-to-Ecwid"
  },
  {
   "id": "cap-35",
   "group": "Developer",
   "capability": "Build and publish a custom or public app on the App Market",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "App settings API, OAuth app registration",
    "mcp": null,
    "cli": null,
    "ui": "Ecwid Developer portal"
   },
   "check": "Registered app receives an OAuth token and appears in the developer's app list",
   "source": "https://docs.ecwid.com/get-started/set-up-your-dev-environment-in-ecwid; https://docs.ecwid.com/launch-apps/faq-about-public-applications"
  }
 ],
 "attempts": [
  {
   "t": "01:10",
   "cap": "discovery",
   "capability": "docs",
   "task": "Find docs, llms.txt, markdown",
   "route": "api",
   "result": "done",
   "verified": true,
   "documented": true,
   "evidence": "docs.ecwid.com/llms.txt 200 text/markdown; Accept: text/markdown on docs page -> text/markdown with Vary Accept; .md URL 200",
   "notes": "GitBook docs. www.ecwid.com/llms.txt 404.",
   "quality": {
    "docs_match": "match"
   }
  },
  {
   "t": "01:10",
   "cap": "discovery",
   "capability": "mcp",
   "task": "MCP server/discover on docs MCP (only MCP found)",
   "route": "mcp",
   "result": "done",
   "verified": true,
   "documented": true,
   "evidence": "https://docs.ecwid.com/~gitbook/mcp server/discover -> HTTP 400 jsonrpc -32000 \"Unsupported protocol version (supported versions: 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)\"; initialize offering 2026-07-28 -> protocolVersion 2025-06-18, serverInfo docs.ecwid.com/~gitbook/mcp 0.27.2",
   "notes": "GitBook docs-search MCP, not a store-management MCP. ecwid.com/mcp 403, mcp.ecwid.com 405 (pay_probe). No product MCP."
  },
  {
   "t": "01:10",
   "cap": "discovery",
   "capability": "cards and aipref",
   "task": "AI catalog, server card, A2A card, aipref",
   "route": "api",
   "result": "done",
   "verified": true,
   "documented": true,
   "evidence": "docs.ecwid.com/.well-known/ai-catalog.json 200 application/ai-catalog+json -> server card https://docs.ecwid.com/~gitbook/mcp/server-card; www.ecwid.com/.well-known/ai-catalog.json and agent-card.json 403 nginx; docs robots.txt \"Content-Signal: ai-train=yes, search=yes, ai-input=yes\" (Cloudflare Content-signal scheme); www robots no Content-Usage; app.ecwid.com/.well-known/oauth-protected-resource 404",
   "notes": "my.ecwid.com robots: Allow /cp, Disallow /"
  },
  {
   "t": "01:10",
   "cap": "pay",
   "capability": "pay public probes",
   "task": "402, registries, well-known, checkout",
   "route": "api",
   "result": "done",
   "verified": true,
   "documented": true,
   "evidence": "pay_probe.json: no 402 challenges, no registry listings, no /.well-known/ucp; pay_tx.json refused: no 402 asks for USDC. Docs: \"Only stores on paid plans can access API\"; free upgrade for dev stores on request by email.",
   "notes": "no agent rail found"
  },
  {
   "t": "02:29",
   "cap": "signup",
   "capability": "sign up",
   "task": "Create Ecwid account via web form",
   "route": "browser",
   "result": "blocked",
   "verified": false,
   "documented": true,
   "evidence": "my.ecwid.com/cp/?partner=ecwid_3partydevs#register: after Next, Cloudflare Turnstile \"Verify you are human\" checkbox appeared; message \"Please check the checkbox to confirm that you’re not a robot.\" (shot 003.png). No documented headless sign-up route (docs: sign up via my.ecwid.com/cp).",
   "notes": "Turnstile visible widget; not solved by us. Handing off to a human (own browser).",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "03:10",
   "cap": "signup",
   "capability": "sign up",
   "task": "Human handoff for Turnstile (own browser)",
   "route": "browser",
   "result": "blocked",
   "verified": false,
   "documented": true,
   "evidence": "",
   "notes": "Cloudflare Turnstile on sign-up form."
  },
  {
   "t": "03:10",
   "cap": "verify",
   "capability": "verify",
   "task": "verify after sign-up",
   "route": "none",
   "result": "blocked",
   "verified": false,
   "documented": true,
   "evidence": "",
   "notes": "Docs (set-up-your-dev-environment-in-ecwid.md): \"Only stores on paid plans can access API\"; tokens come from a custom app in the control panel app dashboard; no documented API/CLI route to create a store or token without the web UI."
  },
  {
   "t": "03:10",
   "cap": "credentials",
   "capability": "credentials",
   "task": "credentials after sign-up",
   "route": "none",
   "result": "blocked",
   "verified": false,
   "documented": true,
   "evidence": "",
   "notes": "Docs (set-up-your-dev-environment-in-ecwid.md): \"Only stores on paid plans can access API\"; tokens come from a custom app in the control panel app dashboard; no documented API/CLI route to create a store or token without the web UI. key: create",
   "key": "create"
  },
  {
   "t": "03:10",
   "cap": "first_call",
   "capability": "The first call",
   "task": "The first call after sign-up",
   "route": "none",
   "result": "blocked",
   "verified": false,
   "documented": true,
   "evidence": "",
   "notes": "Docs (set-up-your-dev-environment-in-ecwid.md): \"Only stores on paid plans can access API\"; tokens come from a custom app in the control panel app dashboard; no documented API/CLI route to create a store or token without the web UI."
  },
  {
   "t": "03:10",
   "cap": "first_action",
   "capability": "The first action",
   "task": "The first action after sign-up",
   "route": "none",
   "result": "blocked",
   "verified": false,
   "documented": true,
   "evidence": "",
   "notes": "Docs (set-up-your-dev-environment-in-ecwid.md): \"Only stores on paid plans can access API\"; tokens come from a custom app in the control panel app dashboard; no documented API/CLI route to create a store or token without the web UI."
  },
  {
   "t": "03:10",
   "cap": "pay",
   "capability": "pay step: plans and checkout",
   "task": "Find plans, trial, checkout",
   "route": "api",
   "result": "done",
   "verified": true,
   "documented": true,
   "evidence": "www.ecwid.com/pricing: Starter $5/month (up to 10 products), Venture $35 ($29 annual), Business $65 ($49 annual), month-to-month; no free plan or free trial shown on the page fetched. No 402/x402/MPP/UCP (pay_probe.json); pay_tx.json: refused, nothing paid. Docs list app-billing endpoints (custom charge with Ecwid billing, cancel app subscription) for app developers, not for buying a store plan.",
   "notes": "Plan purchase happens in the control panel behind sign-up; checkout not reached."
  },
  {
   "t": "03:10",
   "cap": "cancel",
   "capability": "cancel",
   "task": "Cancel plan",
   "route": "none",
   "result": "skipped",
   "verified": false,
   "documented": true,
   "evidence": "Pricing FAQ: \"all our plans are month-to-month with no long-term commitments, so you’re free to change your plan whenever it suits you.\"",
   "notes": "not tested: no plan or trial was started"
  },
  {
   "t": "03:10",
   "cap": "delete",
   "capability": "delete account",
   "task": "Delete account",
   "route": "none",
   "result": "blocked",
   "verified": false,
   "documented": true,
   "evidence": "No account was created (sign-up stopped at Turnstile).",
   "notes": "nothing to delete"
  }
 ],
 "stale": false,
 "icon": "/logos/ecwid.png",
 "monitored": false,
 "verdict": "Needs a person, L1, stops any agent before it reaches a key. Our agent read Ecwid's developer docs well: llms.txt, Markdown pages, a docs-search MCP. Sign-up itself ends it. The control panel form shows a visible Cloudflare Turnstile checkbox, and there is no API route to open a store. Past that wall, the docs say the REST API only works for paid-plan stores, and tokens come only from a custom app inside the control panel. A person has to carry the work the rest of the way. No plan or trial was started, so paying and cancelling were never tested; no account existed to delete.",
 "page": "https://agentdrives.com/tools/ecwid?via=api"
}