Skip to content

ManyFails developer API

Free tier

Search and read the sourced archive for free. Keys are issued by an administrator at /admin/keys. No payment or billing is required. Keep the key secret; an administrator can rotate or revoke it.

Quick start

Set MANYFAILS_API_KEY to your issued key, then run:

curl 'https://manyfails.com/api/v1/search?query=screenless%20wearable%20pin&limit=5' \
  -H "Authorization: Bearer $MANYFAILS_API_KEY"

MCP

Connect your agent to https://manyfails.com/mcp with the same bearer key. This read-only, bounded Streamable HTTP server offers search_fails, get_fail, list_patterns, get_pattern, fail_stats and idea_check. All MCP POST requests, including initialization and tool discovery, share the REST key and IP quotas below.

Tools return source-linked text and structured content using the REST response contract. Tool errors have isError set; authentication and quota errors are HTTP 401 and 429. Each tool call records usage and grouped analytics, including server latency and result count.

Claude Desktop

In Settings → Developer → Edit Config, merge this into claude_desktop_config.json, replace REPLACE_WITH_YOUR_KEY and restart Desktop. Node.js and npx must be available. The mcp-remote client bridge forwards your bearer header over Streamable HTTP.

{
  "mcpServers": {
    "manyfails": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://manyfails.com/mcp",
        "--transport",
        "http-only",
        "--silent",
        "--header",
        "Authorization:${MANYFAILS_AUTH_HEADER}"
      ],
      "env": {
        "MANYFAILS_AUTH_HEADER": "Bearer REPLACE_WITH_YOUR_KEY"
      }
    }
  }
}

Claude Code

Set MANYFAILS_API_KEY to your issued key, then run:

claude mcp add --transport http manyfails 'https://manyfails.com/mcp' --header "Authorization: Bearer $MANYFAILS_API_KEY"

Cursor

Merge this into .cursor/mcp.json or ~/.cursor/mcp.json and replace REPLACE_WITH_YOUR_KEY. Keep the file containing your key out of version control, then enable ManyFails in MCP settings.

{
  "mcpServers": {
    "manyfails": {
      "url": "https://manyfails.com/mcp",
      "headers": {
        "Authorization": "Bearer REPLACE_WITH_YOUR_KEY"
      }
    }
  }
}

Limits and response contract

All endpoints share a sliding window of 60 requests per minute per key and 120 per IP. X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset are returned on success and errors. Reset is a Unix timestamp; a 429 also includes Retry-After in seconds. Limits currently run in one server process.

Every list contains at most 20 records, even if a larger limit is requested. Narratives contain at most 600 characters, with truncated and a more link to the site. Every record carries source URLs and evidence levels. Search combines Postgres full-text matches and vector similarity, multiplied by evidence confidence; Fail Score does not affect ranking.

Filters use the vocabulary shown below. Year ranges apply to UTC end dates. Pattern filters select patterns with a matching member and at least five public members. Revival tests appear only when a live sourced survivor supports them. Stats accept up to two group_by dimensions separated by a comma. Cells below n = 5 are masked; lifespan medians and warning-sign percentages require 10 closed cases with known lifespans. Money sums use counter-eligible entries and separate currencies. The counter is the global USD total. These are descriptive observations of a curated archive.

401 means a missing, invalid or revoked key; 400 means invalid parameters; 404 means no public record; 503 means the database or search provider is unavailable. Usage records include an opaque key ID, endpoint, status, latency and result count. Queries and key secrets are not logged.

Idea Check

POST /api/v1/idea-check with JSON containing idea (5–2,000 characters), and optional market, form_factor and business_model. Returns up to six similar fails with citations and reason chips, matched patterns, warning signs and the timing question. Nothing you type is stored.

curl 'https://manyfails.com/api/v1/idea-check' -H 'Content-Type: application/json' --data '{"idea":"a screenless AI pin that replaces the phone"}'

Anonymous REST access is allowed by default. The idea_check_anonymous flag can require admin login for anonymous callers. Anonymous site and REST calls share three checks per IP per UTC day. Authenticated REST and MCP calls share an allowance per API key: 25 daily for free keys, with no daily Idea Check limit for pro and team keys. MCP requires a bearer key. Idea Check quota errors over MCP use isError; REST returns 429 with Retry-After. Provider timeouts return partial results.

Endpoints

GET /api/v1/searchSearch published fails

Example: /api/v1/search?query=screenless%20wearable%20pin&limit=5

{
  "get": {
    "operationId": "search",
    "summary": "Search published fails",
    "parameters": [
      {
        "name": "tier",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "titan",
            "funded",
            "indie"
          ]
        }
      },
      {
        "name": "fail_type",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "killed",
            "vaporware",
            "faked_demo",
            "meltdown",
            "collapse",
            "pivot",
            "watchlist"
          ]
        }
      },
      {
        "name": "outcome",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "shut_down",
            "product_discontinued",
            "acquihired_killed",
            "absorbed_into_platform",
            "pivoted_away",
            "zombie",
            "incident_resolved",
            "ongoing"
          ]
        }
      },
      {
        "name": "category",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "ai_hardware",
            "chatbots_assistants",
            "ai_agents",
            "coding_agents",
            "autonomous_vehicles",
            "robotics",
            "enterprise_ai",
            "ai_content_media",
            "consumer_apps",
            "public_sector",
            "healthcare_ai",
            "adjacent_hype"
          ]
        }
      },
      {
        "name": "cause",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "solution_seeking_problem",
            "novelty_wore_off",
            "feature_not_product",
            "wrong_price_point",
            "model_capability_gap",
            "hallucination_liability",
            "agent_unreliability",
            "latency_broke_ux",
            "hardware_not_ready",
            "inference_cost_above_price",
            "hardware_bom_vs_price",
            "hidden_human_labour_cost",
            "subscription_fatigue",
            "harmful_outputs",
            "data_privacy",
            "impersonation_deepfake",
            "child_safety",
            "liability_ruling",
            "regulator_action",
            "ip_copyright",
            "consumer_protection",
            "too_early",
            "too_late",
            "market_moved",
            "leadership",
            "shipping_quality",
            "burn_rate",
            "go_to_market",
            "demo_reality_gap",
            "roadmap_theatre",
            "eval_theatre",
            "humans_behind_curtain",
            "staged_demo",
            "fabricated_metrics",
            "employee_revolt",
            "public_backlash",
            "bias_scandal",
            "labour_replacement_backlash",
            "platform_absorbed_feature",
            "api_price_or_access_change",
            "cloud_dependency_died",
            "distribution_lost"
          ]
        }
      },
      {
        "name": "section",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "archive",
            "incidents",
            "watchlist"
          ]
        }
      },
      {
        "name": "incumbency",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "startup",
            "incumbent_feature",
            "incumbent_product",
            "lab_research"
          ]
        }
      },
      {
        "name": "user_type",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "consumer",
            "prosumer",
            "smb",
            "enterprise",
            "government",
            "developer"
          ]
        }
      },
      {
        "name": "form_factor",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "hardware",
            "mobile_app",
            "web_app",
            "api",
            "feature_in_existing_product",
            "service",
            "model",
            "browser_extension",
            "bot_on_platform"
          ]
        }
      },
      {
        "name": "ai_role",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "core",
            "wrapper",
            "feature",
            "infra",
            "washing"
          ]
        }
      },
      {
        "name": "autonomy_level",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "assistant",
            "copilot",
            "agent",
            "autonomous",
            "physical_autonomous"
          ]
        }
      },
      {
        "name": "modality",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "text",
            "voice",
            "vision",
            "multimodal",
            "physical"
          ]
        }
      },
      {
        "name": "dependency",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "own_model",
            "third_party_model",
            "platform_api",
            "cloud_required_hardware"
          ]
        }
      },
      {
        "name": "business_model",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "subscription",
            "hardware_plus_subscription",
            "usage",
            "ads",
            "enterprise_contract",
            "free_no_model",
            "marketplace"
          ]
        }
      },
      {
        "name": "distribution",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "app_store",
            "direct",
            "enterprise_sales",
            "viral_social",
            "kickstarter",
            "bundled"
          ]
        }
      },
      {
        "name": "era",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "2026",
            "pre_transformer",
            "early_transformer",
            "gpt3",
            "chatgpt_boom",
            "agentic"
          ]
        }
      },
      {
        "name": "stage_at_death",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "pre_seed",
            "seed",
            "a",
            "b",
            "c_plus",
            "public",
            "internal"
          ]
        }
      },
      {
        "name": "year_from",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        }
      },
      {
        "name": "year_to",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        }
      },
      {
        "name": "query",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "maxLength": 500
        }
      },
      {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      }
    ],
    "responses": {
      "200": {
        "description": "Bounded, source-linked result",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "results": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "slug": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "company": {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 600
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "tier": {
                        "type": "string",
                        "enum": [
                          "titan",
                          "funded",
                          "indie"
                        ]
                      },
                      "fail_type": {
                        "type": "string",
                        "enum": [
                          "killed",
                          "vaporware",
                          "faked_demo",
                          "meltdown",
                          "collapse",
                          "pivot",
                          "watchlist"
                        ]
                      },
                      "outcome": {
                        "type": "string",
                        "enum": [
                          "shut_down",
                          "product_discontinued",
                          "acquihired_killed",
                          "absorbed_into_platform",
                          "pivoted_away",
                          "zombie",
                          "incident_resolved",
                          "ongoing"
                        ]
                      },
                      "category": {
                        "type": "string",
                        "enum": [
                          "ai_hardware",
                          "chatbots_assistants",
                          "ai_agents",
                          "coding_agents",
                          "autonomous_vehicles",
                          "robotics",
                          "enterprise_ai",
                          "ai_content_media",
                          "consumer_apps",
                          "public_sector",
                          "healthcare_ai",
                          "adjacent_hype"
                        ]
                      },
                      "primary_cause": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "solution_seeking_problem",
                              "novelty_wore_off",
                              "feature_not_product",
                              "wrong_price_point",
                              "model_capability_gap",
                              "hallucination_liability",
                              "agent_unreliability",
                              "latency_broke_ux",
                              "hardware_not_ready",
                              "inference_cost_above_price",
                              "hardware_bom_vs_price",
                              "hidden_human_labour_cost",
                              "subscription_fatigue",
                              "harmful_outputs",
                              "data_privacy",
                              "impersonation_deepfake",
                              "child_safety",
                              "liability_ruling",
                              "regulator_action",
                              "ip_copyright",
                              "consumer_protection",
                              "too_early",
                              "too_late",
                              "market_moved",
                              "leadership",
                              "shipping_quality",
                              "burn_rate",
                              "go_to_market",
                              "demo_reality_gap",
                              "roadmap_theatre",
                              "eval_theatre",
                              "humans_behind_curtain",
                              "staged_demo",
                              "fabricated_metrics",
                              "employee_revolt",
                              "public_backlash",
                              "bias_scandal",
                              "labour_replacement_backlash",
                              "platform_absorbed_feature",
                              "api_price_or_access_change",
                              "cloud_dependency_died",
                              "distribution_lost"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "evidence_confidence": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "relevance": {
                        "type": "number",
                        "minimum": 0
                      },
                      "rank_score": {
                        "type": "number",
                        "minimum": 0
                      },
                      "reasons": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "maxLength": 600
                        }
                      },
                      "obituary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "summary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "money_amount": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "money_currency": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "money_method": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "raised",
                              "writedown",
                              "settlement",
                              "refund",
                              "fine",
                              "marketcap",
                              "estimate"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "fail_score": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "lifespan_days": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "more": {
                        "type": "string"
                      },
                      "truncated": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "slug",
                      "name",
                      "company",
                      "tier",
                      "fail_type",
                      "outcome",
                      "category",
                      "primary_cause",
                      "evidence_confidence",
                      "relevance",
                      "rank_score",
                      "reasons",
                      "obituary",
                      "summary",
                      "money_amount",
                      "money_currency",
                      "money_method",
                      "fail_score",
                      "lifespan_days",
                      "sources",
                      "more",
                      "truncated"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "results"
              ],
              "additionalProperties": false
            },
            "example": {
              "results": [
                {
                  "slug": "humane-ai-pin",
                  "name": "Humane AI Pin",
                  "company": "Humane",
                  "tier": "funded",
                  "fail_type": "collapse",
                  "outcome": "acquihired_killed",
                  "category": "ai_hardware",
                  "primary_cause": "cloud_dependency_died",
                  "evidence_confidence": 4,
                  "relevance": 0.9,
                  "rank_score": 3.6,
                  "reasons": [
                    "Matched terms: screenless, wearable, pin",
                    "Primary cause: cloud_dependency_died"
                  ],
                  "obituary": {
                    "text": "A screenless wearable whose cloud service shut down.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "summary": {
                    "text": "A wearable AI assistant dependent on its cloud service.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "money_amount": null,
                  "money_currency": "USD",
                  "money_method": null,
                  "fail_score": 80,
                  "lifespan_days": 300,
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ],
                  "more": "/fails/humane-ai-pin",
                  "truncated": false
                }
              ]
            }
          }
        }
      },
      "400": {
        "description": "Invalid parameters",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Invalid parameters"
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string"
            },
            "example": "Bearer"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Unauthorized"
            }
          }
        }
      },
      "404": {
        "description": "Not found",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Not found"
            }
          }
        }
      },
      "429": {
        "description": "Too many requests",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "Retry-After": {
            "schema": {
              "type": "integer"
            },
            "description": "Seconds before retrying",
            "example": 60
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Too many requests"
            }
          }
        }
      },
      "503": {
        "description": "Service unavailable",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Service unavailable"
            }
          }
        }
      }
    }
  }
}
GET /api/v1/fails/{slug}Get an entry with timeline, similar fails and patterns

Example: /api/v1/fails/humane-ai-pin

