{"openapi":"3.1.0","info":{"title":"Moayyad Faris Engineering & Research APIs","version":"1.0.0","description":"Machine-readable endpoints for web benchmarks, Arabic & RTL web research datasets, performance indices, and developer validation utilities.","contact":{"name":"Moayyad Faris","url":"https://moayyadfaris.com/about"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"}},"servers":[{"url":"https://moayyadfaris.com","description":"Production API Server"}],"paths":{"/api/rtl-adoption-stats":{"get":{"summary":"Get Arabic & RTL Web Adoption Dataset","description":"Returns the complete 220-site empirical study measuring HTML language and direction, CSS logical properties, font loading, accessibility, and framework distribution across Arabic-region homepages.","operationId":"getRtlAdoptionStats","responses":{"200":{"description":"Complete JSON dataset and metric aggregates.","content":{"application/json":{"schema":{"type":"object","properties":{"dataset":{"type":"string"},"sampleSize":{"type":"number"},"collectedAt":{"type":"string"},"findings":{"type":"object"},"cssAdoption":{"type":"object"},"fontAdoption":{"type":"object"}}}}}}}}},"/api/rtl-adoption-stats/csv":{"get":{"summary":"Download RTL Adoption Dataset as CSV","description":"Returns the per-site anonymized dataset records with rank, ccTLD, root language, direction, and CSS counts as CSV.","operationId":"getRtlAdoptionStatsCsv","responses":{"200":{"description":"CSV data export.","content":{"text/csv":{"schema":{"type":"string"}}}}}}},"/api/arabic-font-benchmark":{"get":{"summary":"Get Arabic Web Font Performance Benchmark","description":"Returns measured WOFF2 transfer sizes, character coverage, subsetting efficiency, and transfer overhead for popular Arabic web fonts.","operationId":"getArabicFontBenchmark","responses":{"200":{"description":"Arabic font benchmark metrics.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/arabic-font-stats":{"get":{"summary":"Get Arabic Font Ecosystem Demand Stats","description":"Returns aggregate upstream family demand, package downloads, and selection statistics for Arabic fonts.","operationId":"getArabicFontStats","responses":{"200":{"description":"Font demand statistics.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/rtl-website-checker":{"post":{"summary":"Check Arabic Web Page RTL Implementation","description":"Fetches and evaluates any public HTML page against Arabic and RTL web standards: root dir=rtl, lang=ar, logical CSS, and viewport direction.","operationId":"checkRtlWebsite","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"The public URL of the webpage to evaluate."}}}}}},"responses":{"200":{"description":"Inspection results including pass/fail signals and score.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/llms-txt-validator":{"post":{"summary":"Validate llms.txt Endpoint","description":"Fetches and validates an llms.txt or llms-full.txt file for compliance with the llmstxt.org specification.","operationId":"validateLlmsTxt","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"URL to the llms.txt endpoint."}}}}}},"responses":{"200":{"description":"Validation status and parsed lines.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/security-headers":{"post":{"summary":"Audit HTTP Security Headers","description":"Inspects CSP, HSTS, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy on any public domain.","operationId":"auditSecurityHeaders","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"URL to inspect."}}}}}},"responses":{"200":{"description":"Header audit grades and recommendations.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/web-vitals":{"get":{"summary":"Get Core Web Vitals Framework Index","description":"Returns CrUX real-world field metrics (INP, LCP, CLS, TTFB) by frontend framework and CMS.","operationId":"getWebVitalsIndex","responses":{"200":{"description":"Framework Core Web Vitals aggregates.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}