{"openapi":"3.0.3","info":{"title":"Karpa Health Agent API","version":"2026-09-05","description":"Read-only structured content for AI agents: published pricing, platform comparisons, and resource articles. No auth, no keys. Responses carry RateLimit-* / X-RateLimit-* headers and a date-based API-Version header; errors are RFC 9457 problem+json."},"servers":[{"url":"https://karpahealth.com"}],"tags":[{"name":"Agent content"}],"components":{"schemas":{"ComparisonSummary":{"type":"object","required":["slug","name","url","type","bestFor"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"type":{"type":"string"},"bestFor":{"type":"string"},"pricing":{"type":"string","description":"Pricing signal (often \"Contact for pricing\")"},"pricingModel":{"type":"string"},"patientOwnership":{"type":"string"},"whiteLabelBranding":{"type":"boolean"},"legitScriptCertified":{"type":"string","enum":["Yes","No","Unknown"]}}},"Article":{"type":"object","required":["slug","path","title","category","author"],"properties":{"slug":{"type":"string"},"path":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"author":{"type":"string"},"published":{"type":"string","format":"date"},"updated":{"type":"string","format":"date"},"tags":{"type":"array","items":{"type":"string"}}}},"Pricing":{"type":"object","properties":{"tiers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"string"},"implementationFee":{"type":"string"},"description":{"type":"string"},"includes":{"type":"array","items":{"type":"string"}}}}},"emr":{"type":"object","nullable":true,"properties":{"plan":{"type":"string"},"pricing":{"type":"string"},"note":{"type":"string"}}},"planTypes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"string"},"legitscript":{"type":"boolean"},"note":{"type":"string"}}}},"partnerModel":{"type":"object","additionalProperties":{"type":"string"}},"launchTiming":{"type":"string"},"compliance":{"type":"string"},"source":{"type":"string"},"markdown":{"type":"string"},"note":{"type":"string"}}},"Health":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail"],"example":"pass"},"detail":{"type":"string"}}},"JsonRpcError":{"type":"object","description":"JSON-RPC 2.0 error envelope (MCP transport), not RFC 9457","properties":{"jsonrpc":{"type":"string","example":"2.0"},"id":{"type":["string","integer","null"]},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{}}}}},"ApiError":{"type":"object","required":["type","title","status"],"properties":{"type":{"type":"string","description":"A stable URL pointer for this error class"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"hint":{"type":"string","description":"The next step to recover"}}}}},"paths":{"/api/pricing":{"get":{"operationId":"getPricing","summary":"Karpa Health published pricing (platform tiers + partner model)","tags":["Agent content"],"responses":{"200":{"description":"Published pricing","headers":{"API-Version":{"description":"Date-based API version (current: 2026-09-05)","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Max requests per window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Remaining requests in the window","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pricing"}}}},"405":{"description":"Method not allowed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"RFC 9457 problem+json error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/api/comparisons":{"get":{"operationId":"listComparisons","summary":"List platforms compared against Karpa (cursor pagination)","tags":["Agent content"],"parameters":[{"name":"limit","in":"query","description":"Page size 1-50 (default: all)","schema":{"type":"integer","minimum":1,"maximum":50}},{"name":"cursor","in":"query","description":"Opaque cursor (next_cursor from a prior response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A page of comparison summaries","headers":{"API-Version":{"description":"Date-based API version (current: 2026-09-05)","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Max requests per window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Remaining requests in the window","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","total"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComparisonSummary"}},"next_cursor":{"type":"string","nullable":true,"description":"Pass as ?cursor= to fetch the next page, or null when done"},"total":{"type":"integer"}}}}}},"405":{"description":"Method not allowed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"RFC 9457 problem+json error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/api/articles":{"get":{"operationId":"listArticles","summary":"List Karpa Health resource articles (cursor pagination)","tags":["Agent content"],"parameters":[{"name":"limit","in":"query","description":"Page size 1-50 (default: all)","schema":{"type":"integer","minimum":1,"maximum":50}},{"name":"cursor","in":"query","description":"Opaque cursor (next_cursor from a prior response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A page of resource articles","headers":{"API-Version":{"description":"Date-based API version (current: 2026-09-05)","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Max requests per window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Remaining requests in the window","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","total"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Article"}},"next_cursor":{"type":"string","nullable":true,"description":"Pass as ?cursor= to fetch the next page, or null when done"},"total":{"type":"integer"}}}}}},"405":{"description":"Method not allowed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"default":{"description":"RFC 9457 problem+json error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/api/health":{"get":{"operationId":"health","summary":"Liveness signal (application/health+json)","tags":["Agent content"],"responses":{"200":{"description":"pass","headers":{"API-Version":{"description":"Date-based API version (current: 2026-09-05)","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Max requests per window","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Remaining requests in the window","schema":{"type":"integer"}}},"content":{"application/health+json":{"schema":{"$ref":"#/components/schemas/Health"}}}},"405":{"description":"Method not allowed","content":{"application/health+json":{"schema":{"$ref":"#/components/schemas/Health"}}}},"default":{"description":"Liveness failure (health+json)","content":{"application/health+json":{"schema":{"$ref":"#/components/schemas/Health"}}}}}}},"/mcp":{"post":{"operationId":"mcp","summary":"Model Context Protocol server (streamable HTTP)","responses":{"200":{"description":"JSON-RPC response"},"default":{"description":"JSON-RPC 2.0 error envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}}}}}}}