{
  "get": {
    "operationId": "get_fail",
    "summary": "Get an entry with timeline, similar fails and patterns",
    "parameters": [
      {
        "name": "slug",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
        },
        "example": "humane-ai-pin"
      }
    ],
    "responses": {
      "200": {
        "description": "Bounded, source-linked result",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "maxLength": 600
                },
                "company": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 600
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tier": {
                  "type": "string",
                  "enum": [
                    "titan",
                    "funded",
                    "indie"
                  ]
                },
                "fail_type": {
                  "type": "string",
                  "enum": [
                    "killed",
                    "vaporware",
                    "faked_demo",
                    "meltdown",
                    "collapse",
                    "pivot",
                    "watchlist"
                  ]
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "shut_down",
                    "product_discontinued",
                    "acquihired_killed",
                    "absorbed_into_platform",
                    "pivoted_away",
                    "zombie",
                    "incident_resolved",
                    "ongoing"
                  ]
                },
                "category": {
                  "type": "string",
                  "enum": [
                    "ai_hardware",
                    "chatbots_assistants",
                    "ai_agents",
                    "coding_agents",
                    "autonomous_vehicles",
                    "robotics",
                    "enterprise_ai",
                    "ai_content_media",
                    "consumer_apps",
                    "public_sector",
                    "healthcare_ai",
                    "adjacent_hype"
                  ]
                },
                "primary_cause": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "solution_seeking_problem",
                        "novelty_wore_off",
                        "feature_not_product",
                        "wrong_price_point",
                        "model_capability_gap",
                        "hallucination_liability",
                        "agent_unreliability",
                        "latency_broke_ux",
                        "hardware_not_ready",
                        "inference_cost_above_price",
                        "hardware_bom_vs_price",
                        "hidden_human_labour_cost",
                        "subscription_fatigue",
                        "harmful_outputs",
                        "data_privacy",
                        "impersonation_deepfake",
                        "child_safety",
                        "liability_ruling",
                        "regulator_action",
                        "ip_copyright",
                        "consumer_protection",
                        "too_early",
                        "too_late",
                        "market_moved",
                        "leadership",
                        "shipping_quality",
                        "burn_rate",
                        "go_to_market",
                        "demo_reality_gap",
                        "roadmap_theatre",
                        "eval_theatre",
                        "humans_behind_curtain",
                        "staged_demo",
                        "fabricated_metrics",
                        "employee_revolt",
                        "public_backlash",
                        "bias_scandal",
                        "labour_replacement_backlash",
                        "platform_absorbed_feature",
                        "api_price_or_access_change",
                        "cloud_dependency_died",
                        "distribution_lost"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "evidence_confidence": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 5
                },
                "relevance": {
                  "type": "number",
                  "minimum": 0
                },
                "rank_score": {
                  "type": "number",
                  "minimum": 0
                },
                "reasons": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 600
                  }
                },
                "obituary": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "summary": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "money_amount": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "money_currency": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "money_method": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "raised",
                        "writedown",
                        "settlement",
                        "refund",
                        "fine",
                        "marketcap",
                        "estimate"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fail_score": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "lifespan_days": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "sources": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "title": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "evidence_level": {
                        "type": "string",
                        "enum": [
                          "E1",
                          "E2",
                          "E3",
                          "E4"
                        ]
                      },
                      "archive_url": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "url",
                      "title",
                      "evidence_level",
                      "archive_url"
                    ],
                    "additionalProperties": false
                  }
                },
                "more": {
                  "type": "string"
                },
                "truncated": {
                  "type": "boolean"
                },
                "idea_statement": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "job_to_be_done": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "dimensions": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": [
                      "string",
                      "number",
                      "null"
                    ]
                  }
                },
                "launched_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "died_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "published_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "updated_at": {
                  "type": "string"
                },
                "severity": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "lesson_relevance": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "capital_exposure_amount": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "capital_exposure_method": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "raised",
                        "writedown",
                        "settlement",
                        "refund",
                        "fine",
                        "marketcap",
                        "estimate"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "causes": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "leaf": {
                        "type": "string",
                        "enum": [
                          "solution_seeking_problem",
                          "novelty_wore_off",
                          "feature_not_product",
                          "wrong_price_point",
                          "model_capability_gap",
                          "hallucination_liability",
                          "agent_unreliability",
                          "latency_broke_ux",
                          "hardware_not_ready",
                          "inference_cost_above_price",
                          "hardware_bom_vs_price",
                          "hidden_human_labour_cost",
                          "subscription_fatigue",
                          "harmful_outputs",
                          "data_privacy",
                          "impersonation_deepfake",
                          "child_safety",
                          "liability_ruling",
                          "regulator_action",
                          "ip_copyright",
                          "consumer_protection",
                          "too_early",
                          "too_late",
                          "market_moved",
                          "leadership",
                          "shipping_quality",
                          "burn_rate",
                          "go_to_market",
                          "demo_reality_gap",
                          "roadmap_theatre",
                          "eval_theatre",
                          "humans_behind_curtain",
                          "staged_demo",
                          "fabricated_metrics",
                          "employee_revolt",
                          "public_backlash",
                          "bias_scandal",
                          "labour_replacement_backlash",
                          "platform_absorbed_feature",
                          "api_price_or_access_change",
                          "cloud_dependency_died",
                          "distribution_lost"
                        ]
                      },
                      "is_primary": {
                        "type": "boolean"
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "leaf",
                      "is_primary",
                      "sources"
                    ],
                    "additionalProperties": false
                  }
                },
                "warning_signs": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "sign": {
                        "type": "string",
                        "enum": [
                          "demo_only_launch",
                          "waitlist_over_6_months",
                          "announce_to_ship_over_12_months",
                          "hardware_requires_subscription",
                          "features_marked_coming_soon_at_launch",
                          "no_public_pricing",
                          "humans_in_the_loop_undisclosed",
                          "benchmark_claims_not_reproduced",
                          "exec_departures_pre_death",
                          "restated_metrics",
                          "down_round",
                          "pivot_count_2_plus",
                          "refund_complaints_at_scale",
                          "ai_in_company_name",
                          "founder_hype_statements",
                          "regulatory_warning_received",
                          "single_platform_dependency",
                          "celebrity_or_influencer_launch",
                          "raised_over_100m_pre_revenue"
                        ]
                      },
                      "observed_on": {
                        "type": "string"
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "sign",
                      "observed_on",
                      "sources"
                    ],
                    "additionalProperties": false
                  }
                },
                "aftermath": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "refunds_issued",
                      "devices_bricked",
                      "data_deleted",
                      "open_sourced",
                      "acquirer_shut_it",
                      "lawsuit_followed",
                      "regulator_followed"
                    ]
                  }
                },
                "pitch": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "what_happened": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "why_failed": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "lessons": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "timeline": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "occurred_on": {
                        "type": "string"
                      },
                      "narrative": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "occurred_on",
                      "narrative",
                      "sources"
                    ],
                    "additionalProperties": false
                  }
                },
                "similar": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "slug": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "company": {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 600
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "tier": {
                        "type": "string",
                        "enum": [
                          "titan",
                          "funded",
                          "indie"
                        ]
                      },
                      "fail_type": {
                        "type": "string",
                        "enum": [
                          "killed",
                          "vaporware",
                          "faked_demo",
                          "meltdown",
                          "collapse",
                          "pivot",
                          "watchlist"
                        ]
                      },
                      "outcome": {
                        "type": "string",
                        "enum": [
                          "shut_down",
                          "product_discontinued",
                          "acquihired_killed",
                          "absorbed_into_platform",
                          "pivoted_away",
                          "zombie",
                          "incident_resolved",
                          "ongoing"
                        ]
                      },
                      "category": {
                        "type": "string",
                        "enum": [
                          "ai_hardware",
                          "chatbots_assistants",
                          "ai_agents",
                          "coding_agents",
                          "autonomous_vehicles",
                          "robotics",
                          "enterprise_ai",
                          "ai_content_media",
                          "consumer_apps",
                          "public_sector",
                          "healthcare_ai",
                          "adjacent_hype"
                        ]
                      },
                      "primary_cause": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "solution_seeking_problem",
                              "novelty_wore_off",
                              "feature_not_product",
                              "wrong_price_point",
                              "model_capability_gap",
                              "hallucination_liability",
                              "agent_unreliability",
                              "latency_broke_ux",
                              "hardware_not_ready",
                              "inference_cost_above_price",
                              "hardware_bom_vs_price",
                              "hidden_human_labour_cost",
                              "subscription_fatigue",
                              "harmful_outputs",
                              "data_privacy",
                              "impersonation_deepfake",
                              "child_safety",
                              "liability_ruling",
                              "regulator_action",
                              "ip_copyright",
                              "consumer_protection",
                              "too_early",
                              "too_late",
                              "market_moved",
                              "leadership",
                              "shipping_quality",
                              "burn_rate",
                              "go_to_market",
                              "demo_reality_gap",
                              "roadmap_theatre",
                              "eval_theatre",
                              "humans_behind_curtain",
                              "staged_demo",
                              "fabricated_metrics",
                              "employee_revolt",
                              "public_backlash",
                              "bias_scandal",
                              "labour_replacement_backlash",
                              "platform_absorbed_feature",
                              "api_price_or_access_change",
                              "cloud_dependency_died",
                              "distribution_lost"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "evidence_confidence": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "relevance": {
                        "type": "number",
                        "minimum": 0
                      },
                      "rank_score": {
                        "type": "number",
                        "minimum": 0
                      },
                      "reasons": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "maxLength": 600
                        }
                      },
                      "obituary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "summary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "money_amount": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "money_currency": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "money_method": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "raised",
                              "writedown",
                              "settlement",
                              "refund",
                              "fine",
                              "marketcap",
                              "estimate"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "fail_score": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "lifespan_days": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "more": {
                        "type": "string"
                      },
                      "truncated": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "slug",
                      "name",
                      "company",
                      "tier",
                      "fail_type",
                      "outcome",
                      "category",
                      "primary_cause",
                      "evidence_confidence",
                      "relevance",
                      "rank_score",
                      "reasons",
                      "obituary",
                      "summary",
                      "money_amount",
                      "money_currency",
                      "money_method",
                      "fail_score",
                      "lifespan_days",
                      "sources",
                      "more",
                      "truncated"
                    ],
                    "additionalProperties": false
                  }
                },
                "patterns": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "slug": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "kind": {
                        "type": "string",
                        "enum": [
                          "idea_cluster",
                          "playbook",
                          "cause_hub"
                        ]
                      },
                      "summary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "thesis": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "revival_test": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "lessons": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "member_count": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "members": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "slug": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "company": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "tier": {
                              "type": "string",
                              "enum": [
                                "titan",
                                "funded",
                                "indie"
                              ]
                            },
                            "fail_type": {
                              "type": "string",
                              "enum": [
                                "killed",
                                "vaporware",
                                "faked_demo",
                                "meltdown",
                                "collapse",
                                "pivot",
                                "watchlist"
                              ]
                            },
                            "outcome": {
                              "type": "string",
                              "enum": [
                                "shut_down",
                                "product_discontinued",
                                "acquihired_killed",
                                "absorbed_into_platform",
                                "pivoted_away",
                                "zombie",
                                "incident_resolved",
                                "ongoing"
                              ]
                            },
                            "category": {
                              "type": "string",
                              "enum": [
                                "ai_hardware",
                                "chatbots_assistants",
                                "ai_agents",
                                "coding_agents",
                                "autonomous_vehicles",
                                "robotics",
                                "enterprise_ai",
                                "ai_content_media",
                                "consumer_apps",
                                "public_sector",
                                "healthcare_ai",
                                "adjacent_hype"
                              ]
                            },
                            "primary_cause": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "solution_seeking_problem",
                                    "novelty_wore_off",
                                    "feature_not_product",
                                    "wrong_price_point",
                                    "model_capability_gap",
                                    "hallucination_liability",
                                    "agent_unreliability",
                                    "latency_broke_ux",
                                    "hardware_not_ready",
                                    "inference_cost_above_price",
                                    "hardware_bom_vs_price",
                                    "hidden_human_labour_cost",
                                    "subscription_fatigue",
                                    "harmful_outputs",
                                    "data_privacy",
                                    "impersonation_deepfake",
                                    "child_safety",
                                    "liability_ruling",
                                    "regulator_action",
                                    "ip_copyright",
                                    "consumer_protection",
                                    "too_early",
                                    "too_late",
                                    "market_moved",
                                    "leadership",
                                    "shipping_quality",
                                    "burn_rate",
                                    "go_to_market",
                                    "demo_reality_gap",
                                    "roadmap_theatre",
                                    "eval_theatre",
                                    "humans_behind_curtain",
                                    "staged_demo",
                                    "fabricated_metrics",
                                    "employee_revolt",
                                    "public_backlash",
                                    "bias_scandal",
                                    "labour_replacement_backlash",
                                    "platform_absorbed_feature",
                                    "api_price_or_access_change",
                                    "cloud_dependency_died",
                                    "distribution_lost"
                                  ]
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "evidence_confidence": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 5
                            },
                            "relevance": {
                              "type": "number",
                              "minimum": 0
                            },
                            "rank_score": {
                              "type": "number",
                              "minimum": 0
                            },
                            "reasons": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "maxLength": 600
                              }
                            },
                            "obituary": {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "truncated": {
                                  "type": "boolean"
                                },
                                "more": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text",
                                "truncated",
                                "more"
                              ],
                              "additionalProperties": false
                            },
                            "summary": {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "truncated": {
                                  "type": "boolean"
                                },
                                "more": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text",
                                "truncated",
                                "more"
                              ],
                              "additionalProperties": false
                            },
                            "money_amount": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "money_currency": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "money_method": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "raised",
                                    "writedown",
                                    "settlement",
                                    "refund",
                                    "fine",
                                    "marketcap",
                                    "estimate"
                                  ]
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "fail_score": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "lifespan_days": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "sources": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "format": "uri"
                                  },
                                  "title": {
                                    "type": "string",
                                    "maxLength": 600
                                  },
                                  "evidence_level": {
                                    "type": "string",
                                    "enum": [
                                      "E1",
                                      "E2",
                                      "E3",
                                      "E4"
                                    ]
                                  },
                                  "archive_url": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "url",
                                  "title",
                                  "evidence_level",
                                  "archive_url"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "more": {
                              "type": "string"
                            },
                            "truncated": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "slug",
                            "name",
                            "company",
                            "tier",
                            "fail_type",
                            "outcome",
                            "category",
                            "primary_cause",
                            "evidence_confidence",
                            "relevance",
                            "rank_score",
                            "reasons",
                            "obituary",
                            "summary",
                            "money_amount",
                            "money_currency",
                            "money_method",
                            "fail_score",
                            "lifespan_days",
                            "sources",
                            "more",
                            "truncated"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "survivors": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "note": {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "truncated": {
                                  "type": "boolean"
                                },
                                "more": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text",
                                "truncated",
                                "more"
                              ],
                              "additionalProperties": false
                            },
                            "sources": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "format": "uri"
                                  },
                                  "title": {
                                    "type": "string",
                                    "maxLength": 600
                                  },
                                  "evidence_level": {
                                    "type": "string",
                                    "enum": [
                                      "E1",
                                      "E2",
                                      "E3",
                                      "E4"
                                    ]
                                  },
                                  "archive_url": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "url",
                                  "title",
                                  "evidence_level",
                                  "archive_url"
                                ],
                                "additionalProperties": false
                              }
                            }
                          },
                          "required": [
                            "name",
                            "url",
                            "note",
                            "sources"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "more": {
                        "type": "string"
                      },
                      "truncated": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "slug",
                      "title",
                      "kind",
                      "summary",
                      "thesis",
                      "revival_test",
                      "lessons",
                      "member_count",
                      "members",
                      "sources",
                      "survivors",
                      "more",
                      "truncated"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "slug",
                "name",
                "company",
                "tier",
                "fail_type",
                "outcome",
                "category",
                "primary_cause",
                "evidence_confidence",
                "relevance",
                "rank_score",
                "reasons",
                "obituary",
                "summary",
                "money_amount",
                "money_currency",
                "money_method",
                "fail_score",
                "lifespan_days",
                "sources",
                "more",
                "truncated",
                "idea_statement",
                "job_to_be_done",
                "dimensions",
                "launched_at",
                "died_at",
                "published_at",
                "updated_at",
                "severity",
                "lesson_relevance",
                "capital_exposure_amount",
                "capital_exposure_method",
                "causes",
                "warning_signs",
                "aftermath",
                "pitch",
                "what_happened",
                "why_failed",
                "lessons",
                "timeline",
                "similar",
                "patterns"
              ],
              "additionalProperties": false
            },
            "example": {
              "slug": "humane-ai-pin",
              "name": "Humane AI Pin",
              "company": "Humane",
              "tier": "funded",
              "fail_type": "collapse",
              "outcome": "acquihired_killed",
              "category": "ai_hardware",
              "primary_cause": "cloud_dependency_died",
              "evidence_confidence": 4,
              "relevance": 0.9,
              "rank_score": 3.6,
              "reasons": [
                "Matched terms: screenless, wearable, pin",
                "Primary cause: cloud_dependency_died"
              ],
              "obituary": {
                "text": "A screenless wearable whose cloud service shut down.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "summary": {
                "text": "A wearable AI assistant dependent on its cloud service.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "money_amount": null,
              "money_currency": "USD",
              "money_method": null,
              "fail_score": 80,
              "lifespan_days": 300,
              "sources": [
                {
                  "url": "https://example.com/humane-shutdown-report",
                  "title": "Humane AI Pin shutdown",
                  "evidence_level": "E2",
                  "archive_url": null
                }
              ],
              "more": "/fails/humane-ai-pin",
              "truncated": false,
              "idea_statement": {
                "text": "A screenless wearable assistant.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "job_to_be_done": {
                "text": "Answer questions hands-free.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "dimensions": {
                "form_factor": "hardware"
              },
              "launched_at": null,
              "died_at": null,
              "published_at": null,
              "updated_at": "2026-09-06T00:00:00.000Z",
              "severity": null,
              "lesson_relevance": null,
              "capital_exposure_amount": null,
              "capital_exposure_method": null,
              "causes": [],
              "warning_signs": [],
              "aftermath": [],
              "pitch": {
                "text": "An assistant on your clothing.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "what_happened": {
                "text": "The service shut down.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "why_failed": {
                "text": "The device required a cloud service.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "lessons": {
                "text": "Plan for service shutdown.",
                "truncated": false,
                "more": "/fails/humane-ai-pin"
              },
              "timeline": [
                {
                  "occurred_on": "2025-02-28T00:00:00.000Z",
                  "narrative": {
                    "text": "Service shutdown.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ]
                }
              ],
              "similar": [],
              "patterns": [
                {
                  "slug": "hardware-that-needed-a-cloud",
                  "title": "Hardware that needed a cloud",
                  "kind": "playbook",
                  "summary": {
                    "text": "Devices dependent on a remote service.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "thesis": {
                    "text": "The device needs an operating cloud service.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "revival_test": {
                    "text": "Can the hardware work when the service closes?",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "lessons": {
                    "text": "Plan for an offline mode.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "member_count": 5,
                  "members": [
                    {
                      "slug": "humane-ai-pin",
                      "name": "Humane AI Pin",
                      "company": "Humane",
                      "tier": "funded",
                      "fail_type": "collapse",
                      "outcome": "acquihired_killed",
                      "category": "ai_hardware",
                      "primary_cause": "cloud_dependency_died",
                      "evidence_confidence": 4,
                      "relevance": 0.9,
                      "rank_score": 3.6,
                      "reasons": [
                        "Matched terms: screenless, wearable, pin",
                        "Primary cause: cloud_dependency_died"
                      ],
                      "obituary": {
                        "text": "A screenless wearable whose cloud service shut down.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "summary": {
                        "text": "A wearable AI assistant dependent on its cloud service.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "money_amount": null,
                      "money_currency": "USD",
                      "money_method": null,
                      "fail_score": 80,
                      "lifespan_days": 300,
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ],
                      "more": "/fails/humane-ai-pin",
                      "truncated": false
                    }
                  ],
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ],
                  "survivors": [],
                  "more": "/patterns/hardware-that-needed-a-cloud",
                  "truncated": false
                }
              ]
            }
          }
        }
      },
      "400": {
        "description": "Invalid parameters",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Invalid parameters"
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string"
            },
            "example": "Bearer"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Unauthorized"
            }
          }
        }
      },
      "404": {
        "description": "Not found",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Not found"
            }
          }
        }
      },
      "429": {
        "description": "Too many requests",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "Retry-After": {
            "schema": {
              "type": "integer"
            },
            "description": "Seconds before retrying",
            "example": 60
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Too many requests"
            }
          }
        }
      },
      "503": {
        "description": "Service unavailable",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Service unavailable"
            }
          }
        }
      }
    }
  }
}
GET /api/v1/patternsList patterns with at least five public members

