{"openapi":"3.0.0","info":{"title":"A3S Server - Accessibility Audit Auto-Sync API","version":"1.0.0","description":"\n      **A3S (Accessibility As A Service)** - A production-ready Node.js TypeScript server \n      that automates the synchronization of accessibility audit data from Google Sheets to a PostgreSQL database.\n      \n      ## Features\n      - ✅ **WCAG Compliance Tracking**: Track compliance with 56 WCAG 2.2 Level A & AA success criteria\n      - ✅ **Real-time Sync**: Keep your database up-to-date with scheduled or on-demand syncs\n      - ✅ **Multi-Project Support**: Manage multiple accessibility projects simultaneously\n      - ✅ **Data Integrity**: Intelligent conflict resolution and duplicate prevention\n      - ✅ **Audit Trail**: Complete logging and monitoring capabilities\n      - ✅ **Performance Monitoring**: Comprehensive metrics and alerting\n      - ✅ **Rate Limiting**: API protection with configurable limits\n      - ✅ **Input Validation**: Robust request validation and sanitization\n      \n      ## Authentication\n      Currently, the API uses IP-based rate limiting. In production, implement proper authentication.\n      \n      ## Rate Limits\n      - General API: 100 requests per 15 minutes\n      - Sync Operations: 10 requests per hour\n      - Health Checks: 60 requests per minute\n      - Dashboard: 200 requests per 5 minutes\n    ","contact":{"name":"A3S Support","email":"support@a3s.com","url":"https://a3s.com"},"license":{"name":"Proprietary","url":"https://a3s.com/license"}},"servers":[{"url":"http://localhost:8080","description":"Development server"},{"url":"https://api.a3s.com","description":"Production server"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API Key for authentication (future implementation)"}},"schemas":{"Error":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Error message"},"message":{"type":"string","example":"Detailed error description"},"timestamp":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"}}},"Success":{"type":"object","properties":{"success":{"type":"boolean","example":true},"message":{"type":"string","example":"Operation completed successfully"},"timestamp":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z"}}}},"responses":{"BadRequest":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"tags":[{"name":"Health","description":"Health check and system status endpoints"},{"name":"Sync","description":"Data synchronization operations"},{"name":"Projects","description":"Project management operations"},{"name":"Metrics","description":"System metrics and monitoring"},{"name":"Rate Limiting","description":"Rate limiting status and configuration"}]}