{"openapi":"3.0.3","info":{"title":"Geek Jobs API","version":"1.0.0","description":"API surface for Geek Jobs career intelligence, role analysis, and contact integrations. Protected endpoints require a Supabase access token in the Authorization header."},"servers":[{"url":"https://www.geeksolutions.in"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/ai":{"post":{"summary":"Run career intelligence","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["job_analysis","career_strategy","interview_pack","interview_questions","evaluate_interview_answer","optimize_profile","resume_tailor","application_package","star_story"]},"context":{"type":"object","additionalProperties":true}}}}}},"responses":{"200":{"description":"AI result"},"401":{"description":"Authentication required"},"403":{"description":"Paid plan required"},"429":{"description":"AI usage limit reached"}}}},"/api/contact":{"post":{"summary":"Submit a contact inquiry","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","subject","message"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"subject":{"type":"string"},"message":{"type":"string"},"website":{"type":"string"}}}}}},"responses":{"200":{"description":"Inquiry accepted"},"400":{"description":"Invalid request"}}}},"/api/razorpay/subscription":{"post":{"summary":"Create a Razorpay subscription","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Razorpay subscription details"},"401":{"description":"Authentication required"}}}},"/api/razorpay/verify":{"post":{"summary":"Verify a Razorpay subscription payment","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Payment verified"},"400":{"description":"Invalid payment"}}}}}}