Example: /api/v1/patterns?kind=playbook&category=ai_hardware

{
  "get": {
    "operationId": "list_patterns",
    "summary": "List patterns with at least five public members",
    "parameters": [
      {
        "name": "tier",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "titan",
            "funded",
            "indie"
          ]
        }
      },
      {
        "name": "fail_type",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "killed",
            "vaporware",
            "faked_demo",
            "meltdown",
            "collapse",
            "pivot",
            "watchlist"
          ]
        }
      },
      {
        "name": "outcome",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "shut_down",
            "product_discontinued",
            "acquihired_killed",
            "absorbed_into_platform",
            "pivoted_away",
            "zombie",
            "incident_resolved",
            "ongoing"
          ]
        }
      },
      {
        "name": "category",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "ai_hardware",
            "chatbots_assistants",
            "ai_agents",
            "coding_agents",
            "autonomous_vehicles",
            "robotics",
            "enterprise_ai",
            "ai_content_media",
            "consumer_apps",
            "public_sector",
            "healthcare_ai",
            "adjacent_hype"
          ]
        }
      },
      {
        "name": "cause",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "solution_seeking_problem",
            "novelty_wore_off",
            "feature_not_product",
            "wrong_price_point",
            "model_capability_gap",
            "hallucination_liability",
            "agent_unreliability",
            "latency_broke_ux",
            "hardware_not_ready",
            "inference_cost_above_price",
            "hardware_bom_vs_price",
            "hidden_human_labour_cost",
            "subscription_fatigue",
            "harmful_outputs",
            "data_privacy",
            "impersonation_deepfake",
            "child_safety",
            "liability_ruling",
            "regulator_action",
            "ip_copyright",
            "consumer_protection",
            "too_early",
            "too_late",
            "market_moved",
            "leadership",
            "shipping_quality",
            "burn_rate",
            "go_to_market",
            "demo_reality_gap",
            "roadmap_theatre",
            "eval_theatre",
            "humans_behind_curtain",
            "staged_demo",
            "fabricated_metrics",
            "employee_revolt",
            "public_backlash",
            "bias_scandal",
            "labour_replacement_backlash",
            "platform_absorbed_feature",
            "api_price_or_access_change",
            "cloud_dependency_died",
            "distribution_lost"
          ]
        }
      },
      {
        "name": "section",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "archive",
            "incidents",
            "watchlist"
          ]
        }
      },
      {
        "name": "incumbency",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "startup",
            "incumbent_feature",
            "incumbent_product",
            "lab_research"
          ]
        }
      },
      {
        "name": "user_type",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "consumer",
            "prosumer",
            "smb",
            "enterprise",
            "government",
            "developer"
          ]
        }
      },
      {
        "name": "form_factor",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "hardware",
            "mobile_app",
            "web_app",
            "api",
            "feature_in_existing_product",
            "service",
            "model",
            "browser_extension",
            "bot_on_platform"
          ]
        }
      },
      {
        "name": "ai_role",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "core",
            "wrapper",
            "feature",
            "infra",
            "washing"
          ]
        }
      },
      {
        "name": "autonomy_level",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "assistant",
            "copilot",
            "agent",
            "autonomous",
            "physical_autonomous"
          ]
        }
      },
      {
        "name": "modality",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "text",
            "voice",
            "vision",
            "multimodal",
            "physical"
          ]
        }
      },
      {
        "name": "dependency",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "own_model",
            "third_party_model",
            "platform_api",
            "cloud_required_hardware"
          ]
        }
      },
      {
        "name": "business_model",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "subscription",
            "hardware_plus_subscription",
            "usage",
            "ads",
            "enterprise_contract",
            "free_no_model",
            "marketplace"
          ]
        }
      },
      {
        "name": "distribution",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "app_store",
            "direct",
            "enterprise_sales",
            "viral_social",
            "kickstarter",
            "bundled"
          ]
        }
      },
      {
        "name": "era",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "2026",
            "pre_transformer",
            "early_transformer",
            "gpt3",
            "chatgpt_boom",
            "agentic"
          ]
        }
      },
      {
        "name": "stage_at_death",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "pre_seed",
            "seed",
            "a",
            "b",
            "c_plus",
            "public",
            "internal"
          ]
        }
      },
      {
        "name": "year_from",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        }
      },
      {
        "name": "year_to",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        }
      },
      {
        "name": "kind",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "idea_cluster",
            "playbook",
            "cause_hub"
          ]
        }
      },
      {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      }
    ],
    "responses": {
      "200": {
        "description": "Bounded, source-linked result",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "results": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "slug": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "kind": {
                        "type": "string",
                        "enum": [
                          "idea_cluster",
                          "playbook",
                          "cause_hub"
                        ]
                      },
                      "summary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "thesis": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "revival_test": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "lessons": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "member_count": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "members": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "slug": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "company": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "tier": {
                              "type": "string",
                              "enum": [
                                "titan",
                                "funded",
                                "indie"
                              ]
                            },
                            "fail_type": {
                              "type": "string",
                              "enum": [
                                "killed",
                                "vaporware",
                                "faked_demo",
                                "meltdown",
                                "collapse",
                                "pivot",
                                "watchlist"
                              ]
                            },
                            "outcome": {
                              "type": "string",
                              "enum": [
                                "shut_down",
                                "product_discontinued",
                                "acquihired_killed",
                                "absorbed_into_platform",
                                "pivoted_away",
                                "zombie",
                                "incident_resolved",
                                "ongoing"
                              ]
                            },
                            "category": {
                              "type": "string",
                              "enum": [
                                "ai_hardware",
                                "chatbots_assistants",
                                "ai_agents",
                                "coding_agents",
                                "autonomous_vehicles",
                                "robotics",
                                "enterprise_ai",
                                "ai_content_media",
                                "consumer_apps",
                                "public_sector",
                                "healthcare_ai",
                                "adjacent_hype"
                              ]
                            },
                            "primary_cause": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "solution_seeking_problem",
                                    "novelty_wore_off",
                                    "feature_not_product",
                                    "wrong_price_point",
                                    "model_capability_gap",
                                    "hallucination_liability",
                                    "agent_unreliability",
                                    "latency_broke_ux",
                                    "hardware_not_ready",
                                    "inference_cost_above_price",
                                    "hardware_bom_vs_price",
                                    "hidden_human_labour_cost",
                                    "subscription_fatigue",
                                    "harmful_outputs",
                                    "data_privacy",
                                    "impersonation_deepfake",
                                    "child_safety",
                                    "liability_ruling",
                                    "regulator_action",
                                    "ip_copyright",
                                    "consumer_protection",
                                    "too_early",
                                    "too_late",
                                    "market_moved",
                                    "leadership",
                                    "shipping_quality",
                                    "burn_rate",
                                    "go_to_market",
                                    "demo_reality_gap",
                                    "roadmap_theatre",
                                    "eval_theatre",
                                    "humans_behind_curtain",
                                    "staged_demo",
                                    "fabricated_metrics",
                                    "employee_revolt",
                                    "public_backlash",
                                    "bias_scandal",
                                    "labour_replacement_backlash",
                                    "platform_absorbed_feature",
                                    "api_price_or_access_change",
                                    "cloud_dependency_died",
                                    "distribution_lost"
                                  ]
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "evidence_confidence": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 5
                            },
                            "relevance": {
                              "type": "number",
                              "minimum": 0
                            },
                            "rank_score": {
                              "type": "number",
                              "minimum": 0
                            },
                            "reasons": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "maxLength": 600
                              }
                            },
                            "obituary": {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "truncated": {
                                  "type": "boolean"
                                },
                                "more": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text",
                                "truncated",
                                "more"
                              ],
                              "additionalProperties": false
                            },
                            "summary": {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "truncated": {
                                  "type": "boolean"
                                },
                                "more": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text",
                                "truncated",
                                "more"
                              ],
                              "additionalProperties": false
                            },
                            "money_amount": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "money_currency": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "money_method": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "raised",
                                    "writedown",
                                    "settlement",
                                    "refund",
                                    "fine",
                                    "marketcap",
                                    "estimate"
                                  ]
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "fail_score": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "lifespan_days": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "sources": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "format": "uri"
                                  },
                                  "title": {
                                    "type": "string",
                                    "maxLength": 600
                                  },
                                  "evidence_level": {
                                    "type": "string",
                                    "enum": [
                                      "E1",
                                      "E2",
                                      "E3",
                                      "E4"
                                    ]
                                  },
                                  "archive_url": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "url",
                                  "title",
                                  "evidence_level",
                                  "archive_url"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "more": {
                              "type": "string"
                            },
                            "truncated": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "slug",
                            "name",
                            "company",
                            "tier",
                            "fail_type",
                            "outcome",
                            "category",
                            "primary_cause",
                            "evidence_confidence",
                            "relevance",
                            "rank_score",
                            "reasons",
                            "obituary",
                            "summary",
                            "money_amount",
                            "money_currency",
                            "money_method",
                            "fail_score",
                            "lifespan_days",
                            "sources",
                            "more",
                            "truncated"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "survivors": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "note": {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "truncated": {
                                  "type": "boolean"
                                },
                                "more": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "text",
                                "truncated",
                                "more"
                              ],
                              "additionalProperties": false
                            },
                            "sources": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "format": "uri"
                                  },
                                  "title": {
                                    "type": "string",
                                    "maxLength": 600
                                  },
                                  "evidence_level": {
                                    "type": "string",
                                    "enum": [
                                      "E1",
                                      "E2",
                                      "E3",
                                      "E4"
                                    ]
                                  },
                                  "archive_url": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "url",
                                  "title",
                                  "evidence_level",
                                  "archive_url"
                                ],
                                "additionalProperties": false
                              }
                            }
                          },
                          "required": [
                            "name",
                            "url",
                            "note",
                            "sources"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "more": {
                        "type": "string"
                      },
                      "truncated": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "slug",
                      "title",
                      "kind",
                      "summary",
                      "thesis",
                      "revival_test",
                      "lessons",
                      "member_count",
                      "members",
                      "sources",
                      "survivors",
                      "more",
                      "truncated"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "results"
              ],
              "additionalProperties": false
            },
            "example": {
              "results": [
                {
                  "slug": "hardware-that-needed-a-cloud",
                  "title": "Hardware that needed a cloud",
                  "kind": "playbook",
                  "summary": {
                    "text": "Devices dependent on a remote service.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "thesis": {
                    "text": "The device needs an operating cloud service.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "revival_test": {
                    "text": "Can the hardware work when the service closes?",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "lessons": {
                    "text": "Plan for an offline mode.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "member_count": 5,
                  "members": [
                    {
                      "slug": "humane-ai-pin",
                      "name": "Humane AI Pin",
                      "company": "Humane",
                      "tier": "funded",
                      "fail_type": "collapse",
                      "outcome": "acquihired_killed",
                      "category": "ai_hardware",
                      "primary_cause": "cloud_dependency_died",
                      "evidence_confidence": 4,
                      "relevance": 0.9,
                      "rank_score": 3.6,
                      "reasons": [
                        "Matched terms: screenless, wearable, pin",
                        "Primary cause: cloud_dependency_died"
                      ],
                      "obituary": {
                        "text": "A screenless wearable whose cloud service shut down.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "summary": {
                        "text": "A wearable AI assistant dependent on its cloud service.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "money_amount": null,
                      "money_currency": "USD",
                      "money_method": null,
                      "fail_score": 80,
                      "lifespan_days": 300,
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ],
                      "more": "/fails/humane-ai-pin",
                      "truncated": false
                    }
                  ],
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ],
                  "survivors": [],
                  "more": "/patterns/hardware-that-needed-a-cloud",
                  "truncated": false
                }
              ]
            }
          }
        }
      },
      "400": {
        "description": "Invalid parameters",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Invalid parameters"
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string"
            },
            "example": "Bearer"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Unauthorized"
            }
          }
        }
      },
      "404": {
        "description": "Not found",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Not found"
            }
          }
        }
      },
      "429": {
        "description": "Too many requests",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "Retry-After": {
            "schema": {
              "type": "integer"
            },
            "description": "Seconds before retrying",
            "example": 60
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Too many requests"
            }
          }
        }
      },
      "503": {
        "description": "Service unavailable",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Service unavailable"
            }
          }
        }
      }
    }
  }
}
GET /api/v1/patterns/{slug}Get a pattern, member fails and revival test

Example: /api/v1/patterns/hardware-that-needed-a-cloud

