{
 "$schema": "https://agentdrives.com/schemas/tool.schema.json",
 "id": "prd_01m689j4vcss83fzjcxnhb68ts",
 "ids": {
  "org": "org_01m689j4vcg7rerfwg0y764rb1",
  "surfaces": {
   "web": "srf_01m689j4vcyb99pmsd0bnhty3z",
   "api": "srf_01m689j4vchedykn306kgf8pjh",
   "mcp": "srf_01m689j4vcrmy4p9keswaggbq5",
   "sdk": "srf_01m689j4vccbqawt4557b1zg8k"
  },
  "slugs": [
   "turbopuffer"
  ],
  "domain": "turbopuffer.com"
 },
 "slug": "turbopuffer",
 "name": "turbopuffer",
 "url": "https://turbopuffer.com",
 "domain": "turbopuffer.com",
 "category": "vector-databases",
 "category_name": "Vector databases",
 "tested_at": "2026-10-31",
 "run": "20261030T235254Z",
 "draft": false,
 "reviewed": true,
 "owner_verified": null,
 "origin": "editorial",
 "history": [
  {
   "run": "20261028T085817Z",
   "date": "2026-10-28",
   "level": 1,
   "engine": {
    "model": "claude-opus-5-5",
    "driver": 5,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "skip",
    "version": "2026.10.28",
    "commit": "ab59cb770c1f8519722678e70987dd1db804c14c",
    "prompts": {
     "version": "2026.10.28",
     "commit": "f3a993449822f9f55b1a57fc1810bbe6f82cce0a"
    },
    "rules": {
     "version": "2026.10.28",
     "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
    }
   },
   "stop": "credentials",
   "paid": false,
   "agent_paid": null
  },
  {
   "run": "20261030T235254Z",
   "date": "2026-10-31",
   "level": 1,
   "engine": {
    "model": "anthropic/opus",
    "driver": 5,
    "signed": true,
    "inbox": [
     "agentdrives.com"
    ],
    "robots": "skip",
    "version": "2026.10.31",
    "commit": "4848f8d1fd8720085bfb44090a0ca9516e9a8273",
    "prompts": {
     "version": "2026.10.30",
     "commit": "fc07298dc100d95517331721523f234c322dbe32"
    },
    "rules": {
     "version": "2026.10.28",
     "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
    }
   },
   "stop": "credentials",
   "paid": false,
   "agent_paid": null
  }
 ],
 "level": 1,
 "level_name": "Needs a person",
 "level_selfhost": null,
 "entry": "closed",
 "door": {
  "passed": 0,
  "tries": 2,
  "self_start": false
 },
 "badges": [],
 "not_counted": null,
 "stages": [
  {
   "key": "in",
   "label": "Access",
   "state": "no",
   "text": "Needs a card to start",
   "at": "credentials",
   "how": "card"
  },
  {
   "key": "work",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "part",
   "text": "Reaches the checkout: stopped at the $16 a month charge",
   "value": "checkout",
   "route": "card_checkout"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Nothing to cancel; its account stays",
   "at": "delete",
   "left": "stuck",
   "delete": {
    "state": "no",
    "text": "Can't delete its account",
    "why": "No self-service delete: the account menu has only 'Sign out', the docs and the API have no account or org delete, and the privacy policy names only privacy@turbopuffer.com, which our rules don't let us mail."
   }
  }
 ],
 "outcomes": [
  {
   "key": "find",
   "label": "Learn",
   "state": "yes",
   "text": "Docs it can act on: llms.txt, an OpenAPI and an MCP server",
   "have": [
    "llms_txt",
    "openapi",
    "mcp"
   ],
   "docs": "complete"
  },
  {
   "key": "access",
   "label": "Access",
   "state": "no",
   "text": "Needs a card to start",
   "at": "credentials",
   "how": "card",
   "stage": "in"
  },
  {
   "key": "use",
   "label": "Use",
   "state": "unreached",
   "text": "Work not measured",
   "stage": "work"
  },
  {
   "key": "pay",
   "label": "Pay",
   "state": "part",
   "text": "Reaches the checkout: stopped at the $16 a month charge",
   "value": "checkout",
   "route": "card_checkout",
   "stage": "pay"
  },
  {
   "key": "leave",
   "label": "Leave",
   "state": "yes",
   "text": "Nothing to cancel; its account stays",
   "at": "delete",
   "left": "stuck",
   "delete": {
    "state": "no",
    "text": "Can't delete its account",
    "why": "No self-service delete: the account menu has only 'Sign out', the docs and the API have no account or org delete, and the privacy policy names only privacy@turbopuffer.com, which our rules don't let us mail."
   },
   "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 start without a card"
 },
 "stop": "credentials",
 "core": null,
 "scores": {
  "coverage": null,
  "reliability": null,
  "resilience": null,
  "setup": 100,
  "surface_coverage": null,
  "docs_accuracy": null,
  "docs_completeness": null
 },
 "parts": {
  "holds_up": null,
  "docs_match": null,
  "setup": 100,
  "security": null,
  "standards": [
   {
    "standard": "OpenAPI",
    "state": "behind",
    "behind": 1,
    "value": "3.1.0"
   }
  ]
 },
 "reliability_method": null,
 "resilience": null,
 "stress": [
  {
   "capability": "Query records with filters (exact/kNN, attribute ordering, lookups)",
   "probe": "bad credential: a wrong API key",
   "outcome": "401 application/json {\"error\":\"💔 You are not authorized to perform this action; is your API key correct and active?\",\"status\":\"error\"}",
   "grade": "clear",
   "idempotent": "n/a",
   "rate_limit": null
  }
 ],
 "surface_audit": {
  "totals": {
   "items": 26,
   "documented": 26,
   "safe": 26,
   "exercised": 0,
   "passed": 0,
   "skipped": 0,
   "blocked": 26,
   "not_run": 0,
   "match": 0,
   "drift": 0,
   "broken_doc": 0,
   "docs_complete": 9,
   "docs_partial": 16,
   "docs_missing": 1,
   "errors_clear": 0,
   "errors_vague": 0,
   "errors_silent": 0
  }
 },
 "coverage_core": null,
 "coverage_own": null,
 "after_wall": null,
 "coverage_source": "computed",
 "driver": {
  "version": 5,
  "model": "anthropic/opus",
  "profile": "full",
  "assisted": false,
  "handoff": false
 },
 "methodology": 42,
 "rules_date": "2026-10-30",
 "engine": {
  "model": "anthropic/opus",
  "driver": 5,
  "signed": true,
  "inbox": [
   "agentdrives.com"
  ],
  "robots": "skip",
  "version": "2026.10.31",
  "commit": "4848f8d1fd8720085bfb44090a0ca9516e9a8273",
  "prompts": {
   "version": "2026.10.30",
   "commit": "fc07298dc100d95517331721523f234c322dbe32"
  },
  "rules": {
   "version": "2026.10.28",
   "commit": "3440e5c62c95160a8125825a987e36d623edd38d"
  }
 },
 "same_level_drives": 2,
 "drives": 2,
 "same_stop_drives": 2,
 "works_assisted": null,
 "freshness": "fresh",
 "newer_drives": null,
 "nothing_to_pay": false,
 "core_gated": false,
 "profiles": {},
 "agent_check": null,
 "agent_pass": null,
 "who_gets_in": {
  "server": {
   "state": "closed"
  },
  "signed": {
   "state": "page",
   "kind": "signup",
   "at": "2026-10-31"
  },
  "browser": {
   "state": "unknown",
   "measured": false
  },
  "our_key": "verified",
  "robots": null,
  "tip": false
 },
 "ladder": {
  "docs": {
   "status": "headless",
   "note": "llms.txt, llms-full.txt, a .md URL for every docs page, public OpenAPI 3.1.0 on GitHub; docs_pass verdict complete."
  },
  "signup": {
   "status": "browser",
   "note": "turbopuffer.com/join: email and plan (launch $16/mo or scale $256/mo minimum), then a 6-digit code by mail; no CAPTCHA on the form. No sign-up API."
  },
  "verify": {
   "status": "browser",
   "note": "One-time code mailed within seconds (expires in 10 minutes), entered on /join in the same page session; the session was created."
  },
  "credentials": {
   "status": "blocked",
   "cause": "card",
   "note": "API keys are created only in the dashboard, which redirects to onboarding step 3: a Stripe card form subscribing to the launch plan ($16/mo minimum).",
   "via": ""
  },
  "first_call": {
   "status": "",
   "cause": "card",
   "note": "No API key without a card subscription; the API answers 401 'is your API key correct and active?'.",
   "route": "account",
   "reached": false
  },
  "first_action": {
   "status": "",
   "note": "No API key without a card subscription.",
   "reached": false
  },
  "pay": {
   "status": "browser",
   "grade": "P2",
   "rails": [
    "Stripe Elements card form"
   ],
   "rail_ids": [
    "stripe-elements"
   ],
   "first_party": false,
   "rail_scope": "none",
   "trial_path": "none",
   "route": "card_checkout",
   "checkout": {
    "reached": "card_form",
    "processor": "stripe_elements",
    "captcha": "invisible",
    "three_ds": "not_seen",
    "card_form": true,
    "phone_field": "none",
    "wallets": [],
    "rail_offer": "none",
    "price": "16.00",
    "currency": "USD",
    "period": "month",
    "plan": "launch",
    "last_button": "Subscribe"
   },
   "person": "none",
   "ours": "no_card",
   "note": "The only way to buy is the onboarding card form (Stripe Elements, with Stripe's invisible hCaptcha) at turbopuffer.com/join/.../billing; walked to the card fields with test details (organization, US address). No 402/x402/MPP, no Stripe Projects listing, no billing API, no free tier or no-card trial. We paid nothing (no 402 on the product's own endpoint)."
  },
  "cancel": {
   "status": "",
   "grade": "n/a",
   "note": "Nothing was started, so nothing to cancel. The plan page says 'You can change plans later. Cancel within 30 days for a refund.'; no billing API is documented.",
   "reached": false
  },
  "delete": {
   "status": "blocked",
   "note": "No self-service delete: the account menu has only 'Sign out', the docs and the API have no account or org delete, and the privacy policy names only privacy@turbopuffer.com, which our rules don't let us mail. The unpaid account (email, customer name, no data) remains and its login still works.",
   "left": "stuck",
   "after_hours": null,
   "account": true
  }
 },
 "routes": [
  {
   "route": "email_code",
   "offered": "seen",
   "tried": true,
   "not_tried": null,
   "result": "walled",
   "wall": {
    "type": "card",
    "owner": "product"
   },
   "person": "none",
   "brings": "inbox",
   "fresh": true,
   "minutes": 14,
   "browser": true
  },
  {
   "route": "enterprise",
   "offered": "seen",
   "tried": false,
   "not_tried": "assisted_only",
   "result": null,
   "wall": null,
   "person": null,
   "brings": null,
   "fresh": null,
   "minutes": null,
   "browser": null
  }
 ],
 "checkout": {
  "reached": "card_form",
  "processor": "stripe_elements",
  "captcha": "invisible",
  "three_ds": "not_seen",
  "phone_field": "none",
  "rail_offer": "none",
  "period": "month",
  "card_form": true,
  "price": "16.00",
  "currency": "USD",
  "plan": "launch",
  "last_button": "Subscribe"
 },
 "docs": {
  "at": "2026-10-30",
  "read": 40,
  "listed": 41,
  "sampled": false,
  "overall": "complete",
  "getting_started": "found",
  "auth": "found",
  "errors": "found",
  "examples": "good",
  "freshness": "fresh",
  "newest": "2026-10-30",
  "core_pages": "8 of 8",
  "capabilities": "covered",
  "label": "No gaps in what we read"
 },
 "claims": null,
 "pay_options": {
  "checked": "2026-10-30",
  "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": true,
  "cli": false,
  "sdk": true,
  "mcp": "official",
  "llms_txt": true,
  "webhooks": false,
  "sandbox": false
 },
 "urls": {
  "docs": "https://turbopuffer.com/docs",
  "llms_txt": "https://turbopuffer.com/llms.txt",
  "mcp": "https://turbopuffer.stlmcp.com"
 },
 "surface_notes": {
  "api": "REST/JSON, region in the base URL, Bearer API key",
  "openapi": "3.1.0 on GitHub (turbopuffer/turbopuffer-openapi)",
  "sdk": "TypeScript @turbopuffer/turbopuffer 2.14.0, plus Python, Go, Java, Ruby, Rust, C#",
  "mcp": "official, Stainless code mode, 2 tools (npm @turbopuffer/turbopuffer-mcp 2.7.0)"
 },
 "surface_sizes": [
  {
   "kind": "api",
   "listed": 16,
   "tested": 0
  },
  {
   "kind": "mcp",
   "listed": 2,
   "tested": 0
  },
  {
   "kind": "sdk",
   "listed": 7,
   "tested": 0
  }
 ],
 "can_do": [
  "Read the full docs as Markdown (llms.txt, llms-full.txt, .md pages) and the OpenAPI spec",
  "Create an account with an emailed one-time code and get a signed-in session",
  "Fill the plan's checkout up to the card fields"
 ],
 "cannot_do": [
  {
   "what": "Get an API key or make any API, SDK or MCP call",
   "why": "Keys exist only in the dashboard, which opens after a paid card subscription; there is no free plan or no-card trial."
  },
  {
   "what": "Write, query, search or delete documents and namespaces",
   "why": "Every operation needs the paid API key."
  },
  {
   "what": "Delete the account",
   "why": "No self-service account or org delete; the account menu only offers Sign out."
  }
 ],
 "blockers": [
  "A card subscription (launch, $16/mo minimum) is required before the dashboard and any API key; no free tier."
 ],
 "tips_for_agents": [
  "Read https://turbopuffer.com/llms-full.txt or append .md to any docs URL for the whole API in Markdown.",
  "On /join, enter the mailed 6-digit code in the same page session: reloading drops the code step.",
  "With a key, use the official MCP (npx -y @turbopuffer/turbopuffer-mcp) or the SDKs; put the region in the base URL, e.g. https://gcp-us-east4.turbopuffer.com."
 ],
 "selfhost": null,
 "edge_case": "none",
 "summary": "An agent can sign up for turbopuffer with an emailed code, but there is no free plan: the dashboard, and with it the only way to get an API key, sits behind a Stripe card form for the $16/month launch plan, so no API call or core capability was possible. The docs are excellent for agents (llms.txt, .md pages, OpenAPI 3.1.0, 7 SDKs, an official MCP server), but the account can't be deleted by self-service.",
 "wall": "card subscription before any API key",
 "plan_scope": "",
 "robots_stop": null,
 "robots": null,
 "terms": null,
 "terms_read": "2026-10-30",
 "email_gate": null,
 "plain": {
  "summary": "turbopuffer is a database for searching text and vectors. An agent could create an account with an emailed code, but could not get an API key because the key sits behind a paid card subscription with no free plan. The agent got as far as the card form and did no database work.",
  "can_do": [
   "Read the full docs as Markdown, and the public API spec",
   "Create an account with an emailed code and get a signed-in session",
   "Fill in the plan's checkout up to the card fields"
  ],
  "cannot_do": [
   {
    "what": "Get an API key or make any API, SDK or MCP call",
    "why": "Keys appear only after a paid card subscription; no free plan or trial."
   },
   {
    "what": "Write, search or delete documents and namespaces",
    "why": "Every operation needs the paid API key."
   },
   {
    "what": "Delete the account",
    "why": "No delete option was found in the account menu, docs or API."
   }
  ]
 },
 "plan_gated": [
  {
   "capability": "Encrypt a namespace with a customer-managed key (CMEK)",
   "plan": "enterprise",
   "evidence": "encryption.md: 'Ensure you are on the enterprise plan.'"
  },
  {
   "capability": "Private networking",
   "plan": "enterprise",
   "evidence": "private-networking.md: 'Private networking is only available on the enterprise plan.'"
  },
  {
   "capability": "Audit logs",
   "plan": "scale/enterprise",
   "evidence": "audit-logs.md: 'turbopuffer provides audit logs for customers on Scale and Enterprise plans.'"
  },
  {
   "capability": "Audit log streaming",
   "plan": "scale/enterprise",
   "evidence": "audit-logs.md: 'Log streaming is available on Scale and Enterprise plans'"
  }
 ],
 "reply": null,
 "capabilities": [
  {
   "id": "cap-01",
   "capability": "Write (upsert) documents with vectors and attributes",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "GET /v1/namespaces/:namespace/metadata shows approx_row_count incremented, or querying by id returns the row",
   "capability_id": "cap_m34x9t4v",
   "source": "https://turbopuffer.com/docs/write",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-02",
   "capability": "Patch (partially update) a document's attributes",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace (patch_rows/patch_columns)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Query the document by id and confirm the patched attribute changed while others are unchanged",
   "capability_id": "cap_m34x9t4v",
   "source": "https://turbopuffer.com/docs/write",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-03",
   "capability": "Delete a document by id or by filter",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace (deletes/delete_by_filter)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Query the document by id afterward and confirm it is no longer returned",
   "capability_id": "cap_z5zsc472",
   "source": "https://turbopuffer.com/docs/write",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-04",
   "capability": "Run a vector (ANN) search with filtering",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace/query",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response returns ordered rows ranked by vector distance matching the filter",
   "capability_id": "cap_een15d28",
   "source": "https://turbopuffer.com/docs/vector; https://turbopuffer.com/docs/query",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-05",
   "capability": "Run a full-text (BM25) search",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace/query",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response returns rows ranked by BM25 score for a string/[]string field",
   "capability_id": "cap_0gwx7zby",
   "source": "https://turbopuffer.com/docs/fts",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-06",
   "capability": "Run a hybrid search combining vector and BM25 with rank fusion",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace/query (two queries + rank fusion)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Combined result set differs from either single-mode query and merges both rankings",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/hybrid",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-07",
   "capability": "Query records with filters (exact/kNN, attribute ordering, lookups)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace/query",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response rows all satisfy the supplied filter expression",
   "capability_id": "cap_bsb5z2vr",
   "source": "https://turbopuffer.com/docs/query",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-08",
   "capability": "Create a namespace (implicitly on first write)",
   "weight": "core",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "GET /v1/namespaces lists the new namespace id",
   "capability_id": "cap_9a3jhdb4",
   "source": "https://turbopuffer.com/docs/write",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-09",
   "capability": "List databases and read their schema",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/namespaces; GET /v1/namespaces/:namespace/metadata",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response lists namespace ids and the metadata schema object",
   "capability_id": "cap_xqrrtrx2",
   "source": "https://turbopuffer.com/docs/namespaces; https://turbopuffer.com/docs/metadata",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-10",
   "capability": "Delete a database (namespace)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "DELETE /v2/namespaces/:namespace",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "GET /v1/namespaces no longer lists the namespace id",
   "capability_id": "cap_3cvv7j9n",
   "source": "https://turbopuffer.com/docs/delete-namespace",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-11",
   "capability": "Branch a namespace (instant copy-on-write clone)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace (branch_from_namespace)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Writes to the branch do not appear when querying the source namespace, and vice versa",
   "capability_id": "cap_d4dyktb1",
   "source": "https://turbopuffer.com/docs/branching",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-12",
   "capability": "Shard a namespace across multiple indexes",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace (num_shards)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Namespace metadata reports the configured shard count",
   "capability_id": "cap_e1qz03j1",
   "source": "https://turbopuffer.com/docs/sharding",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-13",
   "capability": "Conditionally write a document only if a condition matches",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace (upsert_condition)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "A write with a failing condition is rejected while a matching condition succeeds",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/write",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-14",
   "capability": "Copy all documents from one namespace into another",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace (copy_from_namespace)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Target namespace's row count and sample documents match the source namespace",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/write",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-15",
   "capability": "Export all documents from a namespace by paging through query results",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace/query (paged by id)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Repeated paged queries return every document exactly once",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/export",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-16",
   "capability": "Embed documents and queries with native (managed) embedding models",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "schema `embed` property on write/query",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "A write with only text (no vector) produces a stored vector attribute readable on export",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/embedding",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-17",
   "capability": "Rerank search results with a managed reranking model",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace/query (rerank_by)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Result order differs from the first-stage rank_by order and matches reranker relevance",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/reranking",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-18",
   "capability": "Pin a namespace to reserved compute and disk",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "namespace metadata pinning config",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Namespace metadata shows pinned capacity and GB-hour billing instead of per-query pricing",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/pinning",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-19",
   "capability": "Hint the cache to warm a namespace before latency-sensitive requests",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/namespaces/:namespace/hint_cache_warm",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response status is ACCEPTED and subsequent queries show warm (not cold) latency",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/warm-cache",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-20",
   "capability": "Evaluate recall of the vector index against exhaustive search",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "POST /v1/namespaces/:namespace/_debug/recall",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response reports a recall ratio and matching-result counts for sampled vectors",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/recall",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-21",
   "capability": "Back up a namespace across regions",
   "weight": "secondary",
   "plan": "paid",
   "surfaces": {
    "api": "POST /v2/namespaces/:namespace (copy_from_namespace, cross-region)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "A namespace copy created in the destination region contains the source namespace's documents",
   "capability_id": "cap_drp5sav8",
   "source": "https://turbopuffer.com/docs/backups",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-22",
   "capability": "Set row/document-level permission filters on queries",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "query filter on user_id/group_ids attribute",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "A query filtered by a given user_id only returns documents tagged with that id",
   "capability_id": "cap_49bc6r5r",
   "source": "https://turbopuffer.com/docs/permissions",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-23",
   "capability": "Set a namespace to read-only",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "PATCH /v1/namespaces/:namespace/metadata (read_only)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "A subsequent write request to the namespace is rejected while metadata updates still succeed",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/metadata",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-24",
   "capability": "Read namespace metadata (row count, size, timestamps)",
   "weight": "secondary",
   "plan": "free",
   "surfaces": {
    "api": "GET /v1/namespaces/:namespace/metadata",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Response includes approx_row_count, approx_logical_bytes, created_at, last_write_at",
   "capability_id": null,
   "unmapped": "own_feature",
   "source": "https://turbopuffer.com/docs/metadata",
   "result": "blocked",
   "via": "api"
  },
  {
   "id": "cap-25",
   "capability": "Encrypt a namespace with a customer-managed key (CMEK)",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": "PATCH /v1/namespaces/:namespace/metadata (encryption.mode=customer-managed)",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Namespace metadata's encryption object reports mode customer-managed with the configured key_name",
   "capability_id": "cap_se1tg3g2",
   "source": "https://turbopuffer.com/docs/encryption",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-26",
   "capability": "Connect over private networking (AWS PrivateLink / GCP PSC)",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "customer settings page"
   },
   "check": "Requests from the configured VPC endpoint reach turbopuffer without traversing the public internet",
   "capability_id": "cap_wvfg62d2",
   "source": "https://turbopuffer.com/docs/private-networking",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-27",
   "capability": "Read audit logs of account/API-key events",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "customer settings page"
   },
   "check": "Audit log stream contains an entry for a recent api-key-created or user-added event",
   "capability_id": "cap_xgs80797",
   "source": "https://turbopuffer.com/docs/audit-logs",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-28",
   "capability": "Stream audit logs to an external SIEM or storage destination",
   "weight": "peripheral",
   "plan": "paid",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "customer settings page"
   },
   "check": "Configured destination (e.g. S3 bucket) receives streamed audit log events",
   "capability_id": "cap_m9c7x998",
   "source": "https://turbopuffer.com/docs/audit-logs",
   "result": "plan_gated",
   "via": null,
   "counted": false
  },
  {
   "id": "cap-29",
   "capability": "Create an API key",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": null,
    "mcp": null,
    "cli": null,
    "ui": "Dashboard"
   },
   "check": "New key appears usable for Authorization: Bearer on API requests",
   "capability_id": "cap_wbg916v9",
   "source": "https://turbopuffer.com/docs/quickstart",
   "result": "blocked",
   "via": "browser"
  },
  {
   "id": "cap-30",
   "capability": "Choose a cloud region (or cross-region deployment) for a namespace",
   "weight": "peripheral",
   "plan": "free",
   "surfaces": {
    "api": "region in base URL, e.g. gcp-us-central1.turbopuffer.com",
    "mcp": null,
    "cli": null,
    "ui": null
   },
   "check": "Requests to the chosen region's host succeed and data stays in that region per docs",
   "capability_id": null,
   "unmapped": "access_step",
   "source": "https://turbopuffer.com/docs/regions",
   "result": "blocked",
   "via": null
  }
 ],
 "stale": false,
 "unreachable_since": null,
 "not_driven_since": null,
 "icon": "/logos/turbopuffer.png",
 "agent_kinds": {
  "browser": {
   "who": "An assistant in a browser",
   "passed": [
    "signup",
    "verify"
   ],
   "stop": "credentials",
   "why": "it asks for a card",
   "tone": "wall",
   "text": "Signs up and confirms its email. Needs a card to start."
  },
  "direct": {
   "who": "An agent talking to it directly",
   "passed": [],
   "stop": "signup",
   "why": "it works only in a browser",
   "tone": "wall",
   "text": "Stops at sign-up: it works only in a browser."
  }
 },
 "sdk": null,
 "surface_reach": {
  "surfaces": {
   "mcp": true
  },
  "read_at": "2026-11-01T00:51:20Z"
 },
 "connect": {
  "mcp": {
   "url": "https://turbopuffer.stlmcp.com",
   "transport": "streamable-http",
   "state": "documented",
   "no_answer": "2026-11-01"
  },
  "signup": {
   "url": "https://turbopuffer.com/join",
   "state": "documented"
  },
  "docs": {
   "url": "https://turbopuffer.com/docs",
   "state": "tested"
  }
 },
 "surface_sources": {
  "mcp": "https://turbopuffer.stlmcp.com",
  "docs": "https://turbopuffer.com/docs",
  "llms_txt": "https://turbopuffer.com/llms.txt",
  "api": "https://turbopuffer.com/docs/namespaces",
  "sdk": "https://turbopuffer.com/docs/quickstart",
  "openapi": "https://github.com/turbopuffer/turbopuffer-openapi"
 },
 "copilot_connector": null,
 "stripe_directory": null,
 "in_stripe_directory": null,
 "stripe_projects": null,
 "pay_rails": [],
 "stop_evidence": {
  "at": "credentials",
  "date": "2026-10-31",
  "line": "API keys are created only in the dashboard, which redirects to onboarding step 3: a Stripe card form subscribing to the launch plan ($16/mo minimum)."
 },
 "wall_vendor": null,
 "mcp_sign_in": null,
 "safety_issues": 0,
 "fix_counts": {
  "small": 3,
  "medium": 2,
  "large": 1,
  "total": 6
 },
 "evidence_sha256": "f3d3bd6757ee23126ca56951c755285517f76db7c901ed90254ba1ca6778192c",
 "first_seen": "2026-10-28",
 "license": {
  "name": "CC BY 4.0",
  "url": "https://creativecommons.org/licenses/by/4.0/"
 },
 "correction": {
  "status": "none",
  "open": 0,
  "since": null,
  "reply_by": null
 },
 "attribution": null,
 "confirmation": {
  "state": "confirmed",
  "drives": 2,
  "agree": 2,
  "review": null,
  "text": "2 drives agree"
 },
 "stop_shot": null,
 "stop_shot_hash": null,
 "attempts_count": 56,
 "detail": {
  "public": false,
  "in": [
   "report",
   "api"
  ],
  "since": "2026-10-17"
 },
 "what_it_does": "turbopuffer is a database for searching text and vectors.",
 "kind": "product",
 "rules_version": "rules-2026-10-30-42",
 "rules_url": "https://agentdrives.com/method/changelog#rules-2026-10-30-42",
 "category_median": null,
 "peers": {
  "API-03": {
   "basis": "all",
   "n": 88,
   "below": 78,
   "above": 0,
   "percentile": 94
  },
  "API-04": {
   "basis": "category",
   "n": 5,
   "below": 1,
   "above": 0
  },
  "API-07": {
   "basis": "all",
   "n": 98,
   "below": 38,
   "above": 0,
   "percentile": 69
  },
  "DOCS-08": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 1
  },
  "DOCS-10": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 5
  },
  "DOCS-11": {
   "basis": "category",
   "n": 6,
   "below": 2,
   "above": 0
  },
  "ERR-01": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  },
  "ERR-02": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 3
  },
  "ERR-03": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 5
  },
  "ERR-07": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 4
  },
  "FIND-06": {
   "basis": "category",
   "n": 6,
   "below": 1,
   "above": 0
  },
  "IN-03": {
   "basis": "category",
   "n": 6,
   "below": 1,
   "above": 4
  },
  "IN-11": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 3
  },
  "IN-12": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 3
  },
  "LEAVE-03": {
   "basis": "category",
   "n": 6,
   "below": 2,
   "above": 1
  },
  "PAY-05": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  },
  "PROTO-02": {
   "basis": "category",
   "n": 6,
   "below": 0,
   "above": 0
  }
 },
 "probe": {
  "checked": "2026-11-01",
  "status": "ok",
  "sign_up_page": "page",
  "wall": "none",
  "llms_txt": true,
  "mcp": "none",
  "openapi": false,
  "payment_402": null,
  "payment_rails": [],
  "files": {
   "openapi": {
    "url": null,
    "found": false
   },
   "llms_txt": {
    "url": "https://turbopuffer.com/llms.txt",
    "found": true
   },
   "llms_full": {
    "url": "https://turbopuffer.com/llms-full.txt",
    "found": true
   }
  }
 },
 "probe_history": [
  {
   "checked": "2026-11-01",
   "status": "ok",
   "sign_up_page": "page",
   "wall": "none",
   "llms_txt": true,
   "mcp": "none",
   "openapi": false,
   "payment_402": null,
   "payment_rails": []
  }
 ],
 "surface_changes": [],
 "agent_reports": null,
 "verdict": "L1 · Needs a person: an agent does not get in on its own at turbopuffer. Our agent signed up on the join form with an email and a mailed code, then stopped at credentials. API keys are created only in the dashboard, which leads to a Stripe card form for the launch plan, and the product has no free plan. No key meant no call and no work: the API answered 401. The docs suit agents, with llms.txt, a .md page for every docs page, a public OpenAPI spec and an official MCP server. The account has no self-service delete.",
 "changes": {
  "source": "store",
  "drives": [
   {
    "run": "20261028T085817Z",
    "date": "2026-10-28",
    "level": 1,
    "stop": "credentials",
    "entry": "closed",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   },
   {
    "run": "20261030T235254Z",
    "date": "2026-10-30",
    "level": 1,
    "stop": "credentials",
    "entry": "closed",
    "driver": 5,
    "listed": true,
    "paid": false,
    "agent_paid": null
   }
  ],
  "events": [],
  "feed": "https://agentdrives.com/api/tools/turbopuffer/changes.json"
 },
 "agreement": {
  "drives": 2,
  "agree": 2
 },
 "method_release": "2026-Q4.27",
 "found": {
  "agent_blockers": 1,
  "surface_issues": 1
 },
 "agent_surfaces": {
  "api": {
   "state": "documented",
   "reachable": null,
   "documented": 16,
   "tested": 0,
   "source": "https://turbopuffer.com/docs/namespaces"
  },
  "mcp": {
   "state": "documented",
   "reachable": true,
   "documented": 2,
   "tested": 0,
   "source": "https://turbopuffer.stlmcp.com"
  },
  "cli": {
   "state": "none_found",
   "reachable": null,
   "documented": null,
   "tested": null,
   "source": null
  },
  "sdk": {
   "state": "documented",
   "documented": 7,
   "tested": 0,
   "source": "https://turbopuffer.com/docs/quickstart"
  },
  "docs": {
   "state": "tested",
   "documented": 41,
   "tested": 40,
   "source": "https://turbopuffer.com/docs"
  },
  "payment": {
   "state": "none_found",
   "documented": null,
   "tested": null,
   "source": null
  }
 },
 "issues_found": 2,
 "rank": null,
 "rank_of": 3,
 "rank_change": null,
 "rank_since": null,
 "links": {
  "category": [
   {
    "label": "Data and storage",
    "href": "https://agentdrives.com/categories/data"
   },
   {
    "label": "Vector databases",
    "href": "https://agentdrives.com/categories/vector-databases"
   }
  ],
  "tasks": [],
  "walls": [
   {
    "label": "Card before the first use",
    "href": "https://agentdrives.com/access/pay/card-checkout",
    "note": "kept our agent out"
   }
  ],
  "vendors": [],
  "standards": [
   {
    "label": "MCP",
    "href": "https://agentdrives.com/standards/mcp",
    "note": "tools an agent can call"
   },
   {
    "label": "OpenAPI",
    "href": "https://agentdrives.com/standards/openapi",
    "note": "its API, described"
   },
   {
    "label": "llms.txt",
    "href": "https://agentdrives.com/standards/llms-txt",
    "note": "its docs, listed for agents"
   }
  ],
  "steps": [
   {
    "label": "Find",
    "href": "https://agentdrives.com/access/find"
   },
   {
    "label": "Get in",
    "href": "https://agentdrives.com/access/get-in",
    "note": "stopped here"
   },
   {
    "label": "Use",
    "href": "https://agentdrives.com/access/use"
   },
   {
    "label": "Pay",
    "href": "https://agentdrives.com/access/pay"
   },
   {
    "label": "Leave",
    "href": "https://agentdrives.com/access/leave"
   }
  ],
  "rivals": [
   {
    "label": "Chroma",
    "href": "https://agentdrives.com/tools/trychroma",
    "slug": "trychroma",
    "level": 1
   },
   {
    "label": "Pinecone",
    "href": "https://agentdrives.com/tools/pinecone",
    "slug": "pinecone",
    "level": 1
   },
   {
    "label": "LanceDB",
    "href": "https://agentdrives.com/tools/lancedb",
    "slug": "lancedb",
    "level": 4
   }
  ],
  "compare": [],
  "rail": [
   {
    "label": "Watch this product",
    "href": "https://agentdrives.com/watch"
   },
   {
    "label": "Get the data",
    "href": "https://agentdrives.com/data#plans"
   }
  ]
 },
 "capability_matrix": [
  {
   "id": "cap-01",
   "name": "Write (upsert) documents with vectors and attributes",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-02",
   "name": "Patch (partially update) a document's attributes",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-03",
   "name": "Delete a document by id or by filter",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-04",
   "name": "Run a vector (ANN) search with filtering",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-05",
   "name": "Run a full-text (BM25) search",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-06",
   "name": "Run a hybrid search combining vector and BM25 with rank fusion",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-07",
   "name": "Query records with filters (exact/kNN, attribute ordering, lookups)",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-08",
   "name": "Create a namespace (implicitly on first write)",
   "core": true,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-09",
   "name": "List databases and read their schema",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-10",
   "name": "Delete a database (namespace)",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-11",
   "name": "Branch a namespace (instant copy-on-write clone)",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-12",
   "name": "Shard a namespace across multiple indexes",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-13",
   "name": "Conditionally write a document only if a condition matches",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-14",
   "name": "Copy all documents from one namespace into another",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-15",
   "name": "Export all documents from a namespace by paging through query results",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-16",
   "name": "Embed documents and queries with native (managed) embedding models",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-17",
   "name": "Rerank search results with a managed reranking model",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-18",
   "name": "Pin a namespace to reserved compute and disk",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-19",
   "name": "Hint the cache to warm a namespace before latency-sensitive requests",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-20",
   "name": "Evaluate recall of the vector index against exhaustive search",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-21",
   "name": "Back up a namespace across regions",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-22",
   "name": "Set row/document-level permission filters on queries",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-23",
   "name": "Set a namespace to read-only",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-24",
   "name": "Read namespace metadata (row count, size, timestamps)",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "blocked",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-25",
   "name": "Encrypt a namespace with a customer-managed key (CMEK)",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "untried",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  },
  {
   "id": "cap-26",
   "name": "Connect over private networking (AWS PrivateLink / GCP PSC)",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-27",
   "name": "Read audit logs of account/API-key events",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-28",
   "name": "Stream audit logs to an external SIEM or storage destination",
   "core": false,
   "result": "plan",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "untried"
   }
  },
  {
   "id": "cap-29",
   "name": "Create an API key",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "none",
    "mcp": "none",
    "cli": "none",
    "ui": "blocked"
   }
  },
  {
   "id": "cap-30",
   "name": "Choose a cloud region (or cross-region deployment) for a namespace",
   "core": false,
   "result": "blocked",
   "surfaces": {
    "api": "untried",
    "mcp": "none",
    "cli": "none",
    "ui": "none"
   }
  }
 ],
 "category_place": {
  "category": "vector-databases",
  "products": 6,
  "higher": 3,
  "same_level": 2,
  "as_of": "2026-10-31",
  "stop": "credentials",
  "rivals_by": "stop",
  "rivals": []
 },
 "page": "https://agentdrives.com/tools/turbopuffer?via=api"
}