{"openapi":"3.1.0","info":{"title":"OpenAPI Launch Pack API","summary":"Generate RapidAPI-ready launch assets from an OpenAPI spec.","description":"Validate an OpenAPI document and generate marketplace-ready launch assets: issues, endpoint summaries, RapidAPI listing copy, curl examples, a Postman collection, and a normalized OpenAPI export.","contact":{"name":"LinkRidge API Tools","url":"https://openapi-launch-pack-api.linkridge.net/","email":"api-support@makersridge.com"},"version":"0.1.0"},"servers":[{"url":"https://openapi-launch-pack-api.linkridge.net","description":"Production"},{"url":"https://dev.openapi-launch-pack-api.mfsoho.linkridge.net","description":"Development"}],"paths":{"/health":{"get":{"tags":["system"],"summary":"Health check","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/admin/metrics":{"get":{"tags":["admin"],"summary":"Early validation metrics","description":"Returns in-memory aggregate counters when an admin key is configured.","operationId":"metrics_admin_metrics_get","parameters":[{"name":"X-Admin-Key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Admin-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Metrics Admin Metrics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/openapi/analyze":{"post":{"tags":["launch-pack"],"summary":"Analyze an OpenAPI spec and generate launch assets","description":"Submit an OpenAPI 3.x document as JSON or YAML. The response includes structural validation findings, endpoint summaries, RapidAPI listing copy, curl examples, a Postman collection, and a normalized OpenAPI document with production server metadata.","operationId":"analyze_openapi_v1_openapi_analyze_post","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeRequest"},"examples":{"jsonSpec":{"summary":"Analyze a small JSON OpenAPI document","value":{"target_server_url":"https://demo-api.example.com","spec":{"openapi":"3.0.3","info":{"title":"Demo API","version":"1.0.0","description":"A small API used to demonstrate launch-pack generation."},"servers":[{"url":"https://demo-api.example.com"}],"paths":{"/health":{"get":{"summary":"Health check","operationId":"health","responses":{"200":{"description":"OK"}}}}}}}}}}}},"responses":{"200":{"description":"Launch pack generated.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Analyze Openapi V1 Openapi Analyze Post"}}}},"400":{"description":"Malformed JSON/YAML or invalid request combination."},"401":{"description":"Missing or invalid API key."},"429":{"description":"Monthly quota exceeded."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AnalyzeRequest":{"properties":{"spec":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Spec","description":"OpenAPI document as a JSON object. Use this for JSON-native clients."},"spec_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spec Text","description":"OpenAPI document as JSON or YAML text. Use this when submitting YAML.","examples":["openapi: 3.0.3\ninfo:\n  title: Demo API\n  version: '1.0'\npaths:\n  /health:\n    get:\n      summary: Health check\n      operationId: health\n      responses:\n        '200':\n          description: OK\n"]},"target_server_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Server Url","description":"Production URL to use when generating examples and normalized OpenAPI servers.","examples":["https://example-api.linkridge.net"]}},"type":"object","title":"AnalyzeRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}