{"openapi":"3.0.0","info":{"title":"MAP Verified Signal API","version":"2.0.0","description":"MAP Signal Layer — verification signals, MIQ indices, and ledger data for institutional access and prediction market settlement.","contact":{"email":"institutional@mediaalertpress.com"}},"servers":[{"url":"https://apimediaalertpress.com","description":"Production"},{"url":"https://mediaalertpress.com/wp-json/map/v1","description":"WordPress REST"}],"paths":{"/verify":{"post":{"summary":"Verify a URL and return MAP signals","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url","plan","user_id","site"],"properties":{"url":{"type":"string","format":"uri","description":"URL to verify"},"plan":{"type":"string","enum":["FREE","CREATOR","BUSINESS","PUBLISHER","ENTERPRISE"]},"user_id":{"type":"string"},"site":{"type":"string","format":"uri"},"category":{"type":"string"}}}}}},"responses":{"200":{"description":"MAP Context analysis result"},"400":{"description":"Invalid request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Usage limit reached"}}}},"/ledger":{"post":{"summary":"Write a verification record to the immutable MAP ledger","description":"Used internally by WordPress MAP plugin for ledger sync. Records are SHA-256 hash-chained.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["record_id","record_hash","url","timestamp"],"properties":{"record_id":{"type":"string","format":"uuid"},"record_hash":{"type":"string","description":"SHA-256 chain hash"},"record_index":{"type":"integer"},"url":{"type":"string","format":"uri"},"domain":{"type":"string"},"signals":{"type":"string","description":"JSON-encoded signal data"},"tier":{"type":"string"},"vertical":{"type":"string"},"timestamp":{"type":"integer","description":"Unix timestamp"},"previous_hash":{"type":"string"}}}}}},"responses":{"200":{"description":"Record stored successfully"},"400":{"description":"Missing required field"},"409":{"description":"Duplicate record_id"},"500":{"description":"Storage error"}}}},"/indices/miq/all":{"get":{"summary":"Get all MAP Information Quality Index sector scores","description":"Returns live MIQ scores for Technology, Finance, Healthcare, Energy, and Global sectors. Falls back to baseline scores if live data unavailable.","responses":{"200":{"description":"MIQ sector scores","content":{"application/json":{"schema":{"type":"object","properties":{"technology":{"type":"number"},"finance":{"type":"number"},"healthcare":{"type":"number"},"energy":{"type":"number"},"global":{"type":"number"},"generated_at":{"type":"string","format":"date-time"},"source":{"type":"string","enum":["live","fallback"]}}}}}}}}},"/feeds/csv/miq":{"get":{"summary":"Download MIQ data as CSV — public, no auth required","description":"Returns MIQ sector scores as CSV. Suitable for AWS Data Exchange and automated data pipelines.","responses":{"200":{"description":"CSV file with MIQ sector scores","content":{"text/csv":{"schema":{"type":"string"}}}}}}},"/openapi.json":{"get":{"summary":"This OpenAPI specification","responses":{"200":{"description":"OpenAPI 3.0 spec"}}}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}}}