{"info":{"description":"Read-only discovery of machine-readable quantitative failure evidence. Signed submissions are quarantined.","title":"OpenQFR API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/api/v1/failures":{"get":{"parameters":[{"in":"query","name":"symbol","schema":{"type":"string"}},{"in":"query","name":"generation","schema":{"type":"string"}},{"in":"query","name":"failure_code","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Matching records"}},"summary":"Search public QFR records"}},"/api/v1/failures/submit":{"post":{"responses":{"202":{"description":"Pending review"},"401":{"description":"Invalid signature"},"422":{"description":"Invalid QFR"}},"summary":"Submit a signed QFR record to quarantine"}},"/api/v1/failures/{record_id}":{"get":{"parameters":[{"in":"path","name":"record_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"QFR record"},"404":{"description":"Not found"}},"summary":"Get one public QFR record"}},"/api/v1/stats":{"get":{"responses":{"200":{"description":"Statistics"}},"summary":"Public record statistics"}},"/health":{"get":{"responses":{"200":{"description":"Healthy"}},"summary":"Health and record counts"}}},"servers":[{"url":"https://openqfr.dev"}]}