{
  "name": "Kanaeru AI Public API",
  "version": "2026-08-22",
  "major_version": "v1",
  "description": "Read the Kanaeru AI service catalogue, case studies and engineering articles, or reach the team. Read endpoints are public and need no authentication.",
  "documentation_url": "https://www.kanaeru.ai/developers",
  "openapi_url": "https://www.kanaeru.ai/openapi.json",
  "openapi_yaml_url": "https://www.kanaeru.ai/openapi.yaml",
  "llms_txt_url": "https://www.kanaeru.ai/llms.txt",
  "agent_instructions_url": "https://www.kanaeru.ai/agent-instructions.md",
  "versioning": {
    "scheme": "url-path",
    "current_prefix": "/api/v1",
    "description": "Canonical endpoints live under /api/v1/. Unversioned /api/ paths alias the latest major version. Dated releases within a major version are additive; every response carries a Kanaeru-Version header.",
    "deprecation_policy": "Deprecations are announced with Deprecation (RFC 9745) and Sunset (RFC 8594) response headers at least 180 days before removal, and listed at https://www.kanaeru.ai/developers."
  },
  "rate_limits": {
    "description": "Per-client quotas, reported on every response via RateLimit-Policy and RateLimit headers. A 429 carries Retry-After.",
    "policies": [
      {
        "policy": "read",
        "limit": 60,
        "window_seconds": 60
      },
      {
        "policy": "write",
        "limit": 10,
        "window_seconds": 60
      }
    ]
  },
  "cli": {
    "package": "kanaeru-cli",
    "install": "npm install -g kanaeru-cli",
    "description": "Official command-line client for this API: list services, case studies and articles from the terminal or a script.",
    "documentation_url": "https://www.kanaeru.ai/developers"
  },
  "markdown_content_negotiation": {
    "description": "Every page answers Accept: text/markdown with a Markdown representation of the same URL.",
    "specification": "https://acceptmarkdown.com/",
    "example": "curl -H \"Accept: text/markdown\" https://www.kanaeru.ai/"
  },
  "support_email": "support@kanaeru.ai",
  "endpoints": [
    {
      "operation_id": "getApiIndex",
      "method": "GET",
      "path": "/api/v1",
      "description": "List the available API endpoints"
    },
    {
      "operation_id": "getHealth",
      "method": "GET",
      "path": "/api/v1/health",
      "description": "Check API availability"
    },
    {
      "operation_id": "getOpenApiDocument",
      "method": "GET",
      "path": "/openapi.json",
      "description": "Fetch this OpenAPI document"
    },
    {
      "operation_id": "listServices",
      "method": "GET",
      "path": "/api/v1/services",
      "description": "List the services Kanaeru AI delivers"
    },
    {
      "operation_id": "getService",
      "method": "GET",
      "path": "/api/v1/services/{slug}",
      "description": "Fetch one service by slug"
    },
    {
      "operation_id": "listCaseStudies",
      "method": "GET",
      "path": "/api/v1/case-studies",
      "description": "List published case studies"
    },
    {
      "operation_id": "getCaseStudy",
      "method": "GET",
      "path": "/api/v1/case-studies/{slug}",
      "description": "Fetch one case study by slug"
    },
    {
      "operation_id": "listBlogPosts",
      "method": "GET",
      "path": "/api/v1/blog-posts",
      "description": "List published engineering articles"
    },
    {
      "operation_id": "getBlogPost",
      "method": "GET",
      "path": "/api/v1/blog-posts/{slug}",
      "description": "Fetch one article, including its Markdown body"
    },
    {
      "operation_id": "sendChatMessage",
      "method": "POST",
      "path": "/api/v1/chat",
      "description": "Send a message to the Kanaeru AI team"
    },
    {
      "operation_id": "getChatHistory",
      "method": "GET",
      "path": "/api/v1/chat-history",
      "description": "Read the transcript of an existing chat session"
    },
    {
      "operation_id": "submitContactRequest",
      "method": "POST",
      "path": "/api/v1/send-email",
      "description": "Submit a contact or newsletter request"
    }
  ]
}