{"rule_id":"AB-039","category":"openapi","icon":"📋","title":"API Spec at Standard Location","short_description":"Your API specification is published at the standard location agents expect.","user_value":"Agents look for API specs in standard places. If yours is elsewhere, they may never find it.","wrong_example":"API spec exists but at a non-standard URL. Agents don't know where to look.","right_example":"API spec is at the standard location, so agents find it immediately.","effort_hint":"quick","estimated_cost":"$0","severity":"high","pillar":"discovery","version":"1.0.0","counted_in_score":true,"check":{"type":"http_fetch","sources":["openapi_standard"],"target":"/openapi.json"},"fix":{"eligible":true,"type":"deterministic","note":"Serve OpenAPI spec at /openapi.json"},"checklist_anchor":"#AB-039","checklist_url":"/agent-readiness-checklist#AB-039","html_url":"/rules/AB-039","json_url":"/rules/AB-039.json","related_rules":[{"rule_id":"AB-040","title":"API Paths Defined","category":"openapi"},{"rule_id":"AB-041","title":"API Paths Reachable","category":"openapi"},{"rule_id":"AB-042","title":"Response Matches Spec","category":"openapi"},{"rule_id":"AB-043","title":"API Version Identified","category":"openapi"},{"rule_id":"AB-044","title":"API Title","category":"openapi"},{"rule_id":"AB-076","title":"OpenAPI Paths Reachable","category":"openapi"},{"rule_id":"AB-077","title":"OpenAPI Response Matches Spec","category":"openapi"},{"rule_id":"AB-078","title":"Payment Info in OpenAPI","category":"openapi"}]}