{
  "name": "CCLEAR Public Data API",
  "version": "1.0.0",
  "description": "Read-only JSON access to CCLEAR's published research on U.S. Regulation Crowdfunding, sourced from SEC EDGAR and hand-verified.",
  "openapi": "https://cclear.ai/openapi.json",
  "documentation": "https://cclear.ai/developers",
  "developer_portal": "https://cclear.ai/developers",
  "dynamic_api_base": "https://wldwmbpbdmpawinstrhq.supabase.co/functions/v1/api",
  "llms_txt": "https://cclear.ai/llms.txt",
  "sitemap": "https://cclear.ai/sitemap.xml",
  "endpoints": [
    {
      "method": "GET",
      "path": "/api/v1/index.json",
      "description": "This document."
    },
    {
      "method": "GET",
      "path": "/api/v1/health.json",
      "description": "Service health."
    },
    {
      "method": "GET",
      "path": "/api/v1/briefs.json",
      "description": "All published research briefs."
    },
    {
      "method": "GET",
      "path": "/api/v1/briefs/{slug}.json",
      "description": "One research brief by slug."
    },
    {
      "method": "GET",
      "path": "https://wldwmbpbdmpawinstrhq.supabase.co/functions/v1/api/health",
      "description": "Live health check on the dynamic API."
    },
    {
      "method": "GET",
      "path": "https://wldwmbpbdmpawinstrhq.supabase.co/functions/v1/api/weekly-issues?limit=20",
      "description": "Published weekly tear-sheet issues with headline KPIs, newest first."
    }
  ],
  "errors": {
    "format": "application/json",
    "shape": {
      "error": {
        "code": "string",
        "message": "string",
        "hint": "string",
        "status": "integer"
      }
    },
    "codes": [
      {
        "code": "not_found",
        "status": 404,
        "meaning": "No endpoint matches the requested path."
      },
      {
        "code": "brief_not_found",
        "status": 404,
        "meaning": "No brief exists with that slug."
      },
      {
        "code": "invalid_parameter",
        "status": 400,
        "meaning": "A query parameter is out of range or malformed."
      },
      {
        "code": "method_not_allowed",
        "status": 405,
        "meaning": "The API is read-only; use GET."
      },
      {
        "code": "upstream_unavailable",
        "status": 502,
        "meaning": "A published snapshot could not be retrieved."
      },
      {
        "code": "internal_error",
        "status": 500,
        "meaning": "Unexpected server error."
      }
    ],
    "example": {
      "error": {
        "code": "brief_not_found",
        "message": "No research brief exists with slug \"does-not-exist\".",
        "hint": "List available briefs at https://cclear.ai/api/v1/briefs.json.",
        "status": 404,
        "documentation_url": "https://cclear.ai/openapi.json"
      }
    },
    "example_request": "https://wldwmbpbdmpawinstrhq.supabase.co/functions/v1/api/briefs/does-not-exist"
  },
  "license": "https://cclear.ai/terms",
  "contact": "https://cclear.ai/data-licensing"
}
