{
  "ok": true,
  "service": "Webhostric API",
  "version": "2.0.0",
  "summary": "Tek anahtarla sunucusuz web projesi: alan adı (tüm desteklenen uzantılar), site kurma/düzenleme, proje veritabanı ve dosya deposu. Aynı yetenekler REST ve MCP'de.",
  "auth": {
    "userKey": "Authorization: Bearer wk_user_… — Google ile giriş yapan herkes KYC olmadan ücretsiz üretir: https://webhostric.com.tr/?panel=apikeys",
    "oauth": "MCP istemcileri için OAuth 2.1 + PKCE: https://webhostric.com.tr/.well-known/oauth-authorization-server",
    "partnerKey": "wk_live_ — yalnızca admin tarafından verilen partner anahtarı (REST)"
  },
  "clientAccess": {
    "cors": "Tüm HTTPS istemcilerine açık (Access-Control-Allow-Origin: *).",
    "docs": "https://webhostric.com.tr/api",
    "mcp": "https://webhostric.com.tr/mcp",
    "openapi": "https://webhostric.com.tr/v1/openapi.json",
    "note": "Anahtarı normal sohbet mesajına yapıştırmak istemciye ağ yetkisi vermez. Claude/ChatGPT gibi istemcilerde uzak MCP bağlayıcısı ekleyin; MCP olmayan istemcilerde OpenAPI/REST araç bağlantısı kurun."
  },
  "paymentModel": "Ücretli işlemler kullanıcı bakiyesinden, her işlem için kısa ömürlü kullanıcı onayı ve Idempotency-Key ile. Yetersiz bakiyede 402 insufficient_balance + topUpUrl.",
  "agentPolicy": {
    "siteRequest": "Önce GET /v1/me, alan adı sorgusu ve ücretsiz teklif. quote.sufficientBalance=true ise kullanıcı onayından sonra kurulum/satın alma; false ise ücretli işlemi durdurup shortfall ve topUpUrl ile bakiye yüklemesi iste.",
    "balanceMustBeRechecked": true,
    "userApprovalAlwaysRequiredForPaidAction": true,
    "freePreviewAvailable": true
  },
  "kyc": "Yalnızca gerektiren işlemlerde (ör. .tr alan adları) istenir; hesap, anahtar, sorgu, proje, veritabanı ve dosyalar için gerekmez.",
  "model": {
    "primary": "@cf/openai/gpt-oss-120b",
    "fallback": "@cf/qwen/qwen3-30b-a3b-fp8 (yalnızca erişilebilirlik yedeği)",
    "vision": "@cf/meta/llama-4-scout-17b-16e-instruct (görsel analiz; GPT-OSS 120B orkestrasyonu)",
    "imageGeneration": "@cf/black-forest-labs/flux-1-schnell",
    "images": "@cf/black-forest-labs/flux-1-schnell (geriye dönük alan adı)"
  },
  "docs": "https://webhostric.com.tr/v1/instructions.txt",
  "openapi": "https://webhostric.com.tr/v1/openapi.json",
  "mcp": {
    "url": "https://webhostric.com.tr/mcp",
    "transport": "streamable-http",
    "protocolVersions": [
      "2025-11-25",
      "2025-06-18",
      "2025-03-26",
      "2024-11-05"
    ]
  },
  "topUpUrl": "https://webhostric.com.tr/balance",
  "kycUrl": "https://webhostric.com.tr/kyc",
  "llms": "https://webhostric.com.tr/llms.txt",
  "capabilities": [
    {
      "id": "account.status",
      "paid": false,
      "kyc": false,
      "rest": "GET /v1/me",
      "mcp": "get_account_status"
    },
    {
      "id": "balance.topup_link",
      "paid": false,
      "kyc": false,
      "rest": "GET /v1/balance",
      "mcp": "get_topup_link"
    },
    {
      "id": "domains.tlds",
      "paid": false,
      "kyc": false,
      "rest": "GET /v1/tlds",
      "mcp": "search_supported_tlds"
    },
    {
      "id": "domains.check",
      "paid": false,
      "kyc": false,
      "rest": "POST /v1/domain/check",
      "mcp": "check_domain"
    },
    {
      "id": "themes.list",
      "paid": false,
      "kyc": false,
      "rest": "GET /v1/themes",
      "mcp": "list_themes"
    },
    {
      "id": "orders.quote",
      "paid": false,
      "kyc": false,
      "rest": "POST /v1/order/quote",
      "mcp": "create_domain_order_quote"
    },
    {
      "id": "orders.execute",
      "paid": true,
      "kyc": "only_if_required_by_tld",
      "rest": "POST /v1/order/execute",
      "mcp": "execute_domain_order"
    },
    {
      "id": "sites.list_edit",
      "paid": false,
      "kyc": false,
      "rest": "GET /v1/sites, POST /v1/chat, PUT /v1/sites/{domain}/pages/{path}",
      "mcp": "list_sites, get_site, edit_site, upsert_site_page"
    },
    {
      "id": "projects",
      "paid": false,
      "kyc": false,
      "rest": "/v1/projects…",
      "mcp": "create_project, list_projects, get_project_status, build_app"
    },
    {
      "id": "database",
      "paid": false,
      "kyc": false,
      "rest": "/v1/projects/{id}/collections…",
      "mcp": "db_* tools"
    },
    {
      "id": "files",
      "paid": false,
      "kyc": false,
      "rest": "/v1/projects/{id}/files…",
      "mcp": "files_* tools"
    }
  ],
  "endpoints": [
    "GET /v1",
    "GET /v1/openapi.json",
    "GET /v1/instructions.txt",
    "GET /v1/me",
    "GET /v1/balance",
    "GET /v1/tlds",
    "POST /v1/domain/check",
    "GET /v1/domain/check?domain=",
    "GET /v1/themes",
    "POST /v1/order/quote",
    "GET /v1/order/{orderId}",
    "GET /v1/orders",
    "POST /v1/order/execute",
    "GET /v1/sites",
    "GET /v1/sites/{domain}",
    "GET /v1/sites/{domain}/page?path=/",
    "PUT /v1/sites/{domain}/page",
    "POST /v1/sites/{domain}/edit",
    "POST /v1/chat",
    "GET /v1/projects",
    "POST /v1/projects",
    "GET /v1/projects/{projectId}",
    "DELETE /v1/projects/{projectId}",
    "GET /v1/projects/{projectId}/logs",
    "POST /v1/projects/{projectId}/build",
    "GET /v1/projects/{projectId}/collections",
    "PUT /v1/projects/{projectId}/collections/{name}",
    "DELETE /v1/projects/{projectId}/collections/{name}",
    "POST /v1/projects/{projectId}/collections/{name}/query",
    "POST /v1/projects/{projectId}/collections/{name}/records",
    "DELETE /v1/projects/{projectId}/collections/{name}/records",
    "GET /v1/projects/{projectId}/files",
    "GET /v1/projects/{projectId}/files/{path}",
    "PUT /v1/projects/{projectId}/files/{path}",
    "DELETE /v1/projects/{projectId}/files/{path}",
    "GET /v1/tools",
    "POST /v1/tools/{toolName}",
    "POST /v1/domain/buy (yalnızca partner wk_live_)"
  ],
  "playground": {
    "currency": "USD",
    "freeTier": true,
    "note": "Projeler, veritabanı ve dosya depolama aşağıdaki kotalar içinde ücretsizdir; kota aşımı ücretlendirilmez, reddedilir.",
    "limits": {
      "projectsPerOwner": 5,
      "collectionsPerProject": 20,
      "fieldsPerCollection": 40,
      "recordsPerProject": 5000,
      "recordBytes": 32768,
      "batchMax": 50,
      "queryMax": 100,
      "objectBytes": 2097152,
      "projectBytes": 52428800,
      "objectsPerProject": 500,
      "buildsPerDay": 20,
      "publicWritesPerMinute": 20
    }
  }
}