{
  "get": {
    "operationId": "get_pattern",
    "summary": "Get a pattern, member fails and revival test",
    "parameters": [
      {
        "name": "slug",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
        },
        "example": "hardware-that-needed-a-cloud"
      }
    ],
    "responses": {
      "200": {
        "description": "Bounded, source-linked result",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "maxLength": 600
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "idea_cluster",
                    "playbook",
                    "cause_hub"
                  ]
                },
                "summary": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "thesis": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "revival_test": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "lessons": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "text",
                    "truncated",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "member_count": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "members": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "slug": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "company": {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 600
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "tier": {
                        "type": "string",
                        "enum": [
                          "titan",
                          "funded",
                          "indie"
                        ]
                      },
                      "fail_type": {
                        "type": "string",
                        "enum": [
                          "killed",
                          "vaporware",
                          "faked_demo",
                          "meltdown",
                          "collapse",
                          "pivot",
                          "watchlist"
                        ]
                      },
                      "outcome": {
                        "type": "string",
                        "enum": [
                          "shut_down",
                          "product_discontinued",
                          "acquihired_killed",
                          "absorbed_into_platform",
                          "pivoted_away",
                          "zombie",
                          "incident_resolved",
                          "ongoing"
                        ]
                      },
                      "category": {
                        "type": "string",
                        "enum": [
                          "ai_hardware",
                          "chatbots_assistants",
                          "ai_agents",
                          "coding_agents",
                          "autonomous_vehicles",
                          "robotics",
                          "enterprise_ai",
                          "ai_content_media",
                          "consumer_apps",
                          "public_sector",
                          "healthcare_ai",
                          "adjacent_hype"
                        ]
                      },
                      "primary_cause": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "solution_seeking_problem",
                              "novelty_wore_off",
                              "feature_not_product",
                              "wrong_price_point",
                              "model_capability_gap",
                              "hallucination_liability",
                              "agent_unreliability",
                              "latency_broke_ux",
                              "hardware_not_ready",
                              "inference_cost_above_price",
                              "hardware_bom_vs_price",
                              "hidden_human_labour_cost",
                              "subscription_fatigue",
                              "harmful_outputs",
                              "data_privacy",
                              "impersonation_deepfake",
                              "child_safety",
                              "liability_ruling",
                              "regulator_action",
                              "ip_copyright",
                              "consumer_protection",
                              "too_early",
                              "too_late",
                              "market_moved",
                              "leadership",
                              "shipping_quality",
                              "burn_rate",
                              "go_to_market",
                              "demo_reality_gap",
                              "roadmap_theatre",
                              "eval_theatre",
                              "humans_behind_curtain",
                              "staged_demo",
                              "fabricated_metrics",
                              "employee_revolt",
                              "public_backlash",
                              "bias_scandal",
                              "labour_replacement_backlash",
                              "platform_absorbed_feature",
                              "api_price_or_access_change",
                              "cloud_dependency_died",
                              "distribution_lost"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "evidence_confidence": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "relevance": {
                        "type": "number",
                        "minimum": 0
                      },
                      "rank_score": {
                        "type": "number",
                        "minimum": 0
                      },
                      "reasons": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "maxLength": 600
                        }
                      },
                      "obituary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "summary": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "money_amount": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "money_currency": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "money_method": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "raised",
                              "writedown",
                              "settlement",
                              "refund",
                              "fine",
                              "marketcap",
                              "estimate"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "fail_score": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "lifespan_days": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "more": {
                        "type": "string"
                      },
                      "truncated": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "slug",
                      "name",
                      "company",
                      "tier",
                      "fail_type",
                      "outcome",
                      "category",
                      "primary_cause",
                      "evidence_confidence",
                      "relevance",
                      "rank_score",
                      "reasons",
                      "obituary",
                      "summary",
                      "money_amount",
                      "money_currency",
                      "money_method",
                      "fail_score",
                      "lifespan_days",
                      "sources",
                      "more",
                      "truncated"
                    ],
                    "additionalProperties": false
                  }
                },
                "sources": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "title": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "evidence_level": {
                        "type": "string",
                        "enum": [
                          "E1",
                          "E2",
                          "E3",
                          "E4"
                        ]
                      },
                      "archive_url": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "url",
                      "title",
                      "evidence_level",
                      "archive_url"
                    ],
                    "additionalProperties": false
                  }
                },
                "survivors": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "maxLength": 600
                      },
                      "url": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "note": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "truncated": {
                            "type": "boolean"
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text",
                          "truncated",
                          "more"
                        ],
                        "additionalProperties": false
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "name",
                      "url",
                      "note",
                      "sources"
                    ],
                    "additionalProperties": false
                  }
                },
                "more": {
                  "type": "string"
                },
                "truncated": {
                  "type": "boolean"
                }
              },
              "required": [
                "slug",
                "title",
                "kind",
                "summary",
                "thesis",
                "revival_test",
                "lessons",
                "member_count",
                "members",
                "sources",
                "survivors",
                "more",
                "truncated"
              ],
              "additionalProperties": false
            },
            "example": {
              "slug": "hardware-that-needed-a-cloud",
              "title": "Hardware that needed a cloud",
              "kind": "playbook",
              "summary": {
                "text": "Devices dependent on a remote service.",
                "truncated": false,
                "more": "/patterns/hardware-that-needed-a-cloud"
              },
              "thesis": {
                "text": "The device needs an operating cloud service.",
                "truncated": false,
                "more": "/patterns/hardware-that-needed-a-cloud"
              },
              "revival_test": {
                "text": "Can the hardware work when the service closes?",
                "truncated": false,
                "more": "/patterns/hardware-that-needed-a-cloud"
              },
              "lessons": {
                "text": "Plan for an offline mode.",
                "truncated": false,
                "more": "/patterns/hardware-that-needed-a-cloud"
              },
              "member_count": 5,
              "members": [
                {
                  "slug": "humane-ai-pin",
                  "name": "Humane AI Pin",
                  "company": "Humane",
                  "tier": "funded",
                  "fail_type": "collapse",
                  "outcome": "acquihired_killed",
                  "category": "ai_hardware",
                  "primary_cause": "cloud_dependency_died",
                  "evidence_confidence": 4,
                  "relevance": 0.9,
                  "rank_score": 3.6,
                  "reasons": [
                    "Matched terms: screenless, wearable, pin",
                    "Primary cause: cloud_dependency_died"
                  ],
                  "obituary": {
                    "text": "A screenless wearable whose cloud service shut down.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "summary": {
                    "text": "A wearable AI assistant dependent on its cloud service.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "money_amount": null,
                  "money_currency": "USD",
                  "money_method": null,
                  "fail_score": 80,
                  "lifespan_days": 300,
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ],
                  "more": "/fails/humane-ai-pin",
                  "truncated": false
                }
              ],
              "sources": [
                {
                  "url": "https://example.com/humane-shutdown-report",
                  "title": "Humane AI Pin shutdown",
                  "evidence_level": "E2",
                  "archive_url": null
                }
              ],
              "survivors": [],
              "more": "/patterns/hardware-that-needed-a-cloud",
              "truncated": false
            }
          }
        }
      },
      "400": {
        "description": "Invalid parameters",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Invalid parameters"
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string"
            },
            "example": "Bearer"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Unauthorized"
            }
          }
        }
      },
      "404": {
        "description": "Not found",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Not found"
            }
          }
        }
      },
      "429": {
        "description": "Too many requests",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "Retry-After": {
            "schema": {
              "type": "integer"
            },
            "description": "Seconds before retrying",
            "example": 60
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Too many requests"
            }
          }
        }
      },
      "503": {
        "description": "Service unavailable",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Service unavailable"
            }
          }
        }
      }
    }
  }
}
GET /api/v1/statsGet masked descriptive statistics and the global counter

Example: /api/v1/stats?group_by=category,era

