{"components":{"schemas":{"Error":{"properties":{"error":{"type":"string"},"ok":{"type":"boolean"}},"type":"object"}},"securitySchemes":{"crmApiKey":{"in":"header","name":"X-API-Key","type":"apiKey"},"visibilityApiKey":{"in":"header","name":"X-API-Key","type":"apiKey"},"visibilityBearer":{"scheme":"bearer","type":"http"}}},"externalDocs":{"description":"Ninar AI documentation","url":"https://www.ninar.ai/docs"},"info":{"description":"Supported APIs for CRM data and AI visibility integrations. Create API keys in Ninar AI settings. MCP clients should use /mcp instead.","title":"Ninar AI API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/v1/campaigns":{"get":{"responses":{"200":{"description":"Campaigns"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"crmApiKey":[]}],"summary":"List campaigns and delivery statistics","tags":["CRM"]}},"/api/v1/contact-lists":{"get":{"responses":{"200":{"description":"Contact lists"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"crmApiKey":[]}],"summary":"List contact lists","tags":["CRM"]},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Contact list created"},"400":{"description":"Invalid request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"crmApiKey":[]}],"summary":"Create a contact list","tags":["CRM"]}},"/api/v1/contacts":{"get":{"parameters":[{"in":"query","name":"list_id","schema":{"type":"integer"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":200,"type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"type":"integer"}}],"responses":{"200":{"description":"Contacts"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"crmApiKey":[]}],"summary":"List contacts","tags":["CRM"]},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"company":{"type":"string"},"email":{"format":"email","type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"list_id":{"type":"integer"},"phone":{"type":"string"}},"required":["list_id","email"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Contact created"},"400":{"description":"Invalid request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"crmApiKey":[]}],"summary":"Create a contact","tags":["CRM"]}},"/api/v1/unsubscribes":{"get":{"responses":{"200":{"description":"Unsubscribes"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"crmApiKey":[]}],"summary":"List global unsubscribes","tags":["CRM"]}},"/geo/api/v1/connect":{"post":{"responses":{"200":{"description":"Connection details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"visibilityApiKey":[]},{"visibilityBearer":[]}],"summary":"Validate a visibility API key and return account details","tags":["Visibility"]}},"/geo/api/v1/suggestions":{"get":{"parameters":[{"in":"query","name":"url","schema":{"format":"uri","type":"string"}},{"in":"query","name":"title","schema":{"type":"string"}},{"in":"query","name":"content","schema":{"maxLength":2000,"type":"string"}}],"responses":{"200":{"description":"Suggestions"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"visibilityApiKey":[]},{"visibilityBearer":[]}],"summary":"Get content and schema suggestions for a page","tags":["Visibility"]}},"/geo/api/v1/visibility":{"get":{"responses":{"200":{"description":"Latest visibility result"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Authentication failed"}},"security":[{"visibilityApiKey":[]},{"visibilityBearer":[]}],"summary":"Get the latest AI visibility score and breakdown","tags":["Visibility"]}}},"servers":[{"url":"https://www.ninar.ai"}],"tags":[{"description":"Contact and campaign integration endpoints.","name":"CRM"},{"description":"AI visibility endpoints used by supported integrations.","name":"Visibility"}]}
