{
  "manifest_version": "0.1",
  "name": "oruk",
  "description": "Live broadcast intelligence API for corroborated real-time news events from radio, TV, social, and structured feeds.",
  "homepage_url": "https://oruk.ai/",
  "documentation_url": "https://oruk.ai/docs",
  "llms_txt_url": "https://oruk.ai/llms.txt",
  "full_context_url": "https://oruk.ai/llms-full.txt",
  "agent_guide_url": "https://oruk.ai/AGENTS.md",
  "machine_sitemap_url": "https://oruk.ai/sitemap.md",
  "provider": {
    "name": "oruk",
    "url": "https://oruk.ai/",
    "support_email": "support@oruk.ai",
    "editorial_email": "editorial@oruk.ai",
    "sales_email": "enterprise@oruk.ai"
  },
  "interfaces": [
    {
      "type": "rest",
      "base_url": "https://api.oruk.ai",
      "documentation_url": "https://oruk.ai/docs",
      "auth": ["public", "api_key"]
    },
    {
      "type": "sse",
      "url": "https://api.oruk.ai/v1/stream",
      "documentation_url": "https://oruk.ai/docs#stream",
      "auth": ["api_key"]
    },
    {
      "type": "webhook",
      "url": "https://api.oruk.ai/v1/webhooks",
      "documentation_url": "https://oruk.ai/docs#webhooks",
      "auth": ["api_key"],
      "tier": "developer"
    },
    {
      "type": "mcp",
      "transport": "stdio",
      "package": "oruk-mcp",
      "run": "npx -y oruk-mcp",
      "documentation_url": "https://oruk.ai/docs#mcp",
      "auth": ["public", "api_key"]
    }
  ],
  "auth": {
    "schemes": [
      {
        "type": "api_key",
        "header": "X-API-Key",
        "bearer_alternative": true,
        "signup_url": "https://oruk.ai/signup",
        "dashboard_url": "https://oruk.ai/dashboard"
      }
    ]
  },
  "capabilities": [
    {
      "id": "stories.feed.read",
      "name": "Read the public live wire",
      "endpoint": "GET https://api.oruk.ai/v1/stories/feed",
      "auth_required": false,
      "inputs": ["limit", "since_hours", "sort"],
      "outputs": ["stories", "meta"],
      "latency_profile": "Cached for about 3 seconds; suitable for public agent discovery and lightweight queries."
    },
    {
      "id": "stories.search",
      "name": "Search and filter stories",
      "endpoint": "GET https://api.oruk.ai/v1/stories",
      "auth_required": true,
      "inputs": ["q", "category", "since", "topics", "region", "country", "urgency", "min_impact", "min_confidence", "limit", "cursor", "format"],
      "outputs": ["stories", "meta"],
      "latency_profile": "Interactive REST query; cached and indexed for recent stories."
    },
    {
      "id": "stories.get",
      "name": "Get one full story",
      "endpoint": "GET https://api.oruk.ai/v1/stories/{id}",
      "auth_required": true,
      "inputs": ["id"],
      "outputs": ["story", "timeline", "sources", "corroboration"]
    },
    {
      "id": "stories.stream",
      "name": "Stream story and corroboration events",
      "endpoint": "GET https://api.oruk.ai/v1/stream",
      "auth_required": true,
      "outputs": ["story", "corroboration", "heartbeat"],
      "latency_profile": "Not available on Free, Pro, or Legacy (HTTP 403). Developer, Trader, and Enterprise: real-time Server-Sent Events (same story feed as the public wire)."
    },
    {
      "id": "sources.list",
      "name": "List monitored sources",
      "endpoint": "GET https://api.oruk.ai/v1/sources",
      "auth_required": true,
      "outputs": ["source catalog", "medium", "region", "language", "status"]
    },
    {
      "id": "stats.read",
      "name": "Read system statistics",
      "endpoint": "GET https://api.oruk.ai/v1/stats",
      "auth_required": true,
      "outputs": ["active sources", "story totals", "top categories", "uptime"]
    }
  ],
  "data_model": {
    "primary_object": "story",
    "stable_id_prefix": "evt_",
    "fields": [
      "id",
      "headline",
      "summary",
      "body",
      "category",
      "categories",
      "topics",
      "urgency",
      "impact",
      "confidence",
      "eventCity",
      "eventCountry",
      "eventRegion",
      "firstSeenAt",
      "updatedAt",
      "corroboration",
      "timeline",
      "sources"
    ],
    "citation_guidance": "Cite https://oruk.ai/story/{evt_id}, include corroboration.count, and name at least one confirming source."
  },
  "pricing": {
    "page_url": "https://oruk.ai/pricing",
    "human_billing": "Stripe subscriptions for Free, Pro, Developer, and Enterprise; a hidden Trader tier ($50/mo) mirrors Developer for invited accounts.",
    "machine_payments": {
      "status": "planned",
      "protocols_under_evaluation": ["x402", "Stripe Machine Payments Protocol"],
      "note": "Current production API behavior remains API-key and subscription based. Oruk has not enabled live HTTP 402 payment endpoints yet."
    }
  },
  "robots": {
    "policy_url": "https://oruk.ai/robots.txt",
    "allowed_public_context": [
      "https://oruk.ai/llms.txt",
      "https://oruk.ai/llms-full.txt",
      "https://oruk.ai/AGENTS.md",
      "https://oruk.ai/sitemap.md",
      "https://oruk.ai/.well-known/ai.json",
      "https://oruk.ai/.well-known/agent.json"
    ]
  }
}
