{
  "message": "Audience Acuity API Proxy, Token Generator & D1 Database",
  "token_endpoints": [
    "GET /token - Generate a fresh Bearer token",
    "GET /token?count=5 - Generate multiple tokens (max 10)",
    "GET /token?keyId=XXX&secret=YYY - Use custom credentials",
    "GET /token-info - Learn how tokens are generated",
    "GET /token-validate?token=XXX - Validate token format"
  ],
  "database_endpoints": [
    "POST /save-identity - Save Audience Acuity data to D1",
    "GET /get-identity/{phone}?workspace_id=XXX - Retrieve saved identity"
  ],
  "mysql_endpoints": [
    "GET /mysql/tables - List all MySQL tables",
    "GET /mysql/tables/{tableName}/schema - Get table schema",
    "GET /mysql/data/{tableName} - Get data from any table (supports pagination)",
    "GET /mysql/bot-users - Get bot users with filtering",
    "POST /mysql/query - Execute custom SELECT query"
  ],
  "metrics_endpoints": [
    "GET /mysql/metrics/teams - List all teams with activity stats",
    "GET /mysql/metrics/teams/{team_id} - Detailed team metrics",
    "GET /mysql/metrics/bot-users - Bot user metrics by status/date range"
  ],
  "dashboard": [
    "GET /dashboard - Interactive data visualization dashboard"
  ],
  "proxy_endpoints": [
    "GET /phone?phone=15551234567&template=218923726",
    "GET /email?email=example@gmail.com&template=218923726",
    "GET /address?address=123 Main St&template=218923726",
    "GET /health - Health check"
  ],
  "database_schema": {
    "primary_key": "phone + workspace_id",
    "isolation": "Data isolated by workspace_id",
    "tables": [
      "identities",
      "identity_phones",
      "identity_data",
      "identity_devices",
      "identity_behaviors",
      "identity_properties"
    ]
  },
  "features": [
    "Bearer token generation for any API client",
    "D1 database storage with workspace isolation",
    "Complete Audience Acuity data parsing & storage",
    "Automatic retry with exponential backoff",
    "Handles API rate limiting gracefully"
  ],
  "note": "Token & DB endpoints work globally. Proxy endpoints require IP whitelisting."
}