{"components":{"responses":{"BadRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid query"},"NotFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"RateLimited":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request quota exceeded"}},"schemas":{"Error":{"properties":{"error":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"ok":{"const":false}},"required":["ok","error"],"type":"object"}},"securitySchemes":{"ApiKeyAuth":{"description":"Optional deployment authentication. It is required only when PUBLIC_API_KEYS is configured.","in":"header","name":"X-API-Key","type":"apiKey"},"BearerAuth":{"description":"Alternative way to send a configured public API key.","scheme":"bearer","type":"http"}}},"info":{"description":"Read-only access to the V3 Konbaung Chronicle triples, thematic categories, and Gemini embedding-neighbor scores. No arbitrary SPARQL execution is exposed.","title":"Konbaung Chronicle Graph API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"}},"summary":"API discovery document"}},"/categories":{"get":{"parameters":[{"in":"query","name":"kind","schema":{"enum":["all","entity","relation"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/RateLimited"}},"summary":"List thematic categories"}},"/health":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"}},"summary":"Readiness check"}},"/openapi.json":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"}},"summary":"OpenAPI 3.1 schema"}},"/stats":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/RateLimited"}},"summary":"Dataset and embedding statistics"}},"/tags":{"get":{"parameters":[{"in":"query","name":"q","schema":{"maxLength":200,"type":"string"}},{"in":"query","name":"kind","schema":{"enum":["all","entity","relation"],"type":"string"}},{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/RateLimited"}},"summary":"Search raw entity or relation tags"}},"/tags/{kind}/{tag_id}/similar":{"get":{"parameters":[{"in":"path","name":"kind","required":true,"schema":{"enum":["entity","relation"],"type":"string"}},{"in":"path","name":"tag_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"minimum_similarity","schema":{"default":0.9,"maximum":1,"minimum":-1,"type":"number"}},{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"summary":"Find embedding-nearest tags"}},"/thematic-patterns":{"get":{"parameters":[{"description":"Exact raw subject label; repeat for OR","explode":true,"in":"query","name":"subject","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Exact raw predicate label; repeat for OR","explode":true,"in":"query","name":"predicate","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Exact raw object label; repeat for OR","explode":true,"in":"query","name":"object","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Case-insensitive subject substring","in":"query","name":"subject_contains","required":false,"schema":{"type":"string"}},{"description":"Case-insensitive predicate substring","in":"query","name":"predicate_contains","required":false,"schema":{"type":"string"}},{"description":"Case-insensitive object substring","in":"query","name":"object_contains","required":false,"schema":{"type":"string"}},{"description":"Exact raw subject embedding tag ID","explode":true,"in":"query","name":"subject_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Exact raw object embedding tag ID","explode":true,"in":"query","name":"object_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Subject OR object embedding tag ID","explode":true,"in":"query","name":"entity_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Raw predicate embedding tag ID","explode":true,"in":"query","name":"relation_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Thematic subject category ID","explode":true,"in":"query","name":"subject_category","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Thematic relation category ID","explode":true,"in":"query","name":"relation_category","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Thematic object category ID","explode":true,"in":"query","name":"object_category","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"vol1, vol2, or vol3","in":"query","name":"volume","required":false,"schema":{"type":"string"}},{"description":"Source page; requires volume","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Inclusive page-range start","in":"query","name":"start_page","required":false,"schema":{"type":"integer"}},{"description":"Inclusive page-range end","in":"query","name":"end_page","required":false,"schema":{"type":"integer"}},{"description":"Exact source sentence ID","in":"query","name":"sentence_id","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/RateLimited"}},"summary":"Aggregate filtered triples by thematic pattern"}},"/triples":{"get":{"parameters":[{"description":"Exact raw subject label; repeat for OR","explode":true,"in":"query","name":"subject","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Exact raw predicate label; repeat for OR","explode":true,"in":"query","name":"predicate","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Exact raw object label; repeat for OR","explode":true,"in":"query","name":"object","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Case-insensitive subject substring","in":"query","name":"subject_contains","required":false,"schema":{"type":"string"}},{"description":"Case-insensitive predicate substring","in":"query","name":"predicate_contains","required":false,"schema":{"type":"string"}},{"description":"Case-insensitive object substring","in":"query","name":"object_contains","required":false,"schema":{"type":"string"}},{"description":"Exact raw subject embedding tag ID","explode":true,"in":"query","name":"subject_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Exact raw object embedding tag ID","explode":true,"in":"query","name":"object_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Subject OR object embedding tag ID","explode":true,"in":"query","name":"entity_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Raw predicate embedding tag ID","explode":true,"in":"query","name":"relation_tag_id","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Thematic subject category ID","explode":true,"in":"query","name":"subject_category","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Thematic relation category ID","explode":true,"in":"query","name":"relation_category","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Thematic object category ID","explode":true,"in":"query","name":"object_category","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"vol1, vol2, or vol3","in":"query","name":"volume","required":false,"schema":{"type":"string"}},{"description":"Source page; requires volume","in":"query","name":"page","required":false,"schema":{"type":"integer"}},{"description":"Inclusive page-range start","in":"query","name":"start_page","required":false,"schema":{"type":"integer"}},{"description":"Inclusive page-range end","in":"query","name":"end_page","required":false,"schema":{"type":"integer"}},{"description":"Exact source sentence ID","in":"query","name":"sentence_id","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"cursor","schema":{"type":"string"}},{"in":"query","name":"include_text","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/RateLimited"}},"summary":"Filter provenance-preserving raw triples"}},"/triples/{claim_id}":{"get":{"parameters":[{"in":"path","name":"claim_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"include_text","schema":{"default":true,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"summary":"Retrieve one claim by ID"}}},"servers":[{"url":"/api/v1"}]}
