{"openapi":"3.1.0","info":{"title":"COMPAMIR Data API","version":"1.0.0","description":"Read-only REST API over COMPAMIR's structured news events: multiple sources deduplicated into single events, with reporting-conflict flags, in Japanese and English. Responses contain AI-generated 5W1H summaries (no article text) and always include source links. Data is produced by automated processing, not exhaustive human verification."},"servers":[{"url":"https://api.compamir.com"}],"security":[{"bearerApiKey":[]}],"components":{"securitySchemes":{"bearerApiKey":{"type":"http","scheme":"bearer","bearerFormat":"cmp_live_..."}},"schemas":{"Event":{"type":"object","description":"Structured news event (AI-deduplicated, conflict-flagged; no article body, source links included)."},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}},"paths":{"/v1/events":{"get":{"summary":"Search events","parameters":[{"name":"genre","in":"query","schema":{"type":"string","enum":["Politics","Business","Tech","Global"]}},{"name":"region","in":"query","schema":{"type":"string","enum":["Asia","Europe","Americas","Middle East","Africa","Oceania","Global"]}},{"name":"status","in":"query","schema":{"type":"string","enum":["confirmed","speculative","disputed"]}},{"name":"since","in":"query","schema":{"type":"string","format":"date"}},{"name":"until","in":"query","schema":{"type":"string","format":"date"}},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"sort","in":"query","schema":{"type":"string","enum":["newest","impact"],"default":"newest"}},{"name":"limit","in":"query","schema":{"type":"integer","maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"lang","in":"query","schema":{"type":"string","enum":["jp","en","both"],"default":"both"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Invalid API key"},"429":{"description":"Rate limited"}}}},"/v1/events/{id}":{"get":{"summary":"Get event by id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"lang","in":"query","schema":{"type":"string","enum":["jp","en","both"],"default":"both"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Not found"}}}},"/v1/conflicts":{"get":{"summary":"List conflict-flagged events","parameters":[{"name":"since","in":"query","schema":{"type":"string","format":"date"}},{"name":"limit","in":"query","schema":{"type":"integer","maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/meta":{"get":{"summary":"Vocabulary and data freshness","responses":{"200":{"description":"OK"}}}}}}