{"openapi":"3.0.3","info":{"title":"Kanbai public read-only API","version":"0.1.0","description":"Read-only REST access to Kanbai's public project templates and SOPs. No authentication. Does not cover tenant-scoped work objects (projects, tasks) — those live behind /api/v1/kanbai/* and require an operator token or account session; see docs/KANBAI-MCP.md."},"servers":[{"url":"https://kanbai.app"}],"paths":{"/api/v1/templates":{"get":{"operationId":"kanbai_list_templates","summary":"List public project templates","responses":{"200":{"description":"Template list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KanbaiListTemplatesOutput"}}}}}}},"/api/v1/templates/{id}":{"get":{"operationId":"kanbai_get_template","summary":"Get one public project template, with its ordered task list","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Template detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KanbaiGetTemplateOutput"}}}},"400":{"description":"id is not a positive integer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/sops":{"get":{"operationId":"kanbai_list_sops","summary":"List public SOPs","responses":{"200":{"description":"SOP list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KanbaiListSopsOutput"}}}}}}},"/api/v1/sops/{id}":{"get":{"operationId":"kanbai_get_sop","summary":"Get one public SOP, including its full content","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"SOP detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KanbaiGetSopOutput"}}}},"400":{"description":"id is not a positive integer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"SOP not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false},"KanbaiListTemplatesOutput":{"type":"object","properties":{"templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"source_guide":{"type":["string","null"]},"task_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"url":{"type":"string"}},"required":["id","slug","name","description","source_guide","task_count","url"],"additionalProperties":false}}},"required":["templates"],"additionalProperties":false},"KanbaiGetTemplateOutput":{"type":"object","properties":{"template":{"type":"object","properties":{"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"source_guide":{"type":["string","null"]},"task_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"url":{"type":"string"},"tasks":{"type":"array","items":{"type":"object","properties":{"order_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"description":{"type":["string","null"]},"default_status":{"type":"string"},"default_priority":{"type":"string"},"priority_basis":{"anyOf":[{"type":"string","enum":["source_recorded","operational_default","operator"]},{"type":"null"}]},"offset_days":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"duration_days":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["order_index","title","description","default_status","default_priority","priority_basis","offset_days","duration_days"],"additionalProperties":false}}},"required":["id","slug","name","description","source_guide","task_count","url","tasks"],"additionalProperties":false}},"required":["template"],"additionalProperties":false},"KanbaiListSopsOutput":{"type":"object","properties":{"sops":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"title":{"type":"string"},"category":{"type":["string","null"]},"url":{"type":"string"}},"required":["id","title","category","url"],"additionalProperties":false}}},"required":["sops"],"additionalProperties":false},"KanbaiGetSopOutput":{"type":"object","properties":{"sop":{"type":"object","properties":{"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"title":{"type":"string"},"category":{"type":["string","null"]},"url":{"type":"string"},"content":{"type":["string","null"]},"video_url":{"type":["string","null"]}},"required":["id","title","category","url","content","video_url"],"additionalProperties":false}},"required":["sop"],"additionalProperties":false}}},"x-mcp":{"endpoint":"https://kanbai.app/api/mcp/public","tools":["kanbai_list_templates","kanbai_get_template","kanbai_list_sops","kanbai_get_sop"]}}