{
 "slug": "kit",
 "name": "Kit",
 "url": "https://kit.com",
 "domain": "kit.com",
 "category": "email-marketing",
 "category_name": "Email marketing",
 "tested_at": "2026-10-06",
 "run": "20261006T081540Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261001T200732Z",
   "date": "2026-10-01",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": null,
    "driver": null,
    "signed": true,
    "inbox": null,
    "robots": "start"
   },
   "drives": 2
  },
  {
   "run": "20261006T081540Z",
   "date": "2026-10-06",
   "level": 1,
   "engine": {
    "runner": "omp",
    "model": "claude-opus-5-5",
    "driver": 2,
    "signed": true,
    "inbox": null,
    "robots": "start"
   }
  }
 ],
 "level": 1,
 "level_name": "Needs a person",
 "level_selfhost": null,
 "entry": "closed",
 "door": {
  "passed": 0,
  "tries": 3,
  "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": "yes",
   "text": "Docs agents can read: llms.txt, an OpenAPI and an MCP server",
   "have": [
    "llms_txt",
    "openapi",
    "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": 90,
  "surface_coverage": null,
  "docs_accuracy": null,
  "docs_completeness": null
 },
 "parts": {
  "holds_up": null,
  "docs_match": null,
  "setup": 90,
  "security": null,
  "standards": [
   {
    "standard": "MCP client registration",
    "state": "behind",
    "behind": null,
    "value": "dcr"
   },
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 2,
    "value": "3.0.3"
   }
  ]
 },
 "reliability_method": null,
 "resilience": null,
 "stress": [],
 "surface_audit": null,
 "coverage_core": null,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 2,
  "model": "claude-opus-5-5",
  "profile": "full",
  "assisted": false,
  "handoff": null,
  "prompt_sha": "f3d0adeeb256",
  "kb_version": "2+overlay-9e43028a2c",
  "identity": null
 },
 "methodology": 15,
 "rules_date": "2026-10-15",
 "engine": {
  "runner": "omp",
  "model": "claude-opus-5-5",
  "driver": 2,
  "signed": true,
  "inbox": null,
  "robots": "start"
 },
 "same_level_drives": 3,
 "drives": 3,
 "works_assisted": null,
 "freshness": "fresh",
 "nothing_to_pay": false,
 "core_gated": false,
 "profiles": {},
 "agent_check": {
  "rung": "signup",
  "vendor": "Cloudflare managed challenge (Turnstile 'Verify you are human')",
  "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": "edge"
  },
  "signed": {
   "state": "page",
   "kind": "signup",
   "at": "2026-10-12"
  },
  "browser": {
   "state": "through",
   "measured": false
  },
  "our_key": "pending",
  "robots": null,
  "tip": true
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "developers.kit.com is open to our signed agent: llms.txt index of .md pages, Markdown by Accept header and .md URL, OpenAPI 3.0.3 at /api-reference/v4.json, a read-only Developer Docs MCP (the 28 Jul 2026 spec). kit.com itself (robots.txt, llms.txt, pricing) and help.kit.com answer 403 with a Cloudflare challenge."
  },
  "signup": {
   "status": "human",
   "note": "app.kit.com/users/signup returns 403 cf-mitigated: challenge headless; in the browser it shows 'Are you a robot?' with a Cloudflare 'Verify you are human' checkbox that did not clear."
  },
  "verify": {
   "status": "",
   "note": "Not reached: no account was created at sign-up.",
   "reached": false
  },
  "credentials": {
   "status": "",
   "note": "No account. V4 API keys are made only in the web app (Settings > Developer). Dynamic Client Registration at app.kit.com/oauth/register worked headless (201, client_id issued), but a token still needs a signed-in creator to approve. Kit's docs say a free plan or lapsed trial gets 401 on API/webhook endpoints, and the Kit MCP is for paid plans only.",
   "via": "",
   "reached": false
  },
  "first_call": {
   "status": "",
   "note": "Unauthenticated GET https://api.kit.com/v4/account returns 401 {\"errors\":[\"Authentication Failed\"]}; no authenticated call was possible without an account.",
   "reached": false
  },
  "first_action": {
   "status": "",
   "note": "Not reached: no account and no credentials.",
   "reached": false
  },
  "pay": {
   "status": "",
   "grade": "P1",
   "rails": [],
   "rail_ids": [],
   "first_party": false,
   "rail_scope": "none",
   "trial_path": "free tier",
   "note": "No 402, x402, MPP, UCP or auth.md on api.kit.com or app.kit.com (401 or 404 JSON); x402./mpp./agents.kit.com answer with a Cloudflare challenge; OpenAPI has no x-payment-info; no Kit entry found in mpp.dev services or the first 1000 x402 Bazaar resources. Plans are bought in the web app after sign-up, and sign-up needs a human past the Cloudflare check. Pricing page not fetchable (Cloudflare challenge), so plan prices and whether a paid-plan trial needs a card are unknown. The developer docs mention a free plan.",
   "reached": false
  },
  "cancel": {
   "status": "",
   "grade": "n/a",
   "note": "No plan was started.",
   "reached": false
  },
  "delete": {
   "status": "",
   "note": "No account was created, so delete was not tried. The v4 OpenAPI has no account-delete operation.",
   "account": false,
   "reached": false
  }
 },
 "routes": [],
 "checkout": null,
 "docs": null,
 "claims": null,
 "pay_options": {
  "checked": "2026-10-06",
  "source": "drive",
  "options": [],
  "agentic": [],
  "paid": null,
  "exercised": null,
  "detected_grade": null,
  "trial": {
   "no_card": null,
   "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": true,
  "cli": false,
  "sdk": false,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": true,
  "sandbox": false
 },
 "surface_notes": {
  "api": "REST v4 at api.kit.com, 52 paths / 83 operations; API key (X-Kit-Api-Key) or OAuth; 401 for plans without API access",
  "openapi": "3.0.3 (behind 3.2.1), linked from llms.txt",
  "mcp": "official remote Kit MCP (OAuth, paid plans only) plus a read-only Developer Docs MCP on the 28 Jul 2026 spec",
  "llms_txt": "developers.kit.com/llms.txt; kit.com/llms.txt is behind a Cloudflare challenge",
  "docs": "developers.kit.com robots.txt has 'Content-Signal: ai-train=yes, search=yes, ai-input=yes' (Cloudflare Content Signals, not aipref); kit.com robots.txt unreadable (403 challenge)"
 },
 "can_do": [
  "Read Kit's developer docs as Markdown, through llms.txt, the OpenAPI v4 file or the Developer Docs MCP",
  "Register an OAuth client with Dynamic Client Registration, headless"
 ],
 "cannot_do": [
  {
   "what": "Create a Kit account",
   "why": "Cloudflare 'Verify you are human' challenge on app.kit.com/users/signup, headless and in the browser"
  },
  {
   "what": "Get an API key or OAuth token",
   "why": "Needs an account; API keys are made only in the web app"
  },
  {
   "what": "Any core task (forms, subscribers, broadcasts, sequences, posts, automations, commerce)",
   "why": "No account and no credentials"
  },
  {
   "what": "Read pricing, robots.txt or the help centre",
   "why": "kit.com and help.kit.com answer our signed agent with a Cloudflare challenge"
  }
 ],
 "blockers": [
  "Cloudflare managed challenge (visible 'Verify you are human') on app.kit.com/users/signup and on kit.com, help.kit.com"
 ],
 "tips_for_owner": [
  "Let signed agents through to sign-up",
  "Open kit.com robots.txt, llms.txt and pricing",
  "Let an agent get a key without the web app",
  "Advertise CIMD and drop DCR-only registration",
  "Return problem+json errors",
  "Offer plan upgrade and account delete via API"
 ],
 "tips_for_agents": [
  "Use developers.kit.com: llms.txt, the .md pages (or Accept: text/markdown) and the OpenAPI at /api-reference/v4.json; kit.com and help.kit.com challenge agents.",
  "The Developer Docs MCP at https://developers.kit.com/mcp speaks 2026-07-28 without auth: tools search_kit_developer_documentation and query_docs_filesystem_kit_developer_documentation.",
  "You need a human to create the account and the API key; then send X-Kit-Api-Key on api.kit.com (120 requests per 60 s; OAuth 600).",
  "Kit's docs say free plans and lapsed trials get 401 on API and webhook endpoints, and the Kit MCP needs a paid plan: check plan_type on GET /v4/account first.",
  "Bulk and purchase endpoints need OAuth, not an API key."
 ],
 "selfhost": null,
 "summary": "Kit's developer docs are agent-friendly (llms.txt, Markdown pages, OpenAPI 3.0.3, a docs MCP on the 28 Jul 2026 spec), but app.kit.com/users/signup and all of kit.com answer our signed agent with a Cloudflare 'Verify you are human' challenge, so no account, key or core task was reached. Credentials come only from the web app (API key) or an OAuth consent by a signed-in creator; Kit's docs say the API and the Kit MCP are not available on the free plan.",
 "wall": "Cloudflare challenge on the sign-up page",
 "plan_scope": "",
 "robots_stop": null,
 "robots": null,
 "plain": {
  "summary": "Kit is an email marketing platform for creators. The agent could read Kit's developer documentation on its own, but got stuck at sign-up, which is protected by a 'prove you're human' check that the agent could not pass with.",
  "can_do": [
   "Read all of Kit's developer documentation and API reference automatically",
   "Register itself as a developer app with Kit's system automatically"
  ],
  "cannot_do": [
   {
    "what": "Create a Kit account",
    "why": "A human verification checkbox blocked the agent"
   },
   {
    "what": "Get an API key to use Kit's features",
    "why": "Keys are only available after creating an account through the web app"
   },
   {
    "what": "Do any real work like sending emails or managing subscribers",
    "why": "No account and no key means every feature was unreachable"
   }
  ]
 },
 "plan_gated": [],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "group": "Audience building",
   "capability": "Create a landing page or embedded form to collect subscribers",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET/POST /v4/forms (list only; forms built in UI)",
    "mcp": "forms tools (read)",
    "cli": null,
    "ui": "Grow > Landing Pages & Forms"
   },
   "check": "GET /v4/forms shows the new form/landing page with status active",
   "source": "https://kit.com/features; https://developers.kit.com/api-reference/forms/list-forms"
  },
  {
   "id": "cap-02",
   "group": "Audience building",
   "capability": "Add a subscriber to a form (grow the list)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/forms/{id}/subscribers",
    "mcp": "add subscriber to form",
    "cli": null,
    "ui": "Grow > Landing Pages & Forms"
   },
   "check": "GET /v4/forms/{id}/subscribers includes the subscriber",
   "source": "https://developers.kit.com/api-reference/forms/add-subscriber-to-form"
  },
  {
   "id": "cap-03",
   "group": "Email sending",
   "capability": "Draft and send a broadcast (newsletter email) to all or a segment of subscribers",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/broadcasts, PUT /v4/broadcasts/{id}",
    "mcp": "create/update/send broadcast",
    "cli": null,
    "ui": "Send > Broadcasts"
   },
   "check": "GET /v4/broadcasts/{id} shows status 'sending' or 'completed' after send_at passes",
   "source": "https://developers.kit.com/api-reference/broadcasts/create-a-broadcast"
  },
  {
   "id": "cap-04",
   "group": "Email sending",
   "capability": "Schedule a broadcast for future delivery",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/broadcasts (send_at)",
    "mcp": "schedule broadcast",
    "cli": null,
    "ui": "Send > Broadcasts"
   },
   "check": "GET /v4/broadcasts/{id} shows status 'scheduled' with matching send_at",
   "source": "https://developers.kit.com/api-reference/broadcasts/create-a-broadcast"
  },
  {
   "id": "cap-05",
   "group": "Email sending",
   "capability": "Publish a post to the creator's Kit website (web + email)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "GET /v4/posts, GET /v4/posts/{id}",
    "mcp": "list/get posts",
    "cli": null,
    "ui": "Send > Broadcasts (publish to web)"
   },
   "check": "GET /v4/posts/{id} shows status 'published' with a live public_url",
   "source": "https://developers.kit.com/api-reference/posts/get-a-post; https://kit.com/features"
  },
  {
   "id": "cap-06",
   "group": "Automation",
   "capability": "Build a visual automation (branching workflow triggered by subscriber actions)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Automate > Visual Automations"
   },
   "check": "UI-only: open the automation editor and confirm the saved workflow runs (no documented API for automation graphs)",
   "source": "https://kit.com/features (Visual Automations); https://kit.com/pricing (Unlimited Visual Automations on Creator)"
  },
  {
   "id": "cap-07",
   "group": "Automation",
   "capability": "Create and run an email sequence (ordered autoresponder series)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/sequences, POST /v4/sequences/{id}/emails",
    "mcp": "create sequence / sequence email",
    "cli": null,
    "ui": "Automate > Sequences"
   },
   "check": "GET /v4/sequences/{id} returns active:true and GET /v4/sequence_emails lists the created steps in position order",
   "source": "https://developers.kit.com/api-reference/sequences/create-a-sequence; https://developers.kit.com/api-reference/sequence-emails/create-a-sequence-email"
  },
  {
   "id": "cap-08",
   "group": "Automation",
   "capability": "Enroll (or remove) a subscriber on a sequence",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/sequences/{id}/subscribers",
    "mcp": "add subscriber to sequence",
    "cli": null,
    "ui": "Subscriber profile > Sequences"
   },
   "check": "GET /v4/sequences/{id}/subscribers includes the subscriber with an added_at timestamp",
   "source": "https://developers.kit.com/api-reference/sequences/add-subscriber-to-sequence"
  },
  {
   "id": "cap-09",
   "group": "Monetization",
   "capability": "Sell a digital product or subscription (creator commerce storefront)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Monetize > Commerce / Products"
   },
   "check": "UI-only: product appears live on the creator's storefront URL and a test purchase records a sale (no public product-creation API; Purchases API only records external purchases)",
   "source": "https://kit.com/features/commerce; https://kit.com/pricing (Sell digital products & subscriptions, Free plan)"
  },
  {
   "id": "cap-11",
   "group": "Audience management",
   "capability": "Add, update, or unsubscribe a subscriber",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/subscribers, PATCH /v4/subscribers/{id}, POST /v4/subscribers/{id}/unsubscribe",
    "mcp": "create/update/unsubscribe subscriber",
    "cli": null,
    "ui": "Subscribers"
   },
   "check": "GET /v4/subscribers/{id} reflects the updated first_name/fields, or state 'cancelled' after unsubscribe",
   "source": "https://developers.kit.com/api-reference/subscribers/create-a-subscriber; https://developers.kit.com/api-reference/subscribers/unsubscribe-subscriber"
  },
  {
   "id": "cap-10",
   "group": "Monetization",
   "capability": "Record an external purchase against a subscriber (e-commerce sync)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/purchases",
    "mcp": "create purchase",
    "cli": null,
    "ui": "Subscriber profile > Purchases"
   },
   "check": "GET /v4/purchases/{id} returns the transaction_id, total, and subscriber_id",
   "source": "https://developers.kit.com/api-reference/purchases/create-a-purchase"
  },
  {
   "id": "cap-12",
   "group": "Audience management",
   "capability": "Tag subscribers and organize them for targeting",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/tags, POST /v4/tags/{id}/subscribers",
    "mcp": "create tag / tag subscriber",
    "cli": null,
    "ui": "Subscribers > Tags"
   },
   "check": "GET /v4/tags/{id}/subscribers includes the subscriber",
   "source": "https://developers.kit.com/api-reference/tags/create-a-tag; https://developers.kit.com/api-reference/tags/tag-a-subscriber"
  },
  {
   "id": "cap-13",
   "group": "Audience management",
   "capability": "Bulk-tag, bulk-create, or bulk-update many subscribers in one request",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/bulk/subscribers, POST /v4/bulk/tags",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "GET on the returned bulk job id shows status 'completed' and the subscribers/tags exist",
   "source": "https://developers.kit.com/api-reference/subscribers/bulk-create-subscribers; https://developers.kit.com/api-reference/bulk-and-async-processing"
  },
  {
   "id": "cap-14",
   "group": "Audience management",
   "capability": "Define a custom field to store extra subscriber data",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/custom_fields",
    "mcp": "create custom field",
    "cli": null,
    "ui": "Subscribers > Custom Fields"
   },
   "check": "GET /v4/custom_fields lists the new field's key/label, and GET /v4/subscribers/{id} shows the value under fields",
   "source": "https://developers.kit.com/api-reference/custom-fields/create-a-custom-field"
  },
  {
   "id": "cap-15",
   "group": "Audience management",
   "capability": "Build a segment via compound filters (engagement, sign-up date, state, tags)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/subscribers/filter, GET /v4/segments",
    "mcp": "filter subscribers / list segments",
    "cli": null,
    "ui": "Subscribers > Segments"
   },
   "check": "GET /v4/segments shows the saved segment, or the filter endpoint returns only subscribers matching the compound conditions",
   "source": "https://developers.kit.com/api-reference/subscribers/filter-subscribers-by-engagement-sign-up-date-state-and-tags; https://developers.kit.com/api-reference/segments/list-segments"
  },
  {
   "id": "cap-17",
   "group": "Audience growth",
   "capability": "Recommend / get recommended by other creators to cross-grow subscriber lists",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Grow > Creator Network / Recommendations"
   },
   "check": "UI-only: creator's profile appears in another creator's recommendations and referred subscribers show source 'recommendation' in their profile",
   "source": "https://kit.com/features (Let other creators grow your list)"
  },
  {
   "id": "cap-18",
   "group": "Audience growth",
   "capability": "Earn referral payouts when recommended subscribers sign up to another creator",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Grow > Creator Network earnings"
   },
   "check": "UI-only: earnings ledger shows a $1-$5 credit per converted recommendation referral",
   "source": "https://kit.com/features (Promote creators. Get paid.)"
  },
  {
   "id": "cap-19",
   "group": "Email content tooling",
   "capability": "Reuse a snippet (named content block) across emails via Liquid",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/snippets",
    "mcp": "create/update snippet",
    "cli": null,
    "ui": "Content editor > Snippets"
   },
   "check": "GET /v4/snippets/{id} returns the content; a broadcast referencing {{ snippet.key }} renders the updated content on next send",
   "source": "https://developers.kit.com/api-reference/snippets/create-a-snippet"
  },
  {
   "id": "cap-20",
   "group": "Email content tooling",
   "capability": "Choose an email template for a broadcast or sequence email",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v4/email_templates",
    "mcp": "list email templates",
    "cli": null,
    "ui": "Content editor > Templates"
   },
   "check": "GET /v4/broadcasts/{id} shows the chosen email_template_id applied",
   "source": "https://developers.kit.com/api-reference/email-templates/list-email-templates"
  },
  {
   "id": "cap-21",
   "group": "Email content tooling",
   "capability": "A/B test subject lines (and content on Pro)",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Broadcast composer > A/B test"
   },
   "check": "UI-only: broadcast report shows two subject-line variants with separate open rates",
   "source": "https://kit.com/pricing (A/B test subject lines on Creator; A/B test subject lines & content on Pro)"
  },
  {
   "id": "cap-22",
   "group": "Email content tooling",
   "capability": "Survey subscribers with polls embedded in emails",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Content editor > Polls"
   },
   "check": "UI-only: a sent email containing a poll records subscriber votes visible in the broadcast report",
   "source": "https://kit.com/pricing (Survey subscribers with polls, Creator plan)"
  },
  {
   "id": "cap-23",
   "group": "Reporting",
   "capability": "View account-level email performance stats (sent/opens/clicks/bounces)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v4/account/email_stats",
    "mcp": "get email stats",
    "cli": null,
    "ui": "Reports / Dashboard"
   },
   "check": "GET /v4/account/email_stats returns non-null sent/opened/clicked counts for the reporting window",
   "source": "https://developers.kit.com/api-reference/accounts/get-email-stats"
  },
  {
   "id": "cap-24",
   "group": "Reporting",
   "capability": "View growth stats (subscriber gains/losses over time)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v4/account/growth_stats",
    "mcp": "get growth stats",
    "cli": null,
    "ui": "Reports > Growth"
   },
   "check": "GET /v4/account/growth_stats returns subscriber counts for the requested period",
   "source": "https://developers.kit.com/api-reference/accounts/get-growth-stats"
  },
  {
   "id": "cap-25",
   "group": "Reporting",
   "capability": "View per-broadcast stats and link-click performance",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v4/broadcasts/{id}/stats, GET /v4/broadcasts/{id}/clicks",
    "mcp": "get broadcast stats / link clicks",
    "cli": null,
    "ui": "Send > Broadcasts > Report"
   },
   "check": "GET /v4/broadcasts/{id}/stats returns recipients/opens/clicks matching the sent broadcast",
   "source": "https://developers.kit.com/api-reference/broadcasts/get-stats-for-a-broadcast; https://developers.kit.com/api-reference/broadcasts/get-link-clicks-for-a-broadcast"
  },
  {
   "id": "cap-26",
   "group": "Reporting",
   "capability": "View per-subscriber engagement stats (sent/opened/clicked history)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v4/subscribers/{id}/stats",
    "mcp": "list subscriber stats",
    "cli": null,
    "ui": "Subscriber profile > Activity"
   },
   "check": "GET /v4/subscribers/{id}/stats returns sent/opened/clicked totals for that subscriber",
   "source": "https://developers.kit.com/api-reference/subscribers/list-stats-for-a-subscriber"
  },
  {
   "id": "cap-27",
   "group": "Reporting",
   "capability": "View advanced engagement analytics, deliverability reporting, and an insights dashboard",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Reports > Insights (Pro)"
   },
   "check": "UI-only: Pro-plan dashboard shows deliverability and subscriber engagement scoring widgets not present on Creator",
   "source": "https://kit.com/pricing (Engagement analytics, Insights dashboard, Deliverability reporting on Pro)"
  },
  {
   "id": "cap-28",
   "group": "Integrations",
   "capability": "Subscribe a webhook endpoint to receive real-time account events",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/webhooks (endpoints)",
    "mcp": "create webhook endpoint",
    "cli": null,
    "ui": "Settings > Webhooks"
   },
   "check": "GET /v4/webhooks/{id} shows status active and events array; triggering the event delivers a signed POST to the configured url",
   "source": "https://developers.kit.com/webhooks/getting-started; https://developers.kit.com/api-reference/webhooks/create-a-webhook-endpoint"
  },
  {
   "id": "cap-30",
   "group": "Integrations",
   "capability": "Install an app from the Kit App Store to connect an external tool",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Apps & Integrations"
   },
   "check": "UI-only: Settings > Apps shows the installed app with an active connection status",
   "source": "https://kit.com/features (Smart apps for smarter workflows); https://kit.com/pricing (Apps & integrations, Creator plan)"
  },
  {
   "id": "cap-32",
   "group": "Integrations",
   "capability": "Run RSS campaigns (auto-send emails from an RSS feed)",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Automate > RSS Campaigns"
   },
   "check": "UI-only: a new RSS feed item triggers an automatically sent broadcast matching the feed entry",
   "source": "https://kit.com/pricing (RSS campaigns, Creator plan)"
  },
  {
   "id": "cap-33",
   "group": "Integrations",
   "capability": "Send SMS marketing messages to subscribers",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Send > SMS"
   },
   "check": "UI-only: subscriber with a phone number receives the configured SMS and delivery is logged",
   "source": "https://kit.com/pricing (SMS marketing, Creator plan)"
  },
  {
   "id": "cap-34",
   "group": "Developer platform",
   "capability": "Build and publish a custom app/plugin to the Kit App Store",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "OAuth app registration + v4 API",
    "mcp": null,
    "cli": null,
    "ui": "Developer dashboard"
   },
   "check": "The app appears live and installable in the Kit App Store listing after going-live review",
   "source": "https://developers.kit.com/kit-app-store/overview; https://developers.kit.com/kit-app-store/going-live"
  },
  {
   "id": "cap-35",
   "group": "Team / collaboration",
   "capability": "Invite teammates to collaborate with unlimited users and edit content together",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Settings > Team"
   },
   "check": "UI-only: invited teammate appears in Settings > Team with access, and concurrent editors can be seen on the same broadcast draft",
   "source": "https://kit.com/pricing (Unlimited users, Collaborative editing, Pro plan)"
  },
  {
   "id": "cap-16",
   "group": "Audience management",
   "capability": "Pin or update a subscriber's geographic location",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/subscribers/{id}/location, DELETE /v4/subscribers/{id}/location",
    "mcp": null,
    "cli": null,
    "ui": "Subscriber profile"
   },
   "check": "GET /v4/subscribers/{id} reflects the pinned city/country_code, or its absence after deletion",
   "source": "https://developers.kit.com/api-reference/subscribers/pin-a-subscribers-location"
  },
  {
   "id": "cap-29",
   "group": "Integrations",
   "capability": "Rotate or revoke a webhook endpoint's signing secret",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "POST /v4/webhooks/{id}/secret/rotate, POST /v4/webhooks/{id}/secret/revoke_previous",
    "mcp": null,
    "cli": null,
    "ui": "Settings > Webhooks"
   },
   "check": "A delivery signed with the old secret fails verification after revocation; new secret verifies",
   "source": "https://developers.kit.com/api-reference/webhooks/rotate-a-webhook-endpoint-secret"
  },
  {
   "id": "cap-36",
   "group": "Branding / account admin",
   "capability": "Customize account brand colors used across editors",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "GET/PUT /v4/account/colors",
    "mcp": "list/update colors",
    "cli": null,
    "ui": "Settings > Branding"
   },
   "check": "GET /v4/account/colors returns the updated hex array",
   "source": "https://developers.kit.com/api-reference/accounts/update-colors"
  },
  {
   "id": "cap-37",
   "group": "Branding / account admin",
   "capability": "Remove Kit branding from emails and pages",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Settings > Branding"
   },
   "check": "UI-only: sent email/landing page no longer shows the 'Powered by Kit' footer",
   "source": "https://kit.com/pricing (Remove Kit branding, Creator plan)"
  },
  {
   "id": "cap-38",
   "group": "Branding / account admin",
   "capability": "Manage a public Creator Profile shown on Kit's Creator Network",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "GET /v4/account/creator_profile",
    "mcp": "get creator profile",
    "cli": null,
    "ui": "Settings > Creator Profile"
   },
   "check": "GET /v4/account/creator_profile returns the updated name/byline/bio and a reachable profile_url",
   "source": "https://developers.kit.com/api-reference/accounts/get-creator-profile"
  },
  {
   "id": "cap-39",
   "group": "Branding / account admin",
   "capability": "Edit a link inside an already-sent broadcast",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Send > Broadcasts > Sent report"
   },
   "check": "UI-only: a sent broadcast's link target is changed and subsequent clicks on the original email resolve to the new URL",
   "source": "https://kit.com/pricing (Edit links in sent broadcasts, Pro plan)"
  },
  {
   "id": "cap-40",
   "group": "Branding / account admin",
   "capability": "Export subscriber audience data for use with Facebook custom audiences",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Settings > Integrations > Facebook"
   },
   "check": "UI-only: Facebook Ads Manager shows a synced custom audience matching the Kit segment size",
   "source": "https://kit.com/pricing (Facebook custom audiences, Pro plan)"
  }
 ],
 "attempts": [
  {
   "t": "00:34",
   "cap": "discovery",
   "capability": "robots.txt / llms.txt on kit.com",
   "task": "",
   "route": "api",
   "documented": true,
   "result": "failed",
   "verified": false,
   "evidence": "All return HTTP 403 cf-mitigated: challenge (Cloudflare managed challenge page), server: cloudflare, cf-ray a46338cffb3ed113-CDG",
   "notes": "kit.com marketing host challenges our signed agent even on robots.txt; robots.txt content unknown",
   "quality": {}
  },
  {
   "t": "00:34",
   "cap": "discovery",
   "capability": "llms.txt on developers.kit.com",
   "task": "GET https://developers.kit.com/llms.txt",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "200 text/plain, '# Kit Developer Documentation' index of .md pages incl. MCP overview, Kit MCP, API reference",
   "notes": "",
   "quality": {}
  },
  {
   "t": "00:34",
   "cap": "discovery",
   "capability": "OAuth metadata",
   "task": "GET app.kit.com/.well-known/oauth-protected-resource(/mcp) and /.well-known/oauth-authorization-server",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "PRM 200 application/json {resource: https://app.kit.com/mcp, authorization_servers:[https://api.kit.com]}; AS metadata: registration_endpoint https://app.kit.com/oauth/register, grants authorization_code+refresh_token, PKCE S256, no client_id_metadata_document_supported, no device_authorization_endpoint",
   "notes": "DCR only (deprecated path), no CIMD, no device flow",
   "quality": {}
  },
  {
   "t": "00:59",
   "cap": "discovery",
   "capability": "MCP server/discover (Kit MCP)",
   "task": "POST https://app.kit.com/mcp server/discover with MCP-Protocol-Version 2026-07-28",
   "route": "mcp",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "HTTP 401 application/json {\"error\":\"Bearer token required\"}; WWW-Authenticate: Bearer resource_metadata=\"https://app.kit.com/.well-known/oauth-protected-resource/mcp\"",
   "notes": "auth-required; Kit MCP is documented as paid plans only (Creator, Creator Pro)",
   "quality": {
    "error_legibility": "clear"
   }
  },
  {
   "t": "00:59",
   "cap": "discovery",
   "capability": "MCP server/discover (Developer Docs MCP)",
   "task": "POST https://developers.kit.com/mcp server/discover",
   "route": "mcp",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "200 application/json result.supportedVersions [\"2026-07-28\"], capabilities tools+resources",
   "notes": "docs MCP is modern stateless 2026-07-28; read-only docs search",
   "quality": {}
  },
  {
   "t": "00:59",
   "cap": "discovery",
   "capability": "MCP server card",
   "task": "GET https://app.kit.com/mcp/server-card",
   "route": "mcp",
   "documented": true,
   "result": "failed",
   "verified": false,
   "evidence": "HTTP 404 text/html",
   "notes": "",
   "quality": {}
  },
  {
   "t": "01:09",
   "cap": "discovery",
   "capability": "Markdown docs",
   "task": "GET developers.kit.com/api-reference/overview with Accept: text/markdown, and overview.md",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "Accept: text/markdown -> 200 content-type text/markdown, Vary includes Accept; .md URL -> 200 text/markdown",
   "notes": "",
   "quality": {}
  },
  {
   "t": "01:09",
   "cap": "docs",
   "capability": "Find API docs and OpenAPI",
   "task": "GET https://developers.kit.com/llms.txt and /api-reference/v4.json",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "llms.txt lists API reference .md pages and 'OpenAPI Specs - v4 (/api-reference/v4.json)'; v4.json fetched",
   "notes": "developers.kit.com robots.txt: 'Content-Signal: ai-train=yes, search=yes, ai-input=yes' (Cloudflare Content Signals)",
   "quality": {}
  },
  {
   "t": "01:21",
   "cap": "signup",
   "capability": "Sign up",
   "task": "",
   "route": "api",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "HTTP 403, cf-mitigated: challenge, server: cloudflare (Cloudflare managed challenge) on the signed request",
   "notes": "Headless sign-up form not reachable; try browser once",
   "quality": {
    "error_legibility": "vague"
   }
  },
  {
   "t": "02:04",
   "cap": "signup",
   "capability": "Sign up",
   "task": "Open https://app.kit.com/users/signup in browser",
   "route": "browser",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "Page title 'Just a moment...', text 'Are you a robot? Hey There! Sorry for the inconvenience, but we need to confirm you're not a robot.' with Cloudflare 'Verify you are human' Turnstile checkbox (screenshot browser/shots/002.png); did not clear after 12 s",
   "notes": "Visible Cloudflare challenge; not solved by us; asking human in own browser",
   "quality": {}
  },
  {
   "t": "02:15",
   "cap": "signup",
   "capability": "Sign up",
   "task": "",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "",
   "notes": "Cloudflare Turnstile challenge on app.kit.com/users/signup",
   "quality": {
    "error_legibility": "vague",
    "recoverable": "no"
   }
  },
  {
   "t": "04:12",
   "cap": "credentials",
   "capability": "OAuth client registration (DCR)",
   "task": "POST https://app.kit.com/oauth/register (RFC 7591) as an MCP client would",
   "route": "api",
   "documented": true,
   "result": "done",
   "verified": true,
   "evidence": "201 application/json client_id issued, token_endpoint_auth_method none, grant_types [authorization_code] (refresh_token dropped)",
   "notes": "DCR works headless, but a token still needs a signed-in Kit creator to approve at https://app.kit.com/oauth/authorize; we have no account. Kit MCP is paid-plan only per docs.",
   "quality": {
    "docs_match": "match"
   }
  },
  {
   "t": "04:12",
   "cap": "credentials",
   "capability": "API key / OAuth token",
   "task": "Get a V4 API key (Settings > Developer) or an OAuth token",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No Kit account: sign-up blocked by the Cloudflare challenge; API keys are created only in the web app (https://app.kit.com/account_settings/developer_settings per docs/authentication.md)",
   "notes": "Also: developers.kit.com/webhooks/errors says a free plan or lapsed trial gets 401 on API/webhook endpoints",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "first_call",
   "capability": "First API call",
   "task": "GET https://api.kit.com/v4/account without and with an invalid X-Kit-Api-Key",
   "route": "api",
   "documented": true,
   "result": "failed",
   "verified": false,
   "evidence": "401 application/json {\"errors\":[\"Authentication Failed\"]}; invalid key -> 401 {\"errors\":[\"The API key is invalid\"]}",
   "notes": "Errors are short and clear but not RFC 9457 problem+json; no authenticated call possible without an account",
   "quality": {
    "error_legibility": "clear",
    "docs_match": "match"
   }
  },
  {
   "t": "04:12",
   "cap": "cap-01",
   "capability": "Create a landing page or embedded form to collect subscribers",
   "task": "Attempt Create a landing page or embedded form to collect subscribers on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-02",
   "capability": "Add a subscriber to a form (grow the list)",
   "task": "Attempt Add a subscriber to a form (grow the list) on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-03",
   "capability": "Draft and send a broadcast (newsletter email) to all or a segment of subscribers",
   "task": "Attempt Draft and send a broadcast (newsletter email) to all or a segment of subscribers on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-04",
   "capability": "Schedule a broadcast for future delivery",
   "task": "Attempt Schedule a broadcast for future delivery on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-05",
   "capability": "Publish a post to the creator's Kit website (web + email)",
   "task": "Attempt Publish a post to the creator's Kit website (web + email) on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-06",
   "capability": "Build a visual automation (branching workflow triggered by subscriber actions)",
   "task": "Attempt Build a visual automation (branching workflow triggered by subscriber actions) on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-07",
   "capability": "Create and run an email sequence (ordered autoresponder series)",
   "task": "Attempt Create and run an email sequence (ordered autoresponder series) on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-08",
   "capability": "Enroll (or remove) a subscriber on a sequence",
   "task": "Attempt Enroll (or remove) a subscriber on a sequence on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-09",
   "capability": "Sell a digital product or subscription (creator commerce storefront)",
   "task": "Attempt Sell a digital product or subscription (creator commerce storefront) on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cap-11",
   "capability": "Add, update, or unsubscribe a subscriber",
   "task": "Attempt Add, update, or unsubscribe a subscriber on account",
   "route": "none",
   "documented": true,
   "result": "blocked",
   "verified": false,
   "evidence": "No account and no credentials: sign-up at app.kit.com/users/signup is behind a Cloudflare 'Verify you are human' challenge",
   "notes": "Not driven; API docs exist (developers.kit.com, OpenAPI v4.json) but every v4 endpoint returns 401 without a key",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "pay",
   "capability": "Buy a plan the agent way",
   "task": "Probe 402/x402/MPP/UCP: api.kit.com paths unauthenticated, x402./mpp./agents.kit.com, /.well-known/ucp, /auth.md, OpenAPI x-payment-info, x402 Bazaar (first 1000 of 34835 resources), mpp.dev/api/services (137 services)",
   "route": "api",
   "documented": true,
   "result": "failed",
   "verified": false,
   "evidence": "api.kit.com /v4/* -> 401 (no 402); x402./mpp./agents.kit.com -> 403 cf-mitigated: challenge; api.kit.com and app.kit.com /.well-known/ucp, /auth.md -> 404 JSON; v4.json has no x-payment-info; no kit.com/convertkit entry in the Bazaar page fetched or in mpp.dev services; kit.com/pricing -> Cloudflare challenge (headless and browser)",
   "notes": "No agent-native payment rail found; plans are bought inside the web app (CSP allows js.stripe.com) after sign-up, which needs a human past the Cloudflare challenge. Whether the paid-plan trial needs a card: unknown (pricing page not fetchable)",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "cancel",
   "capability": "Cancel plan",
   "task": "Cancel or downgrade a plan",
   "route": "none",
   "documented": true,
   "result": "skipped",
   "verified": false,
   "evidence": "No plan was started (no account)",
   "notes": "",
   "quality": {}
  },
  {
   "t": "04:12",
   "cap": "delete",
   "capability": "Delete account",
   "task": "Delete the account and its data",
   "route": "none",
   "documented": true,
   "result": "skipped",
   "verified": false,
   "evidence": "No account was created. OpenAPI v4 has no account-delete operation (DELETE routes only for broadcasts, custom fields, sequences, tags, webhooks, locations)",
   "notes": "Account deletion would be web or support only; not observed",
   "quality": {}
  }
 ],
 "stale": false,
 "icon": "/logos/kit.png",
 "monitored": false,
 "verdict": "L1 · Needs a person describes Kit for an agent today. Developer docs are agent-friendly: llms.txt, Markdown pages, OpenAPI, a read-only docs MCP our agent reached on its own. Sign-up is where it stopped: app.kit.com/users/signup showed a Cloudflare 'Verify you are human' challenge that never cleared, so no account, no key, and no call to the API past an unauthenticated 401. A person has to sign up, verify, and make the key in the web app before an agent can do any core email work through the API or the paid Kit MCP. No plan was started, so paying and cancelling were never reached.",
 "page": "https://agentdrives.com/tools/kit?via=api"
}