{
  "get": {
    "operationId": "stats",
    "summary": "Get masked descriptive statistics and the global counter",
    "parameters": [
      {
        "name": "tier",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "titan",
            "funded",
            "indie"
          ]
        }
      },
      {
        "name": "fail_type",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "killed",
            "vaporware",
            "faked_demo",
            "meltdown",
            "collapse",
            "pivot",
            "watchlist"
          ]
        }
      },
      {
        "name": "outcome",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "shut_down",
            "product_discontinued",
            "acquihired_killed",
            "absorbed_into_platform",
            "pivoted_away",
            "zombie",
            "incident_resolved",
            "ongoing"
          ]
        }
      },
      {
        "name": "category",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "ai_hardware",
            "chatbots_assistants",
            "ai_agents",
            "coding_agents",
            "autonomous_vehicles",
            "robotics",
            "enterprise_ai",
            "ai_content_media",
            "consumer_apps",
            "public_sector",
            "healthcare_ai",
            "adjacent_hype"
          ]
        }
      },
      {
        "name": "cause",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "solution_seeking_problem",
            "novelty_wore_off",
            "feature_not_product",
            "wrong_price_point",
            "model_capability_gap",
            "hallucination_liability",
            "agent_unreliability",
            "latency_broke_ux",
            "hardware_not_ready",
            "inference_cost_above_price",
            "hardware_bom_vs_price",
            "hidden_human_labour_cost",
            "subscription_fatigue",
            "harmful_outputs",
            "data_privacy",
            "impersonation_deepfake",
            "child_safety",
            "liability_ruling",
            "regulator_action",
            "ip_copyright",
            "consumer_protection",
            "too_early",
            "too_late",
            "market_moved",
            "leadership",
            "shipping_quality",
            "burn_rate",
            "go_to_market",
            "demo_reality_gap",
            "roadmap_theatre",
            "eval_theatre",
            "humans_behind_curtain",
            "staged_demo",
            "fabricated_metrics",
            "employee_revolt",
            "public_backlash",
            "bias_scandal",
            "labour_replacement_backlash",
            "platform_absorbed_feature",
            "api_price_or_access_change",
            "cloud_dependency_died",
            "distribution_lost"
          ]
        }
      },
      {
        "name": "section",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "archive",
            "incidents",
            "watchlist"
          ]
        }
      },
      {
        "name": "incumbency",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "startup",
            "incumbent_feature",
            "incumbent_product",
            "lab_research"
          ]
        }
      },
      {
        "name": "user_type",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "consumer",
            "prosumer",
            "smb",
            "enterprise",
            "government",
            "developer"
          ]
        }
      },
      {
        "name": "form_factor",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "hardware",
            "mobile_app",
            "web_app",
            "api",
            "feature_in_existing_product",
            "service",
            "model",
            "browser_extension",
            "bot_on_platform"
          ]
        }
      },
      {
        "name": "ai_role",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "core",
            "wrapper",
            "feature",
            "infra",
            "washing"
          ]
        }
      },
      {
        "name": "autonomy_level",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "assistant",
            "copilot",
            "agent",
            "autonomous",
            "physical_autonomous"
          ]
        }
      },
      {
        "name": "modality",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "text",
            "voice",
            "vision",
            "multimodal",
            "physical"
          ]
        }
      },
      {
        "name": "dependency",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "own_model",
            "third_party_model",
            "platform_api",
            "cloud_required_hardware"
          ]
        }
      },
      {
        "name": "business_model",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "subscription",
            "hardware_plus_subscription",
            "usage",
            "ads",
            "enterprise_contract",
            "free_no_model",
            "marketplace"
          ]
        }
      },
      {
        "name": "distribution",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "app_store",
            "direct",
            "enterprise_sales",
            "viral_social",
            "kickstarter",
            "bundled"
          ]
        }
      },
      {
        "name": "era",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "2026",
            "pre_transformer",
            "early_transformer",
            "gpt3",
            "chatgpt_boom",
            "agentic"
          ]
        }
      },
      {
        "name": "stage_at_death",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "pre_seed",
            "seed",
            "a",
            "b",
            "c_plus",
            "public",
            "internal"
          ]
        }
      },
      {
        "name": "year_from",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        }
      },
      {
        "name": "year_to",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        }
      },
      {
        "name": "group_by",
        "in": "query",
        "required": false,
        "schema": {
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "tier",
              "fail_type",
              "outcome",
              "category",
              "section",
              "cause",
              "incumbency",
              "user_type",
              "form_factor",
              "ai_role",
              "autonomy_level",
              "modality",
              "dependency",
              "business_model",
              "distribution",
              "era",
              "timing_verdict",
              "stage_at_death",
              "geo",
              "sentiment_launch",
              "sentiment_death",
              "sentiment_delta"
            ]
          }
        },
        "style": "form",
        "explode": false,
        "example": [
          "category",
          "era"
        ]
      }
    ],
    "responses": {
      "200": {
        "description": "Bounded, source-linked result",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "cells": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "dimensions": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {
                          "type": [
                            "string",
                            "number",
                            "null"
                          ]
                        }
                      },
                      "n": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "masked": {
                        "type": "boolean"
                      },
                      "count": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "minimum": -9007199254740991,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "sums": {
                        "anyOf": [
                          {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "closed_n": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "median_lifespan_days": {
                        "type": "number"
                      },
                      "warning_signs": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "sign": {
                              "type": "string",
                              "enum": [
                                "demo_only_launch",
                                "waitlist_over_6_months",
                                "announce_to_ship_over_12_months",
                                "hardware_requires_subscription",
                                "features_marked_coming_soon_at_launch",
                                "no_public_pricing",
                                "humans_in_the_loop_undisclosed",
                                "benchmark_claims_not_reproduced",
                                "exec_departures_pre_death",
                                "restated_metrics",
                                "down_round",
                                "pivot_count_2_plus",
                                "refund_complaints_at_scale",
                                "ai_in_company_name",
                                "founder_hype_statements",
                                "regulatory_warning_received",
                                "single_platform_dependency",
                                "celebrity_or_influencer_launch",
                                "raised_over_100m_pre_revenue"
                              ]
                            },
                            "n": {
                              "type": "integer",
                              "minimum": -9007199254740991,
                              "maximum": 9007199254740991
                            },
                            "count": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "minimum": -9007199254740991,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "prevalence": {
                              "type": "number"
                            },
                            "sources": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "url": {
                                    "type": "string",
                                    "format": "uri"
                                  },
                                  "title": {
                                    "type": "string",
                                    "maxLength": 600
                                  },
                                  "evidence_level": {
                                    "type": "string",
                                    "enum": [
                                      "E1",
                                      "E2",
                                      "E3",
                                      "E4"
                                    ]
                                  },
                                  "archive_url": {
                                    "type": [
                                      "string",
                                      "null"
                                    ]
                                  }
                                },
                                "required": [
                                  "url",
                                  "title",
                                  "evidence_level",
                                  "archive_url"
                                ],
                                "additionalProperties": false
                              }
                            }
                          },
                          "required": [
                            "sign",
                            "n",
                            "count",
                            "sources"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "sources": {
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "url": {
                              "type": "string",
                              "format": "uri"
                            },
                            "title": {
                              "type": "string",
                              "maxLength": 600
                            },
                            "evidence_level": {
                              "type": "string",
                              "enum": [
                                "E1",
                                "E2",
                                "E3",
                                "E4"
                              ]
                            },
                            "archive_url": {
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "required": [
                            "url",
                            "title",
                            "evidence_level",
                            "archive_url"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "more": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "dimensions",
                      "n",
                      "masked",
                      "count",
                      "sums",
                      "closed_n",
                      "warning_signs",
                      "sources",
                      "more"
                    ],
                    "additionalProperties": false
                  }
                },
                "truncated": {
                  "type": "boolean"
                },
                "more": {
                  "type": "string"
                },
                "counter": {
                  "type": "object",
                  "properties": {
                    "amount": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string",
                      "const": "USD"
                    },
                    "sources": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "title": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "evidence_level": {
                            "type": "string",
                            "enum": [
                              "E1",
                              "E2",
                              "E3",
                              "E4"
                            ]
                          },
                          "archive_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "url",
                          "title",
                          "evidence_level",
                          "archive_url"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "more": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "amount",
                    "currency",
                    "sources",
                    "more"
                  ],
                  "additionalProperties": false
                },
                "inclusion_rule": {
                  "type": "string"
                },
                "date_range": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "to": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "from",
                    "to"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "cells",
                "truncated",
                "more",
                "counter",
                "inclusion_rule",
                "date_range"
              ],
              "additionalProperties": false
            },
            "example": {
              "cells": [
                {
                  "dimensions": {
                    "category": "ai_hardware",
                    "era": "agentic"
                  },
                  "n": 4,
                  "masked": true,
                  "count": null,
                  "sums": null,
                  "closed_n": 4,
                  "warning_signs": [],
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ],
                  "more": "/fails"
                }
              ],
              "truncated": false,
              "more": "/fails",
              "counter": {
                "amount": "0.00",
                "currency": "USD",
                "sources": [],
                "more": "/counter"
              },
              "inclusion_rule": "Published matching entries; counts below 5 are masked; medians require 10 closed cases.",
              "date_range": {
                "from": "2024-01-01T00:00:00.000Z",
                "to": "2025-02-28T00:00:00.000Z"
              }
            }
          }
        }
      },
      "400": {
        "description": "Invalid parameters",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Invalid parameters"
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "WWW-Authenticate": {
            "schema": {
              "type": "string"
            },
            "example": "Bearer"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Unauthorized"
            }
          }
        }
      },
      "404": {
        "description": "Not found",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Not found"
            }
          }
        }
      },
      "429": {
        "description": "Too many requests",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "Retry-After": {
            "schema": {
              "type": "integer"
            },
            "description": "Seconds before retrying",
            "example": 60
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Too many requests"
            }
          }
        }
      },
      "503": {
        "description": "Service unavailable",
        "headers": {
          "X-RateLimit-Limit": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 60
          },
          "X-RateLimit-Remaining": {
            "description": "Tightest applicable sliding-window quota",
            "schema": {
              "type": "integer"
            },
            "example": 0
          },
          "X-RateLimit-Reset": {
            "description": "Unix seconds when the oldest request in the tightest quota expires",
            "schema": {
              "type": "integer"
            },
            "example": 0
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "type": "object",
              "properties": {
                "error": {
                  "type": "string"
                }
              },
              "required": [
                "error"
              ],
              "additionalProperties": false
            },
            "example": {
              "error": "Service unavailable"
            }
          }
        }
      }
    }
  }
}
OpenAPI 3.1 documentDownload JSON
{
  "openapi": "3.1.0",
  "info": {
    "title": "ManyFails REST API",
    "version": "1.0.0",
    "description": "Free, read-only, source-linked failure research. All lists are bounded to 20; narratives to 600 characters. Search ranks relevance × evidence confidence. Examples are illustrative. Year filters use UTC end dates. Pattern filters match any public member. The counter is global. The same research tools are available over MCP at /mcp. Idea Check is also available as POST /api/v1/idea-check; no billing."
  },
  "servers": [
    {
      "url": "/"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "mf_ followed by 64 hexadecimal characters"
      }
    }
  },
  "paths": {
    "/api/v1/search": {
      "get": {
        "operationId": "search",
        "summary": "Search published fails",
        "parameters": [
          {
            "name": "tier",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "titan",
                "funded",
                "indie"
              ]
            }
          },
          {
            "name": "fail_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "killed",
                "vaporware",
                "faked_demo",
                "meltdown",
                "collapse",
                "pivot",
                "watchlist"
              ]
            }
          },
          {
            "name": "outcome",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "shut_down",
                "product_discontinued",
                "acquihired_killed",
                "absorbed_into_platform",
                "pivoted_away",
                "zombie",
                "incident_resolved",
                "ongoing"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ai_hardware",
                "chatbots_assistants",
                "ai_agents",
                "coding_agents",
                "autonomous_vehicles",
                "robotics",
                "enterprise_ai",
                "ai_content_media",
                "consumer_apps",
                "public_sector",
                "healthcare_ai",
                "adjacent_hype"
              ]
            }
          },
          {
            "name": "cause",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "solution_seeking_problem",
                "novelty_wore_off",
                "feature_not_product",
                "wrong_price_point",
                "model_capability_gap",
                "hallucination_liability",
                "agent_unreliability",
                "latency_broke_ux",
                "hardware_not_ready",
                "inference_cost_above_price",
                "hardware_bom_vs_price",
                "hidden_human_labour_cost",
                "subscription_fatigue",
                "harmful_outputs",
                "data_privacy",
                "impersonation_deepfake",
                "child_safety",
                "liability_ruling",
                "regulator_action",
                "ip_copyright",
                "consumer_protection",
                "too_early",
                "too_late",
                "market_moved",
                "leadership",
                "shipping_quality",
                "burn_rate",
                "go_to_market",
                "demo_reality_gap",
                "roadmap_theatre",
                "eval_theatre",
                "humans_behind_curtain",
                "staged_demo",
                "fabricated_metrics",
                "employee_revolt",
                "public_backlash",
                "bias_scandal",
                "labour_replacement_backlash",
                "platform_absorbed_feature",
                "api_price_or_access_change",
                "cloud_dependency_died",
                "distribution_lost"
              ]
            }
          },
          {
            "name": "section",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "archive",
                "incidents",
                "watchlist"
              ]
            }
          },
          {
            "name": "incumbency",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "startup",
                "incumbent_feature",
                "incumbent_product",
                "lab_research"
              ]
            }
          },
          {
            "name": "user_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "consumer",
                "prosumer",
                "smb",
                "enterprise",
                "government",
                "developer"
              ]
            }
          },
          {
            "name": "form_factor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "hardware",
                "mobile_app",
                "web_app",
                "api",
                "feature_in_existing_product",
                "service",
                "model",
                "browser_extension",
                "bot_on_platform"
              ]
            }
          },
          {
            "name": "ai_role",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "core",
                "wrapper",
                "feature",
                "infra",
                "washing"
              ]
            }
          },
          {
            "name": "autonomy_level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "assistant",
                "copilot",
                "agent",
                "autonomous",
                "physical_autonomous"
              ]
            }
          },
          {
            "name": "modality",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "text",
                "voice",
                "vision",
                "multimodal",
                "physical"
              ]
            }
          },
          {
            "name": "dependency",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "own_model",
                "third_party_model",
                "platform_api",
                "cloud_required_hardware"
              ]
            }
          },
          {
            "name": "business_model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "subscription",
                "hardware_plus_subscription",
                "usage",
                "ads",
                "enterprise_contract",
                "free_no_model",
                "marketplace"
              ]
            }
          },
          {
            "name": "distribution",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "app_store",
                "direct",
                "enterprise_sales",
                "viral_social",
                "kickstarter",
                "bundled"
              ]
            }
          },
          {
            "name": "era",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "2026",
                "pre_transformer",
                "early_transformer",
                "gpt3",
                "chatgpt_boom",
                "agentic"
              ]
            }
          },
          {
            "name": "stage_at_death",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "pre_seed",
                "seed",
                "a",
                "b",
                "c_plus",
                "public",
                "internal"
              ]
            }
          },
          {
            "name": "year_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "year_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 500
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bounded, source-linked result",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "results": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "company": {
                            "anyOf": [
                              {
                                "type": "string",
                                "maxLength": 600
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "tier": {
                            "type": "string",
                            "enum": [
                              "titan",
                              "funded",
                              "indie"
                            ]
                          },
                          "fail_type": {
                            "type": "string",
                            "enum": [
                              "killed",
                              "vaporware",
                              "faked_demo",
                              "meltdown",
                              "collapse",
                              "pivot",
                              "watchlist"
                            ]
                          },
                          "outcome": {
                            "type": "string",
                            "enum": [
                              "shut_down",
                              "product_discontinued",
                              "acquihired_killed",
                              "absorbed_into_platform",
                              "pivoted_away",
                              "zombie",
                              "incident_resolved",
                              "ongoing"
                            ]
                          },
                          "category": {
                            "type": "string",
                            "enum": [
                              "ai_hardware",
                              "chatbots_assistants",
                              "ai_agents",
                              "coding_agents",
                              "autonomous_vehicles",
                              "robotics",
                              "enterprise_ai",
                              "ai_content_media",
                              "consumer_apps",
                              "public_sector",
                              "healthcare_ai",
                              "adjacent_hype"
                            ]
                          },
                          "primary_cause": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "solution_seeking_problem",
                                  "novelty_wore_off",
                                  "feature_not_product",
                                  "wrong_price_point",
                                  "model_capability_gap",
                                  "hallucination_liability",
                                  "agent_unreliability",
                                  "latency_broke_ux",
                                  "hardware_not_ready",
                                  "inference_cost_above_price",
                                  "hardware_bom_vs_price",
                                  "hidden_human_labour_cost",
                                  "subscription_fatigue",
                                  "harmful_outputs",
                                  "data_privacy",
                                  "impersonation_deepfake",
                                  "child_safety",
                                  "liability_ruling",
                                  "regulator_action",
                                  "ip_copyright",
                                  "consumer_protection",
                                  "too_early",
                                  "too_late",
                                  "market_moved",
                                  "leadership",
                                  "shipping_quality",
                                  "burn_rate",
                                  "go_to_market",
                                  "demo_reality_gap",
                                  "roadmap_theatre",
                                  "eval_theatre",
                                  "humans_behind_curtain",
                                  "staged_demo",
                                  "fabricated_metrics",
                                  "employee_revolt",
                                  "public_backlash",
                                  "bias_scandal",
                                  "labour_replacement_backlash",
                                  "platform_absorbed_feature",
                                  "api_price_or_access_change",
                                  "cloud_dependency_died",
                                  "distribution_lost"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "evidence_confidence": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 5
                          },
                          "relevance": {
                            "type": "number",
                            "minimum": 0
                          },
                          "rank_score": {
                            "type": "number",
                            "minimum": 0
                          },
                          "reasons": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "maxLength": 600
                            }
                          },
                          "obituary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "summary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "money_amount": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "money_currency": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "money_method": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "raised",
                                  "writedown",
                                  "settlement",
                                  "refund",
                                  "fine",
                                  "marketcap",
                                  "estimate"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "fail_score": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "lifespan_days": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "more": {
                            "type": "string"
                          },
                          "truncated": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "slug",
                          "name",
                          "company",
                          "tier",
                          "fail_type",
                          "outcome",
                          "category",
                          "primary_cause",
                          "evidence_confidence",
                          "relevance",
                          "rank_score",
                          "reasons",
                          "obituary",
                          "summary",
                          "money_amount",
                          "money_currency",
                          "money_method",
                          "fail_score",
                          "lifespan_days",
                          "sources",
                          "more",
                          "truncated"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "results"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "results": [
                    {
                      "slug": "humane-ai-pin",
                      "name": "Humane AI Pin",
                      "company": "Humane",
                      "tier": "funded",
                      "fail_type": "collapse",
                      "outcome": "acquihired_killed",
                      "category": "ai_hardware",
                      "primary_cause": "cloud_dependency_died",
                      "evidence_confidence": 4,
                      "relevance": 0.9,
                      "rank_score": 3.6,
                      "reasons": [
                        "Matched terms: screenless, wearable, pin",
                        "Primary cause: cloud_dependency_died"
                      ],
                      "obituary": {
                        "text": "A screenless wearable whose cloud service shut down.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "summary": {
                        "text": "A wearable AI assistant dependent on its cloud service.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "money_amount": null,
                      "money_currency": "USD",
                      "money_method": null,
                      "fail_score": 80,
                      "lifespan_days": 300,
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ],
                      "more": "/fails/humane-ai-pin",
                      "truncated": false
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Invalid parameters"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "WWW-Authenticate": {
                "schema": {
                  "type": "string"
                },
                "example": "Bearer"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Not found"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds before retrying",
                "example": 60
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Too many requests"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Service unavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/fails/{slug}": {
      "get": {
        "operationId": "get_fail",
        "summary": "Get an entry with timeline, similar fails and patterns",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100,
              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
            },
            "example": "humane-ai-pin"
          }
        ],
        "responses": {
          "200": {
            "description": "Bounded, source-linked result",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "slug": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "company": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 600
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "tier": {
                      "type": "string",
                      "enum": [
                        "titan",
                        "funded",
                        "indie"
                      ]
                    },
                    "fail_type": {
                      "type": "string",
                      "enum": [
                        "killed",
                        "vaporware",
                        "faked_demo",
                        "meltdown",
                        "collapse",
                        "pivot",
                        "watchlist"
                      ]
                    },
                    "outcome": {
                      "type": "string",
                      "enum": [
                        "shut_down",
                        "product_discontinued",
                        "acquihired_killed",
                        "absorbed_into_platform",
                        "pivoted_away",
                        "zombie",
                        "incident_resolved",
                        "ongoing"
                      ]
                    },
                    "category": {
                      "type": "string",
                      "enum": [
                        "ai_hardware",
                        "chatbots_assistants",
                        "ai_agents",
                        "coding_agents",
                        "autonomous_vehicles",
                        "robotics",
                        "enterprise_ai",
                        "ai_content_media",
                        "consumer_apps",
                        "public_sector",
                        "healthcare_ai",
                        "adjacent_hype"
                      ]
                    },
                    "primary_cause": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "solution_seeking_problem",
                            "novelty_wore_off",
                            "feature_not_product",
                            "wrong_price_point",
                            "model_capability_gap",
                            "hallucination_liability",
                            "agent_unreliability",
                            "latency_broke_ux",
                            "hardware_not_ready",
                            "inference_cost_above_price",
                            "hardware_bom_vs_price",
                            "hidden_human_labour_cost",
                            "subscription_fatigue",
                            "harmful_outputs",
                            "data_privacy",
                            "impersonation_deepfake",
                            "child_safety",
                            "liability_ruling",
                            "regulator_action",
                            "ip_copyright",
                            "consumer_protection",
                            "too_early",
                            "too_late",
                            "market_moved",
                            "leadership",
                            "shipping_quality",
                            "burn_rate",
                            "go_to_market",
                            "demo_reality_gap",
                            "roadmap_theatre",
                            "eval_theatre",
                            "humans_behind_curtain",
                            "staged_demo",
                            "fabricated_metrics",
                            "employee_revolt",
                            "public_backlash",
                            "bias_scandal",
                            "labour_replacement_backlash",
                            "platform_absorbed_feature",
                            "api_price_or_access_change",
                            "cloud_dependency_died",
                            "distribution_lost"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "evidence_confidence": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 5
                    },
                    "relevance": {
                      "type": "number",
                      "minimum": 0
                    },
                    "rank_score": {
                      "type": "number",
                      "minimum": 0
                    },
                    "reasons": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "maxLength": 600
                      }
                    },
                    "obituary": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "money_amount": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "money_currency": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "money_method": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "raised",
                            "writedown",
                            "settlement",
                            "refund",
                            "fine",
                            "marketcap",
                            "estimate"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "fail_score": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "lifespan_days": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "sources": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "title": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "evidence_level": {
                            "type": "string",
                            "enum": [
                              "E1",
                              "E2",
                              "E3",
                              "E4"
                            ]
                          },
                          "archive_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "url",
                          "title",
                          "evidence_level",
                          "archive_url"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "more": {
                      "type": "string"
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "idea_statement": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "job_to_be_done": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "dimensions": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": [
                          "string",
                          "number",
                          "null"
                        ]
                      }
                    },
                    "launched_at": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "died_at": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "published_at": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "updated_at": {
                      "type": "string"
                    },
                    "severity": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "lesson_relevance": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "capital_exposure_amount": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "capital_exposure_method": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "raised",
                            "writedown",
                            "settlement",
                            "refund",
                            "fine",
                            "marketcap",
                            "estimate"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "causes": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "leaf": {
                            "type": "string",
                            "enum": [
                              "solution_seeking_problem",
                              "novelty_wore_off",
                              "feature_not_product",
                              "wrong_price_point",
                              "model_capability_gap",
                              "hallucination_liability",
                              "agent_unreliability",
                              "latency_broke_ux",
                              "hardware_not_ready",
                              "inference_cost_above_price",
                              "hardware_bom_vs_price",
                              "hidden_human_labour_cost",
                              "subscription_fatigue",
                              "harmful_outputs",
                              "data_privacy",
                              "impersonation_deepfake",
                              "child_safety",
                              "liability_ruling",
                              "regulator_action",
                              "ip_copyright",
                              "consumer_protection",
                              "too_early",
                              "too_late",
                              "market_moved",
                              "leadership",
                              "shipping_quality",
                              "burn_rate",
                              "go_to_market",
                              "demo_reality_gap",
                              "roadmap_theatre",
                              "eval_theatre",
                              "humans_behind_curtain",
                              "staged_demo",
                              "fabricated_metrics",
                              "employee_revolt",
                              "public_backlash",
                              "bias_scandal",
                              "labour_replacement_backlash",
                              "platform_absorbed_feature",
                              "api_price_or_access_change",
                              "cloud_dependency_died",
                              "distribution_lost"
                            ]
                          },
                          "is_primary": {
                            "type": "boolean"
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "leaf",
                          "is_primary",
                          "sources"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "warning_signs": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "sign": {
                            "type": "string",
                            "enum": [
                              "demo_only_launch",
                              "waitlist_over_6_months",
                              "announce_to_ship_over_12_months",
                              "hardware_requires_subscription",
                              "features_marked_coming_soon_at_launch",
                              "no_public_pricing",
                              "humans_in_the_loop_undisclosed",
                              "benchmark_claims_not_reproduced",
                              "exec_departures_pre_death",
                              "restated_metrics",
                              "down_round",
                              "pivot_count_2_plus",
                              "refund_complaints_at_scale",
                              "ai_in_company_name",
                              "founder_hype_statements",
                              "regulatory_warning_received",
                              "single_platform_dependency",
                              "celebrity_or_influencer_launch",
                              "raised_over_100m_pre_revenue"
                            ]
                          },
                          "observed_on": {
                            "type": "string"
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "sign",
                          "observed_on",
                          "sources"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "aftermath": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "refunds_issued",
                          "devices_bricked",
                          "data_deleted",
                          "open_sourced",
                          "acquirer_shut_it",
                          "lawsuit_followed",
                          "regulator_followed"
                        ]
                      }
                    },
                    "pitch": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "what_happened": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "why_failed": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "lessons": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "timeline": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "occurred_on": {
                            "type": "string"
                          },
                          "narrative": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "occurred_on",
                          "narrative",
                          "sources"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "similar": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "company": {
                            "anyOf": [
                              {
                                "type": "string",
                                "maxLength": 600
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "tier": {
                            "type": "string",
                            "enum": [
                              "titan",
                              "funded",
                              "indie"
                            ]
                          },
                          "fail_type": {
                            "type": "string",
                            "enum": [
                              "killed",
                              "vaporware",
                              "faked_demo",
                              "meltdown",
                              "collapse",
                              "pivot",
                              "watchlist"
                            ]
                          },
                          "outcome": {
                            "type": "string",
                            "enum": [
                              "shut_down",
                              "product_discontinued",
                              "acquihired_killed",
                              "absorbed_into_platform",
                              "pivoted_away",
                              "zombie",
                              "incident_resolved",
                              "ongoing"
                            ]
                          },
                          "category": {
                            "type": "string",
                            "enum": [
                              "ai_hardware",
                              "chatbots_assistants",
                              "ai_agents",
                              "coding_agents",
                              "autonomous_vehicles",
                              "robotics",
                              "enterprise_ai",
                              "ai_content_media",
                              "consumer_apps",
                              "public_sector",
                              "healthcare_ai",
                              "adjacent_hype"
                            ]
                          },
                          "primary_cause": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "solution_seeking_problem",
                                  "novelty_wore_off",
                                  "feature_not_product",
                                  "wrong_price_point",
                                  "model_capability_gap",
                                  "hallucination_liability",
                                  "agent_unreliability",
                                  "latency_broke_ux",
                                  "hardware_not_ready",
                                  "inference_cost_above_price",
                                  "hardware_bom_vs_price",
                                  "hidden_human_labour_cost",
                                  "subscription_fatigue",
                                  "harmful_outputs",
                                  "data_privacy",
                                  "impersonation_deepfake",
                                  "child_safety",
                                  "liability_ruling",
                                  "regulator_action",
                                  "ip_copyright",
                                  "consumer_protection",
                                  "too_early",
                                  "too_late",
                                  "market_moved",
                                  "leadership",
                                  "shipping_quality",
                                  "burn_rate",
                                  "go_to_market",
                                  "demo_reality_gap",
                                  "roadmap_theatre",
                                  "eval_theatre",
                                  "humans_behind_curtain",
                                  "staged_demo",
                                  "fabricated_metrics",
                                  "employee_revolt",
                                  "public_backlash",
                                  "bias_scandal",
                                  "labour_replacement_backlash",
                                  "platform_absorbed_feature",
                                  "api_price_or_access_change",
                                  "cloud_dependency_died",
                                  "distribution_lost"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "evidence_confidence": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 5
                          },
                          "relevance": {
                            "type": "number",
                            "minimum": 0
                          },
                          "rank_score": {
                            "type": "number",
                            "minimum": 0
                          },
                          "reasons": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "maxLength": 600
                            }
                          },
                          "obituary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "summary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "money_amount": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "money_currency": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "money_method": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "raised",
                                  "writedown",
                                  "settlement",
                                  "refund",
                                  "fine",
                                  "marketcap",
                                  "estimate"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "fail_score": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "lifespan_days": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "more": {
                            "type": "string"
                          },
                          "truncated": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "slug",
                          "name",
                          "company",
                          "tier",
                          "fail_type",
                          "outcome",
                          "category",
                          "primary_cause",
                          "evidence_confidence",
                          "relevance",
                          "rank_score",
                          "reasons",
                          "obituary",
                          "summary",
                          "money_amount",
                          "money_currency",
                          "money_method",
                          "fail_score",
                          "lifespan_days",
                          "sources",
                          "more",
                          "truncated"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "patterns": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "idea_cluster",
                              "playbook",
                              "cause_hub"
                            ]
                          },
                          "summary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "thesis": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "revival_test": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "lessons": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "member_count": {
                            "type": "integer",
                            "minimum": -9007199254740991,
                            "maximum": 9007199254740991
                          },
                          "members": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "slug": {
                                  "type": "string"
                                },
                                "name": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "company": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "tier": {
                                  "type": "string",
                                  "enum": [
                                    "titan",
                                    "funded",
                                    "indie"
                                  ]
                                },
                                "fail_type": {
                                  "type": "string",
                                  "enum": [
                                    "killed",
                                    "vaporware",
                                    "faked_demo",
                                    "meltdown",
                                    "collapse",
                                    "pivot",
                                    "watchlist"
                                  ]
                                },
                                "outcome": {
                                  "type": "string",
                                  "enum": [
                                    "shut_down",
                                    "product_discontinued",
                                    "acquihired_killed",
                                    "absorbed_into_platform",
                                    "pivoted_away",
                                    "zombie",
                                    "incident_resolved",
                                    "ongoing"
                                  ]
                                },
                                "category": {
                                  "type": "string",
                                  "enum": [
                                    "ai_hardware",
                                    "chatbots_assistants",
                                    "ai_agents",
                                    "coding_agents",
                                    "autonomous_vehicles",
                                    "robotics",
                                    "enterprise_ai",
                                    "ai_content_media",
                                    "consumer_apps",
                                    "public_sector",
                                    "healthcare_ai",
                                    "adjacent_hype"
                                  ]
                                },
                                "primary_cause": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "solution_seeking_problem",
                                        "novelty_wore_off",
                                        "feature_not_product",
                                        "wrong_price_point",
                                        "model_capability_gap",
                                        "hallucination_liability",
                                        "agent_unreliability",
                                        "latency_broke_ux",
                                        "hardware_not_ready",
                                        "inference_cost_above_price",
                                        "hardware_bom_vs_price",
                                        "hidden_human_labour_cost",
                                        "subscription_fatigue",
                                        "harmful_outputs",
                                        "data_privacy",
                                        "impersonation_deepfake",
                                        "child_safety",
                                        "liability_ruling",
                                        "regulator_action",
                                        "ip_copyright",
                                        "consumer_protection",
                                        "too_early",
                                        "too_late",
                                        "market_moved",
                                        "leadership",
                                        "shipping_quality",
                                        "burn_rate",
                                        "go_to_market",
                                        "demo_reality_gap",
                                        "roadmap_theatre",
                                        "eval_theatre",
                                        "humans_behind_curtain",
                                        "staged_demo",
                                        "fabricated_metrics",
                                        "employee_revolt",
                                        "public_backlash",
                                        "bias_scandal",
                                        "labour_replacement_backlash",
                                        "platform_absorbed_feature",
                                        "api_price_or_access_change",
                                        "cloud_dependency_died",
                                        "distribution_lost"
                                      ]
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "evidence_confidence": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 5
                                },
                                "relevance": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "rank_score": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "reasons": {
                                  "maxItems": 20,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "maxLength": 600
                                  }
                                },
                                "obituary": {
                                  "type": "object",
                                  "properties": {
                                    "text": {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    "truncated": {
                                      "type": "boolean"
                                    },
                                    "more": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "text",
                                    "truncated",
                                    "more"
                                  ],
                                  "additionalProperties": false
                                },
                                "summary": {
                                  "type": "object",
                                  "properties": {
                                    "text": {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    "truncated": {
                                      "type": "boolean"
                                    },
                                    "more": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "text",
                                    "truncated",
                                    "more"
                                  ],
                                  "additionalProperties": false
                                },
                                "money_amount": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "money_currency": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "money_method": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "raised",
                                        "writedown",
                                        "settlement",
                                        "refund",
                                        "fine",
                                        "marketcap",
                                        "estimate"
                                      ]
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "fail_score": {
                                  "type": [
                                    "number",
                                    "null"
                                  ]
                                },
                                "lifespan_days": {
                                  "type": [
                                    "number",
                                    "null"
                                  ]
                                },
                                "sources": {
                                  "maxItems": 20,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "url": {
                                        "type": "string",
                                        "format": "uri"
                                      },
                                      "title": {
                                        "type": "string",
                                        "maxLength": 600
                                      },
                                      "evidence_level": {
                                        "type": "string",
                                        "enum": [
                                          "E1",
                                          "E2",
                                          "E3",
                                          "E4"
                                        ]
                                      },
                                      "archive_url": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "url",
                                      "title",
                                      "evidence_level",
                                      "archive_url"
                                    ],
                                    "additionalProperties": false
                                  }
                                },
                                "more": {
                                  "type": "string"
                                },
                                "truncated": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "slug",
                                "name",
                                "company",
                                "tier",
                                "fail_type",
                                "outcome",
                                "category",
                                "primary_cause",
                                "evidence_confidence",
                                "relevance",
                                "rank_score",
                                "reasons",
                                "obituary",
                                "summary",
                                "money_amount",
                                "money_currency",
                                "money_method",
                                "fail_score",
                                "lifespan_days",
                                "sources",
                                "more",
                                "truncated"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "survivors": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "note": {
                                  "type": "object",
                                  "properties": {
                                    "text": {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    "truncated": {
                                      "type": "boolean"
                                    },
                                    "more": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "text",
                                    "truncated",
                                    "more"
                                  ],
                                  "additionalProperties": false
                                },
                                "sources": {
                                  "maxItems": 20,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "url": {
                                        "type": "string",
                                        "format": "uri"
                                      },
                                      "title": {
                                        "type": "string",
                                        "maxLength": 600
                                      },
                                      "evidence_level": {
                                        "type": "string",
                                        "enum": [
                                          "E1",
                                          "E2",
                                          "E3",
                                          "E4"
                                        ]
                                      },
                                      "archive_url": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "url",
                                      "title",
                                      "evidence_level",
                                      "archive_url"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "name",
                                "url",
                                "note",
                                "sources"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "more": {
                            "type": "string"
                          },
                          "truncated": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "slug",
                          "title",
                          "kind",
                          "summary",
                          "thesis",
                          "revival_test",
                          "lessons",
                          "member_count",
                          "members",
                          "sources",
                          "survivors",
                          "more",
                          "truncated"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "slug",
                    "name",
                    "company",
                    "tier",
                    "fail_type",
                    "outcome",
                    "category",
                    "primary_cause",
                    "evidence_confidence",
                    "relevance",
                    "rank_score",
                    "reasons",
                    "obituary",
                    "summary",
                    "money_amount",
                    "money_currency",
                    "money_method",
                    "fail_score",
                    "lifespan_days",
                    "sources",
                    "more",
                    "truncated",
                    "idea_statement",
                    "job_to_be_done",
                    "dimensions",
                    "launched_at",
                    "died_at",
                    "published_at",
                    "updated_at",
                    "severity",
                    "lesson_relevance",
                    "capital_exposure_amount",
                    "capital_exposure_method",
                    "causes",
                    "warning_signs",
                    "aftermath",
                    "pitch",
                    "what_happened",
                    "why_failed",
                    "lessons",
                    "timeline",
                    "similar",
                    "patterns"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "slug": "humane-ai-pin",
                  "name": "Humane AI Pin",
                  "company": "Humane",
                  "tier": "funded",
                  "fail_type": "collapse",
                  "outcome": "acquihired_killed",
                  "category": "ai_hardware",
                  "primary_cause": "cloud_dependency_died",
                  "evidence_confidence": 4,
                  "relevance": 0.9,
                  "rank_score": 3.6,
                  "reasons": [
                    "Matched terms: screenless, wearable, pin",
                    "Primary cause: cloud_dependency_died"
                  ],
                  "obituary": {
                    "text": "A screenless wearable whose cloud service shut down.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "summary": {
                    "text": "A wearable AI assistant dependent on its cloud service.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "money_amount": null,
                  "money_currency": "USD",
                  "money_method": null,
                  "fail_score": 80,
                  "lifespan_days": 300,
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ],
                  "more": "/fails/humane-ai-pin",
                  "truncated": false,
                  "idea_statement": {
                    "text": "A screenless wearable assistant.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "job_to_be_done": {
                    "text": "Answer questions hands-free.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "dimensions": {
                    "form_factor": "hardware"
                  },
                  "launched_at": null,
                  "died_at": null,
                  "published_at": null,
                  "updated_at": "2026-09-06T00:00:00.000Z",
                  "severity": null,
                  "lesson_relevance": null,
                  "capital_exposure_amount": null,
                  "capital_exposure_method": null,
                  "causes": [],
                  "warning_signs": [],
                  "aftermath": [],
                  "pitch": {
                    "text": "An assistant on your clothing.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "what_happened": {
                    "text": "The service shut down.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "why_failed": {
                    "text": "The device required a cloud service.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "lessons": {
                    "text": "Plan for service shutdown.",
                    "truncated": false,
                    "more": "/fails/humane-ai-pin"
                  },
                  "timeline": [
                    {
                      "occurred_on": "2025-02-28T00:00:00.000Z",
                      "narrative": {
                        "text": "Service shutdown.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ]
                    }
                  ],
                  "similar": [],
                  "patterns": [
                    {
                      "slug": "hardware-that-needed-a-cloud",
                      "title": "Hardware that needed a cloud",
                      "kind": "playbook",
                      "summary": {
                        "text": "Devices dependent on a remote service.",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "thesis": {
                        "text": "The device needs an operating cloud service.",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "revival_test": {
                        "text": "Can the hardware work when the service closes?",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "lessons": {
                        "text": "Plan for an offline mode.",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "member_count": 5,
                      "members": [
                        {
                          "slug": "humane-ai-pin",
                          "name": "Humane AI Pin",
                          "company": "Humane",
                          "tier": "funded",
                          "fail_type": "collapse",
                          "outcome": "acquihired_killed",
                          "category": "ai_hardware",
                          "primary_cause": "cloud_dependency_died",
                          "evidence_confidence": 4,
                          "relevance": 0.9,
                          "rank_score": 3.6,
                          "reasons": [
                            "Matched terms: screenless, wearable, pin",
                            "Primary cause: cloud_dependency_died"
                          ],
                          "obituary": {
                            "text": "A screenless wearable whose cloud service shut down.",
                            "truncated": false,
                            "more": "/fails/humane-ai-pin"
                          },
                          "summary": {
                            "text": "A wearable AI assistant dependent on its cloud service.",
                            "truncated": false,
                            "more": "/fails/humane-ai-pin"
                          },
                          "money_amount": null,
                          "money_currency": "USD",
                          "money_method": null,
                          "fail_score": 80,
                          "lifespan_days": 300,
                          "sources": [
                            {
                              "url": "https://example.com/humane-shutdown-report",
                              "title": "Humane AI Pin shutdown",
                              "evidence_level": "E2",
                              "archive_url": null
                            }
                          ],
                          "more": "/fails/humane-ai-pin",
                          "truncated": false
                        }
                      ],
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ],
                      "survivors": [],
                      "more": "/patterns/hardware-that-needed-a-cloud",
                      "truncated": false
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Invalid parameters"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "WWW-Authenticate": {
                "schema": {
                  "type": "string"
                },
                "example": "Bearer"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Not found"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds before retrying",
                "example": 60
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Too many requests"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Service unavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/patterns": {
      "get": {
        "operationId": "list_patterns",
        "summary": "List patterns with at least five public members",
        "parameters": [
          {
            "name": "tier",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "titan",
                "funded",
                "indie"
              ]
            }
          },
          {
            "name": "fail_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "killed",
                "vaporware",
                "faked_demo",
                "meltdown",
                "collapse",
                "pivot",
                "watchlist"
              ]
            }
          },
          {
            "name": "outcome",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "shut_down",
                "product_discontinued",
                "acquihired_killed",
                "absorbed_into_platform",
                "pivoted_away",
                "zombie",
                "incident_resolved",
                "ongoing"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ai_hardware",
                "chatbots_assistants",
                "ai_agents",
                "coding_agents",
                "autonomous_vehicles",
                "robotics",
                "enterprise_ai",
                "ai_content_media",
                "consumer_apps",
                "public_sector",
                "healthcare_ai",
                "adjacent_hype"
              ]
            }
          },
          {
            "name": "cause",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "solution_seeking_problem",
                "novelty_wore_off",
                "feature_not_product",
                "wrong_price_point",
                "model_capability_gap",
                "hallucination_liability",
                "agent_unreliability",
                "latency_broke_ux",
                "hardware_not_ready",
                "inference_cost_above_price",
                "hardware_bom_vs_price",
                "hidden_human_labour_cost",
                "subscription_fatigue",
                "harmful_outputs",
                "data_privacy",
                "impersonation_deepfake",
                "child_safety",
                "liability_ruling",
                "regulator_action",
                "ip_copyright",
                "consumer_protection",
                "too_early",
                "too_late",
                "market_moved",
                "leadership",
                "shipping_quality",
                "burn_rate",
                "go_to_market",
                "demo_reality_gap",
                "roadmap_theatre",
                "eval_theatre",
                "humans_behind_curtain",
                "staged_demo",
                "fabricated_metrics",
                "employee_revolt",
                "public_backlash",
                "bias_scandal",
                "labour_replacement_backlash",
                "platform_absorbed_feature",
                "api_price_or_access_change",
                "cloud_dependency_died",
                "distribution_lost"
              ]
            }
          },
          {
            "name": "section",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "archive",
                "incidents",
                "watchlist"
              ]
            }
          },
          {
            "name": "incumbency",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "startup",
                "incumbent_feature",
                "incumbent_product",
                "lab_research"
              ]
            }
          },
          {
            "name": "user_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "consumer",
                "prosumer",
                "smb",
                "enterprise",
                "government",
                "developer"
              ]
            }
          },
          {
            "name": "form_factor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "hardware",
                "mobile_app",
                "web_app",
                "api",
                "feature_in_existing_product",
                "service",
                "model",
                "browser_extension",
                "bot_on_platform"
              ]
            }
          },
          {
            "name": "ai_role",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "core",
                "wrapper",
                "feature",
                "infra",
                "washing"
              ]
            }
          },
          {
            "name": "autonomy_level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "assistant",
                "copilot",
                "agent",
                "autonomous",
                "physical_autonomous"
              ]
            }
          },
          {
            "name": "modality",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "text",
                "voice",
                "vision",
                "multimodal",
                "physical"
              ]
            }
          },
          {
            "name": "dependency",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "own_model",
                "third_party_model",
                "platform_api",
                "cloud_required_hardware"
              ]
            }
          },
          {
            "name": "business_model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "subscription",
                "hardware_plus_subscription",
                "usage",
                "ads",
                "enterprise_contract",
                "free_no_model",
                "marketplace"
              ]
            }
          },
          {
            "name": "distribution",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "app_store",
                "direct",
                "enterprise_sales",
                "viral_social",
                "kickstarter",
                "bundled"
              ]
            }
          },
          {
            "name": "era",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "2026",
                "pre_transformer",
                "early_transformer",
                "gpt3",
                "chatgpt_boom",
                "agentic"
              ]
            }
          },
          {
            "name": "stage_at_death",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "pre_seed",
                "seed",
                "a",
                "b",
                "c_plus",
                "public",
                "internal"
              ]
            }
          },
          {
            "name": "year_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "year_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "idea_cluster",
                "playbook",
                "cause_hub"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bounded, source-linked result",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "results": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "idea_cluster",
                              "playbook",
                              "cause_hub"
                            ]
                          },
                          "summary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "thesis": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "revival_test": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "lessons": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "member_count": {
                            "type": "integer",
                            "minimum": -9007199254740991,
                            "maximum": 9007199254740991
                          },
                          "members": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "slug": {
                                  "type": "string"
                                },
                                "name": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "company": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "tier": {
                                  "type": "string",
                                  "enum": [
                                    "titan",
                                    "funded",
                                    "indie"
                                  ]
                                },
                                "fail_type": {
                                  "type": "string",
                                  "enum": [
                                    "killed",
                                    "vaporware",
                                    "faked_demo",
                                    "meltdown",
                                    "collapse",
                                    "pivot",
                                    "watchlist"
                                  ]
                                },
                                "outcome": {
                                  "type": "string",
                                  "enum": [
                                    "shut_down",
                                    "product_discontinued",
                                    "acquihired_killed",
                                    "absorbed_into_platform",
                                    "pivoted_away",
                                    "zombie",
                                    "incident_resolved",
                                    "ongoing"
                                  ]
                                },
                                "category": {
                                  "type": "string",
                                  "enum": [
                                    "ai_hardware",
                                    "chatbots_assistants",
                                    "ai_agents",
                                    "coding_agents",
                                    "autonomous_vehicles",
                                    "robotics",
                                    "enterprise_ai",
                                    "ai_content_media",
                                    "consumer_apps",
                                    "public_sector",
                                    "healthcare_ai",
                                    "adjacent_hype"
                                  ]
                                },
                                "primary_cause": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "solution_seeking_problem",
                                        "novelty_wore_off",
                                        "feature_not_product",
                                        "wrong_price_point",
                                        "model_capability_gap",
                                        "hallucination_liability",
                                        "agent_unreliability",
                                        "latency_broke_ux",
                                        "hardware_not_ready",
                                        "inference_cost_above_price",
                                        "hardware_bom_vs_price",
                                        "hidden_human_labour_cost",
                                        "subscription_fatigue",
                                        "harmful_outputs",
                                        "data_privacy",
                                        "impersonation_deepfake",
                                        "child_safety",
                                        "liability_ruling",
                                        "regulator_action",
                                        "ip_copyright",
                                        "consumer_protection",
                                        "too_early",
                                        "too_late",
                                        "market_moved",
                                        "leadership",
                                        "shipping_quality",
                                        "burn_rate",
                                        "go_to_market",
                                        "demo_reality_gap",
                                        "roadmap_theatre",
                                        "eval_theatre",
                                        "humans_behind_curtain",
                                        "staged_demo",
                                        "fabricated_metrics",
                                        "employee_revolt",
                                        "public_backlash",
                                        "bias_scandal",
                                        "labour_replacement_backlash",
                                        "platform_absorbed_feature",
                                        "api_price_or_access_change",
                                        "cloud_dependency_died",
                                        "distribution_lost"
                                      ]
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "evidence_confidence": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 5
                                },
                                "relevance": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "rank_score": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "reasons": {
                                  "maxItems": 20,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "maxLength": 600
                                  }
                                },
                                "obituary": {
                                  "type": "object",
                                  "properties": {
                                    "text": {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    "truncated": {
                                      "type": "boolean"
                                    },
                                    "more": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "text",
                                    "truncated",
                                    "more"
                                  ],
                                  "additionalProperties": false
                                },
                                "summary": {
                                  "type": "object",
                                  "properties": {
                                    "text": {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    "truncated": {
                                      "type": "boolean"
                                    },
                                    "more": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "text",
                                    "truncated",
                                    "more"
                                  ],
                                  "additionalProperties": false
                                },
                                "money_amount": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "money_currency": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "money_method": {
                                  "anyOf": [
                                    {
                                      "type": "string",
                                      "enum": [
                                        "raised",
                                        "writedown",
                                        "settlement",
                                        "refund",
                                        "fine",
                                        "marketcap",
                                        "estimate"
                                      ]
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "fail_score": {
                                  "type": [
                                    "number",
                                    "null"
                                  ]
                                },
                                "lifespan_days": {
                                  "type": [
                                    "number",
                                    "null"
                                  ]
                                },
                                "sources": {
                                  "maxItems": 20,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "url": {
                                        "type": "string",
                                        "format": "uri"
                                      },
                                      "title": {
                                        "type": "string",
                                        "maxLength": 600
                                      },
                                      "evidence_level": {
                                        "type": "string",
                                        "enum": [
                                          "E1",
                                          "E2",
                                          "E3",
                                          "E4"
                                        ]
                                      },
                                      "archive_url": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "url",
                                      "title",
                                      "evidence_level",
                                      "archive_url"
                                    ],
                                    "additionalProperties": false
                                  }
                                },
                                "more": {
                                  "type": "string"
                                },
                                "truncated": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "slug",
                                "name",
                                "company",
                                "tier",
                                "fail_type",
                                "outcome",
                                "category",
                                "primary_cause",
                                "evidence_confidence",
                                "relevance",
                                "rank_score",
                                "reasons",
                                "obituary",
                                "summary",
                                "money_amount",
                                "money_currency",
                                "money_method",
                                "fail_score",
                                "lifespan_days",
                                "sources",
                                "more",
                                "truncated"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "survivors": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "note": {
                                  "type": "object",
                                  "properties": {
                                    "text": {
                                      "type": "string",
                                      "maxLength": 600
                                    },
                                    "truncated": {
                                      "type": "boolean"
                                    },
                                    "more": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "text",
                                    "truncated",
                                    "more"
                                  ],
                                  "additionalProperties": false
                                },
                                "sources": {
                                  "maxItems": 20,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "url": {
                                        "type": "string",
                                        "format": "uri"
                                      },
                                      "title": {
                                        "type": "string",
                                        "maxLength": 600
                                      },
                                      "evidence_level": {
                                        "type": "string",
                                        "enum": [
                                          "E1",
                                          "E2",
                                          "E3",
                                          "E4"
                                        ]
                                      },
                                      "archive_url": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "url",
                                      "title",
                                      "evidence_level",
                                      "archive_url"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "name",
                                "url",
                                "note",
                                "sources"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "more": {
                            "type": "string"
                          },
                          "truncated": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "slug",
                          "title",
                          "kind",
                          "summary",
                          "thesis",
                          "revival_test",
                          "lessons",
                          "member_count",
                          "members",
                          "sources",
                          "survivors",
                          "more",
                          "truncated"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "results"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "results": [
                    {
                      "slug": "hardware-that-needed-a-cloud",
                      "title": "Hardware that needed a cloud",
                      "kind": "playbook",
                      "summary": {
                        "text": "Devices dependent on a remote service.",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "thesis": {
                        "text": "The device needs an operating cloud service.",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "revival_test": {
                        "text": "Can the hardware work when the service closes?",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "lessons": {
                        "text": "Plan for an offline mode.",
                        "truncated": false,
                        "more": "/patterns/hardware-that-needed-a-cloud"
                      },
                      "member_count": 5,
                      "members": [
                        {
                          "slug": "humane-ai-pin",
                          "name": "Humane AI Pin",
                          "company": "Humane",
                          "tier": "funded",
                          "fail_type": "collapse",
                          "outcome": "acquihired_killed",
                          "category": "ai_hardware",
                          "primary_cause": "cloud_dependency_died",
                          "evidence_confidence": 4,
                          "relevance": 0.9,
                          "rank_score": 3.6,
                          "reasons": [
                            "Matched terms: screenless, wearable, pin",
                            "Primary cause: cloud_dependency_died"
                          ],
                          "obituary": {
                            "text": "A screenless wearable whose cloud service shut down.",
                            "truncated": false,
                            "more": "/fails/humane-ai-pin"
                          },
                          "summary": {
                            "text": "A wearable AI assistant dependent on its cloud service.",
                            "truncated": false,
                            "more": "/fails/humane-ai-pin"
                          },
                          "money_amount": null,
                          "money_currency": "USD",
                          "money_method": null,
                          "fail_score": 80,
                          "lifespan_days": 300,
                          "sources": [
                            {
                              "url": "https://example.com/humane-shutdown-report",
                              "title": "Humane AI Pin shutdown",
                              "evidence_level": "E2",
                              "archive_url": null
                            }
                          ],
                          "more": "/fails/humane-ai-pin",
                          "truncated": false
                        }
                      ],
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ],
                      "survivors": [],
                      "more": "/patterns/hardware-that-needed-a-cloud",
                      "truncated": false
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Invalid parameters"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "WWW-Authenticate": {
                "schema": {
                  "type": "string"
                },
                "example": "Bearer"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Not found"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds before retrying",
                "example": 60
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Too many requests"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Service unavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/patterns/{slug}": {
      "get": {
        "operationId": "get_pattern",
        "summary": "Get a pattern, member fails and revival test",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100,
              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
            },
            "example": "hardware-that-needed-a-cloud"
          }
        ],
        "responses": {
          "200": {
            "description": "Bounded, source-linked result",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "slug": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string",
                      "maxLength": 600
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "idea_cluster",
                        "playbook",
                        "cause_hub"
                      ]
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "thesis": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "revival_test": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "lessons": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "maxLength": 600
                        },
                        "truncated": {
                          "type": "boolean"
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "truncated",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "member_count": {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    },
                    "members": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "company": {
                            "anyOf": [
                              {
                                "type": "string",
                                "maxLength": 600
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "tier": {
                            "type": "string",
                            "enum": [
                              "titan",
                              "funded",
                              "indie"
                            ]
                          },
                          "fail_type": {
                            "type": "string",
                            "enum": [
                              "killed",
                              "vaporware",
                              "faked_demo",
                              "meltdown",
                              "collapse",
                              "pivot",
                              "watchlist"
                            ]
                          },
                          "outcome": {
                            "type": "string",
                            "enum": [
                              "shut_down",
                              "product_discontinued",
                              "acquihired_killed",
                              "absorbed_into_platform",
                              "pivoted_away",
                              "zombie",
                              "incident_resolved",
                              "ongoing"
                            ]
                          },
                          "category": {
                            "type": "string",
                            "enum": [
                              "ai_hardware",
                              "chatbots_assistants",
                              "ai_agents",
                              "coding_agents",
                              "autonomous_vehicles",
                              "robotics",
                              "enterprise_ai",
                              "ai_content_media",
                              "consumer_apps",
                              "public_sector",
                              "healthcare_ai",
                              "adjacent_hype"
                            ]
                          },
                          "primary_cause": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "solution_seeking_problem",
                                  "novelty_wore_off",
                                  "feature_not_product",
                                  "wrong_price_point",
                                  "model_capability_gap",
                                  "hallucination_liability",
                                  "agent_unreliability",
                                  "latency_broke_ux",
                                  "hardware_not_ready",
                                  "inference_cost_above_price",
                                  "hardware_bom_vs_price",
                                  "hidden_human_labour_cost",
                                  "subscription_fatigue",
                                  "harmful_outputs",
                                  "data_privacy",
                                  "impersonation_deepfake",
                                  "child_safety",
                                  "liability_ruling",
                                  "regulator_action",
                                  "ip_copyright",
                                  "consumer_protection",
                                  "too_early",
                                  "too_late",
                                  "market_moved",
                                  "leadership",
                                  "shipping_quality",
                                  "burn_rate",
                                  "go_to_market",
                                  "demo_reality_gap",
                                  "roadmap_theatre",
                                  "eval_theatre",
                                  "humans_behind_curtain",
                                  "staged_demo",
                                  "fabricated_metrics",
                                  "employee_revolt",
                                  "public_backlash",
                                  "bias_scandal",
                                  "labour_replacement_backlash",
                                  "platform_absorbed_feature",
                                  "api_price_or_access_change",
                                  "cloud_dependency_died",
                                  "distribution_lost"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "evidence_confidence": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 5
                          },
                          "relevance": {
                            "type": "number",
                            "minimum": 0
                          },
                          "rank_score": {
                            "type": "number",
                            "minimum": 0
                          },
                          "reasons": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "maxLength": 600
                            }
                          },
                          "obituary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "summary": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "money_amount": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "money_currency": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "money_method": {
                            "anyOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "raised",
                                  "writedown",
                                  "settlement",
                                  "refund",
                                  "fine",
                                  "marketcap",
                                  "estimate"
                                ]
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "fail_score": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "lifespan_days": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "more": {
                            "type": "string"
                          },
                          "truncated": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "slug",
                          "name",
                          "company",
                          "tier",
                          "fail_type",
                          "outcome",
                          "category",
                          "primary_cause",
                          "evidence_confidence",
                          "relevance",
                          "rank_score",
                          "reasons",
                          "obituary",
                          "summary",
                          "money_amount",
                          "money_currency",
                          "money_method",
                          "fail_score",
                          "lifespan_days",
                          "sources",
                          "more",
                          "truncated"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "sources": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "title": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "evidence_level": {
                            "type": "string",
                            "enum": [
                              "E1",
                              "E2",
                              "E3",
                              "E4"
                            ]
                          },
                          "archive_url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "required": [
                          "url",
                          "title",
                          "evidence_level",
                          "archive_url"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "survivors": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "maxLength": 600
                          },
                          "url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "note": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "truncated": {
                                "type": "boolean"
                              },
                              "more": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "text",
                              "truncated",
                              "more"
                            ],
                            "additionalProperties": false
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "name",
                          "url",
                          "note",
                          "sources"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "more": {
                      "type": "string"
                    },
                    "truncated": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "slug",
                    "title",
                    "kind",
                    "summary",
                    "thesis",
                    "revival_test",
                    "lessons",
                    "member_count",
                    "members",
                    "sources",
                    "survivors",
                    "more",
                    "truncated"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "slug": "hardware-that-needed-a-cloud",
                  "title": "Hardware that needed a cloud",
                  "kind": "playbook",
                  "summary": {
                    "text": "Devices dependent on a remote service.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "thesis": {
                    "text": "The device needs an operating cloud service.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "revival_test": {
                    "text": "Can the hardware work when the service closes?",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "lessons": {
                    "text": "Plan for an offline mode.",
                    "truncated": false,
                    "more": "/patterns/hardware-that-needed-a-cloud"
                  },
                  "member_count": 5,
                  "members": [
                    {
                      "slug": "humane-ai-pin",
                      "name": "Humane AI Pin",
                      "company": "Humane",
                      "tier": "funded",
                      "fail_type": "collapse",
                      "outcome": "acquihired_killed",
                      "category": "ai_hardware",
                      "primary_cause": "cloud_dependency_died",
                      "evidence_confidence": 4,
                      "relevance": 0.9,
                      "rank_score": 3.6,
                      "reasons": [
                        "Matched terms: screenless, wearable, pin",
                        "Primary cause: cloud_dependency_died"
                      ],
                      "obituary": {
                        "text": "A screenless wearable whose cloud service shut down.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "summary": {
                        "text": "A wearable AI assistant dependent on its cloud service.",
                        "truncated": false,
                        "more": "/fails/humane-ai-pin"
                      },
                      "money_amount": null,
                      "money_currency": "USD",
                      "money_method": null,
                      "fail_score": 80,
                      "lifespan_days": 300,
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ],
                      "more": "/fails/humane-ai-pin",
                      "truncated": false
                    }
                  ],
                  "sources": [
                    {
                      "url": "https://example.com/humane-shutdown-report",
                      "title": "Humane AI Pin shutdown",
                      "evidence_level": "E2",
                      "archive_url": null
                    }
                  ],
                  "survivors": [],
                  "more": "/patterns/hardware-that-needed-a-cloud",
                  "truncated": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Invalid parameters"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "WWW-Authenticate": {
                "schema": {
                  "type": "string"
                },
                "example": "Bearer"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Not found"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds before retrying",
                "example": 60
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Too many requests"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Service unavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/stats": {
      "get": {
        "operationId": "stats",
        "summary": "Get masked descriptive statistics and the global counter",
        "parameters": [
          {
            "name": "tier",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "titan",
                "funded",
                "indie"
              ]
            }
          },
          {
            "name": "fail_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "killed",
                "vaporware",
                "faked_demo",
                "meltdown",
                "collapse",
                "pivot",
                "watchlist"
              ]
            }
          },
          {
            "name": "outcome",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "shut_down",
                "product_discontinued",
                "acquihired_killed",
                "absorbed_into_platform",
                "pivoted_away",
                "zombie",
                "incident_resolved",
                "ongoing"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ai_hardware",
                "chatbots_assistants",
                "ai_agents",
                "coding_agents",
                "autonomous_vehicles",
                "robotics",
                "enterprise_ai",
                "ai_content_media",
                "consumer_apps",
                "public_sector",
                "healthcare_ai",
                "adjacent_hype"
              ]
            }
          },
          {
            "name": "cause",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "solution_seeking_problem",
                "novelty_wore_off",
                "feature_not_product",
                "wrong_price_point",
                "model_capability_gap",
                "hallucination_liability",
                "agent_unreliability",
                "latency_broke_ux",
                "hardware_not_ready",
                "inference_cost_above_price",
                "hardware_bom_vs_price",
                "hidden_human_labour_cost",
                "subscription_fatigue",
                "harmful_outputs",
                "data_privacy",
                "impersonation_deepfake",
                "child_safety",
                "liability_ruling",
                "regulator_action",
                "ip_copyright",
                "consumer_protection",
                "too_early",
                "too_late",
                "market_moved",
                "leadership",
                "shipping_quality",
                "burn_rate",
                "go_to_market",
                "demo_reality_gap",
                "roadmap_theatre",
                "eval_theatre",
                "humans_behind_curtain",
                "staged_demo",
                "fabricated_metrics",
                "employee_revolt",
                "public_backlash",
                "bias_scandal",
                "labour_replacement_backlash",
                "platform_absorbed_feature",
                "api_price_or_access_change",
                "cloud_dependency_died",
                "distribution_lost"
              ]
            }
          },
          {
            "name": "section",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "archive",
                "incidents",
                "watchlist"
              ]
            }
          },
          {
            "name": "incumbency",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "startup",
                "incumbent_feature",
                "incumbent_product",
                "lab_research"
              ]
            }
          },
          {
            "name": "user_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "consumer",
                "prosumer",
                "smb",
                "enterprise",
                "government",
                "developer"
              ]
            }
          },
          {
            "name": "form_factor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "hardware",
                "mobile_app",
                "web_app",
                "api",
                "feature_in_existing_product",
                "service",
                "model",
                "browser_extension",
                "bot_on_platform"
              ]
            }
          },
          {
            "name": "ai_role",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "core",
                "wrapper",
                "feature",
                "infra",
                "washing"
              ]
            }
          },
          {
            "name": "autonomy_level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "assistant",
                "copilot",
                "agent",
                "autonomous",
                "physical_autonomous"
              ]
            }
          },
          {
            "name": "modality",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "text",
                "voice",
                "vision",
                "multimodal",
                "physical"
              ]
            }
          },
          {
            "name": "dependency",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "own_model",
                "third_party_model",
                "platform_api",
                "cloud_required_hardware"
              ]
            }
          },
          {
            "name": "business_model",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "subscription",
                "hardware_plus_subscription",
                "usage",
                "ads",
                "enterprise_contract",
                "free_no_model",
                "marketplace"
              ]
            }
          },
          {
            "name": "distribution",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "app_store",
                "direct",
                "enterprise_sales",
                "viral_social",
                "kickstarter",
                "bundled"
              ]
            }
          },
          {
            "name": "era",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "2026",
                "pre_transformer",
                "early_transformer",
                "gpt3",
                "chatgpt_boom",
                "agentic"
              ]
            }
          },
          {
            "name": "stage_at_death",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "pre_seed",
                "seed",
                "a",
                "b",
                "c_plus",
                "public",
                "internal"
              ]
            }
          },
          {
            "name": "year_from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "year_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "group_by",
            "in": "query",
            "required": false,
            "schema": {
              "maxItems": 2,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "tier",
                  "fail_type",
                  "outcome",
                  "category",
                  "section",
                  "cause",
                  "incumbency",
                  "user_type",
                  "form_factor",
                  "ai_role",
                  "autonomy_level",
                  "modality",
                  "dependency",
                  "business_model",
                  "distribution",
                  "era",
                  "timing_verdict",
                  "stage_at_death",
                  "geo",
                  "sentiment_launch",
                  "sentiment_death",
                  "sentiment_delta"
                ]
              }
            },
            "style": "form",
            "explode": false,
            "example": [
              "category",
              "era"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Bounded, source-linked result",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "cells": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "dimensions": {
                            "type": "object",
                            "propertyNames": {
                              "type": "string"
                            },
                            "additionalProperties": {
                              "type": [
                                "string",
                                "number",
                                "null"
                              ]
                            }
                          },
                          "n": {
                            "type": "integer",
                            "minimum": -9007199254740991,
                            "maximum": 9007199254740991
                          },
                          "masked": {
                            "type": "boolean"
                          },
                          "count": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": -9007199254740991,
                                "maximum": 9007199254740991
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "sums": {
                            "anyOf": [
                              {
                                "type": "object",
                                "propertyNames": {
                                  "type": "string"
                                },
                                "additionalProperties": {
                                  "type": "string"
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "closed_n": {
                            "type": "integer",
                            "minimum": -9007199254740991,
                            "maximum": 9007199254740991
                          },
                          "median_lifespan_days": {
                            "type": "number"
                          },
                          "warning_signs": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "sign": {
                                  "type": "string",
                                  "enum": [
                                    "demo_only_launch",
                                    "waitlist_over_6_months",
                                    "announce_to_ship_over_12_months",
                                    "hardware_requires_subscription",
                                    "features_marked_coming_soon_at_launch",
                                    "no_public_pricing",
                                    "humans_in_the_loop_undisclosed",
                                    "benchmark_claims_not_reproduced",
                                    "exec_departures_pre_death",
                                    "restated_metrics",
                                    "down_round",
                                    "pivot_count_2_plus",
                                    "refund_complaints_at_scale",
                                    "ai_in_company_name",
                                    "founder_hype_statements",
                                    "regulatory_warning_received",
                                    "single_platform_dependency",
                                    "celebrity_or_influencer_launch",
                                    "raised_over_100m_pre_revenue"
                                  ]
                                },
                                "n": {
                                  "type": "integer",
                                  "minimum": -9007199254740991,
                                  "maximum": 9007199254740991
                                },
                                "count": {
                                  "anyOf": [
                                    {
                                      "type": "integer",
                                      "minimum": -9007199254740991,
                                      "maximum": 9007199254740991
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "prevalence": {
                                  "type": "number"
                                },
                                "sources": {
                                  "maxItems": 20,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "url": {
                                        "type": "string",
                                        "format": "uri"
                                      },
                                      "title": {
                                        "type": "string",
                                        "maxLength": 600
                                      },
                                      "evidence_level": {
                                        "type": "string",
                                        "enum": [
                                          "E1",
                                          "E2",
                                          "E3",
                                          "E4"
                                        ]
                                      },
                                      "archive_url": {
                                        "type": [
                                          "string",
                                          "null"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "url",
                                      "title",
                                      "evidence_level",
                                      "archive_url"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "sign",
                                "n",
                                "count",
                                "sources"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "sources": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "format": "uri"
                                },
                                "title": {
                                  "type": "string",
                                  "maxLength": 600
                                },
                                "evidence_level": {
                                  "type": "string",
                                  "enum": [
                                    "E1",
                                    "E2",
                                    "E3",
                                    "E4"
                                  ]
                                },
                                "archive_url": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "url",
                                "title",
                                "evidence_level",
                                "archive_url"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "more": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "dimensions",
                          "n",
                          "masked",
                          "count",
                          "sums",
                          "closed_n",
                          "warning_signs",
                          "sources",
                          "more"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "more": {
                      "type": "string"
                    },
                    "counter": {
                      "type": "object",
                      "properties": {
                        "amount": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "const": "USD"
                        },
                        "sources": {
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string",
                                "format": "uri"
                              },
                              "title": {
                                "type": "string",
                                "maxLength": 600
                              },
                              "evidence_level": {
                                "type": "string",
                                "enum": [
                                  "E1",
                                  "E2",
                                  "E3",
                                  "E4"
                                ]
                              },
                              "archive_url": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "required": [
                              "url",
                              "title",
                              "evidence_level",
                              "archive_url"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "more": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "amount",
                        "currency",
                        "sources",
                        "more"
                      ],
                      "additionalProperties": false
                    },
                    "inclusion_rule": {
                      "type": "string"
                    },
                    "date_range": {
                      "type": "object",
                      "properties": {
                        "from": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "to": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "cells",
                    "truncated",
                    "more",
                    "counter",
                    "inclusion_rule",
                    "date_range"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "cells": [
                    {
                      "dimensions": {
                        "category": "ai_hardware",
                        "era": "agentic"
                      },
                      "n": 4,
                      "masked": true,
                      "count": null,
                      "sums": null,
                      "closed_n": 4,
                      "warning_signs": [],
                      "sources": [
                        {
                          "url": "https://example.com/humane-shutdown-report",
                          "title": "Humane AI Pin shutdown",
                          "evidence_level": "E2",
                          "archive_url": null
                        }
                      ],
                      "more": "/fails"
                    }
                  ],
                  "truncated": false,
                  "more": "/fails",
                  "counter": {
                    "amount": "0.00",
                    "currency": "USD",
                    "sources": [],
                    "more": "/counter"
                  },
                  "inclusion_rule": "Published matching entries; counts below 5 are masked; medians require 10 closed cases.",
                  "date_range": {
                    "from": "2024-01-01T00:00:00.000Z",
                    "to": "2025-02-28T00:00:00.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Invalid parameters"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "WWW-Authenticate": {
                "schema": {
                  "type": "string"
                },
                "example": "Bearer"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Not found"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Seconds before retrying",
                "example": 60
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Too many requests"
                }
              }
            }
          },
          "503": {
            "description": "Service unavailable",
            "headers": {
              "X-RateLimit-Limit": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 60
              },
              "X-RateLimit-Remaining": {
                "description": "Tightest applicable sliding-window quota",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              },
              "X-RateLimit-Reset": {
                "description": "Unix seconds when the oldest request in the tightest quota expires",
                "schema": {
                  "type": "integer"
                },
                "example": 0
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": false
                },
                "example": {
                  "error": "Service unavailable"
                }
              }
            }
          }
        }
      }
    }
  }
}