{"openapi":"3.1.0","info":{"title":"NAGISOT Public API","version":"1.0.0","summary":"Universal WCAG accessibility platform — widget config, AI fixes, scans, captions, reports.","description":"Embed NAGISOT into any third-party platform.\n\n- **Free tier**: WCAG Level A features, 10K API calls/mo, shows a small `Powered by NAGISOT` banner on the customer site (disclosed to the end-customer at signup).\n- **Pro tier**: Adds AA + AI fixes + PDF reports, removes banner, ₪49/mo.\n- **Business tier**: Adds AAA + comprehensive reports, ₪199/mo.\n- **Enterprise**: White-label + on-prem + SLA.\n\nSee `/v1/tiers` for live limits, or fetch `/llms.txt` for an AI-friendly index.","termsOfService":"https://nagis.doogree.co.il/legal/terms","contact":{"name":"NAGISOT","url":"https://nagis.doogree.co.il","email":"idanperiyoel@gmail.com"},"license":{"name":"Commercial","url":"https://nagis.doogree.co.il/legal/terms"}},"servers":[{"url":"https://api.nagis.doogree.co.il","description":"Production"}],"components":{"securitySchemes":{"ApiKeyBearer":{"type":"http","scheme":"bearer","bearerFormat":"pk_live_*"},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"invalid_key"},"detail":{"type":"string"},"upgrade_url":{"type":"string","format":"uri"},"retry_after_seconds":{"type":"integer"}}},"Tier":{"type":"string","enum":["free","pro","business","enterprise"]},"WidgetConfig":{"type":"object","properties":{"fabBg":{"type":"string","example":"#0B1220"},"fabIcon":{"type":"string","example":"#D7B98C"},"accentColor":{"type":"string","example":"#B8956A"},"position":{"type":"string","enum":["br","bl","tr","tl"]},"icon":{"type":"string","example":"human"},"panelTheme":{"type":"string","enum":["auto","light","dark"]},"buttons":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"visible":{"type":"boolean"},"order":{"type":"integer"}}}}}},"UsageReport":{"type":"object","properties":{"month":{"type":"string","example":"2026-05"},"tier":{"$ref":"#/components/schemas/Tier"},"totals":{"type":"object","properties":{"calls":{"type":"integer"},"ai_calls":{"type":"integer"},"scan_calls":{"type":"integer"},"errors":{"type":"integer"}}},"limits":{"type":"object","properties":{"api_calls_per_month":{"type":"integer"},"ai_calls_per_month":{"type":"integer"}}},"days":{"type":"array","items":{"type":"object"}}}}}},"security":[{"ApiKeyBearer":[]},{"ApiKeyHeader":[]}],"paths":{"/v1":{"get":{"summary":"API discovery (root)","description":"Returns metadata about the API: version, doc URLs, OpenAPI URL, pricing URL.","security":[],"tags":["Discovery"],"responses":{"200":{"description":"OK"}}}},"/v1/tiers":{"get":{"summary":"List pricing tiers and their limits","security":[],"tags":["Discovery"],"responses":{"200":{"description":"Tier list"}}}},"/v1/openapi.json":{"get":{"summary":"This OpenAPI document","security":[],"tags":["Discovery"],"responses":{"200":{"description":"OpenAPI 3.1 spec"}}}},"/v1/me":{"get":{"summary":"Inspect the calling API key","tags":["Account"],"responses":{"200":{"description":"Key + user + limits"},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/widget-config/{siteId}":{"get":{"summary":"Get widget config for a site","tags":["Widget"],"parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Resolved widget config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfig"}}}},"403":{"description":"Forbidden"},"404":{"description":"Not found"}}},"put":{"summary":"Update site widget config (requires widget:write scope)","tags":["Widget"],"parameters":[{"name":"siteId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfig"}}}},"responses":{"200":{"description":"Updated"},"400":{"description":"Invalid request"},"403":{"description":"Forbidden"}}}},"/v1/scan":{"post":{"summary":"Trigger an accessibility scan of a URL","tags":["Scans"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"},"siteId":{"type":"string"}}}}}},"responses":{"200":{"description":"Scan started"},"400":{"description":"Invalid request"}}}},"/v1/ai/alt-text":{"post":{"summary":"AI-generate alt text for an image (Pro+ tier required)","tags":["AI"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"image_url":{"type":"string","format":"uri"},"image_b64":{"type":"string","description":"Base64-encoded image bytes"},"lang":{"type":"string","example":"he"}}}}}},"responses":{"200":{"description":"Generated alt text"},"402":{"description":"AI quota exceeded"},"403":{"description":"Feature not available on Free tier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/usage":{"get":{"summary":"Current-month usage for the calling user","tags":["Account"],"responses":{"200":{"description":"Usage report","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageReport"}}}}}}}},"tags":[{"name":"Discovery","description":"Unauthenticated discovery endpoints — start here."},{"name":"Account","description":"Information about the calling key and user."},{"name":"Widget","description":"Manage the accessibility widget config per site."},{"name":"Scans","description":"Trigger and inspect accessibility scans."},{"name":"AI","description":"AI-backed remediation endpoints (Pro+ tier)."}],"x-nagisot-tiers":[{"key":"free","label":"Free","tagline":"WCAG A לכל מי שצריך נגישות. עם שתי פרסומות קטנות שלנו.","priceIlsCents":0,"priceExcludesVat":false,"apiCallsPerMonth":10000,"aiCallsPerMonth":50,"maxSites":1,"maxApiKeys":2,"rateLimitPerMinute":60,"wcagLevels":["A"],"showsPanelCta":true,"showsPageBanner":true,"features":{"aiFixes":false,"pdfReports":false,"comprehensiveReports":false,"captions":false,"customBranding":false,"webhooks":false,"multiSite":false,"prioritySupport":false,"whiteLabel":false,"sla":false}},{"key":"starter","label":"Starter","tagline":"WCAG A בלי הפרסומות שלנו. הבחירה הנפוצה.","priceIlsCents":3000,"priceExcludesVat":true,"apiCallsPerMonth":25000,"aiCallsPerMonth":200,"maxSites":1,"maxApiKeys":3,"rateLimitPerMinute":120,"wcagLevels":["A"],"showsPanelCta":false,"showsPageBanner":false,"features":{"aiFixes":false,"pdfReports":false,"comprehensiveReports":false,"captions":false,"customBranding":false,"webhooks":false,"multiSite":false,"prioritySupport":false,"whiteLabel":false,"sla":false}},{"key":"pro","label":"Pro","tagline":"WCAG AA, תיקוני AI, דוחות PDF, וריבוי אתרים.","priceIlsCents":9900,"priceExcludesVat":true,"apiCallsPerMonth":100000,"aiCallsPerMonth":2000,"maxSites":5,"maxApiKeys":10,"rateLimitPerMinute":300,"wcagLevels":["A","AA"],"showsPanelCta":false,"showsPageBanner":false,"features":{"aiFixes":true,"pdfReports":true,"comprehensiveReports":false,"captions":true,"customBranding":true,"webhooks":true,"multiSite":true,"prioritySupport":false,"whiteLabel":false,"sla":false}},{"key":"business","label":"Business","tagline":"WCAG AAA מלא, דוחות מקיפים, ותמיכה מועדפת.","priceIlsCents":24900,"priceExcludesVat":true,"apiCallsPerMonth":1000000,"aiCallsPerMonth":20000,"maxSites":50,"maxApiKeys":50,"rateLimitPerMinute":1000,"wcagLevels":["A","AA","AAA"],"showsPanelCta":false,"showsPageBanner":false,"features":{"aiFixes":true,"pdfReports":true,"comprehensiveReports":true,"captions":true,"customBranding":true,"webhooks":true,"multiSite":true,"prioritySupport":true,"whiteLabel":false,"sla":false}},{"key":"enterprise","label":"Enterprise","tagline":"White-label, on-prem, ו-SLA. לארגונים גדולים.","priceIlsCents":null,"priceExcludesVat":true,"apiCallsPerMonth":9007199254740991,"aiCallsPerMonth":9007199254740991,"maxSites":9007199254740991,"maxApiKeys":9007199254740991,"rateLimitPerMinute":5000,"wcagLevels":["A","AA","AAA"],"showsPanelCta":false,"showsPageBanner":false,"features":{"aiFixes":true,"pdfReports":true,"comprehensiveReports":true,"captions":true,"customBranding":true,"webhooks":true,"multiSite":true,"prioritySupport":true,"whiteLabel":true,"sla":true}}]}