{"openapi":"3.1.0","info":{"title":"VoiceInsights Africa Public API","version":"v210.6.0","description":"APIs for autonomous multi-channel collection, organization knowledge, enterprise reports, security and integrations.","contact":{"name":"VoiceInsights Africa API Support","email":"info@voiceinsightsafrica.com"}},"servers":[{"url":"https://voiceinsights-api.kitentyatsnp.workers.dev","description":"Production API"}],"tags":[{"name":"Platform","description":"Health and platform information"},{"name":"Knowledge","description":"Organization-scoped institutional knowledge"},{"name":"Reports","description":"Enterprise reports and presentation services"},{"name":"Campaigns","description":"Campaign launch and orchestration"},{"name":"Security","description":"Identity and API key services"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"correlation_id":{"type":"string"}}}}},"paths":{"/api/health":{"get":{"tags":["Platform"],"summary":"Check API, database and storage health","operationId":"get__api_health","security":[],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}}},"/api/knowledge/v2105/workspace":{"get":{"tags":["Knowledge"],"summary":"Get Knowledge Cloud workspace","operationId":"get__api_knowledge_v2105_workspace","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}}},"/api/knowledge/v2105/search":{"get":{"tags":["Knowledge"],"summary":"Search reports, evidence, recommendations and lessons","operationId":"get__api_knowledge_v2105_search","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"type","in":"query","schema":{"type":"string","enum":["report","recommendation","lesson","evidence","knowledge_note"]}},{"name":"sector","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}}},"/api/reports/workspace":{"get":{"tags":["Reports"],"summary":"Build Enterprise Reports workspace","operationId":"get__api_reports_workspace","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}}},"/api/reports/assistant":{"post":{"tags":["Reports"],"summary":"Ask the report assistant a grounded question","operationId":"post__api_reports_assistant","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["question"],"properties":{"question":{"type":"string"},"report":{"type":"object"}}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}}},"/api/production/v2102/campaigns/launch":{"post":{"tags":["Campaigns"],"summary":"Launch an approved multi-channel campaign","operationId":"post__api_production_v2102_campaigns_launch","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}}},"/api/security/v2103a/api-keys":{"get":{"tags":["Security"],"summary":"List scoped API keys","operationId":"get__api_security_v2103a_api_keys","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}},"post":{"tags":["Security"],"summary":"Create a scoped API key","operationId":"post__api_security_v2103a_api_keys","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Authentication required"},"403":{"description":"Permission or scope denied"},"429":{"description":"Rate limit exceeded"}}}}}}