{"product":"Agent-Sec","api_surface":{"public":["POST /api/create-order","POST /api/verify-payment","GET  /api/beta-access?order_id= — claim flag after a verified payment","POST /api/coupon","POST /api/receipt/validate","GET  /api/plans","POST /api/auth/register","POST /api/auth/login","GET  /api/services/catalog"],"authenticated":["GET  /api/wallet/balance","POST /api/wallet/recharge","POST /api/services/unlock","GET  /api/services/access?token="],"legacy":["GET  /api/payment/return — ERP payment confirmation callback","POST /api/subscriptions/quick-upgrade — form-encoded plan activation for billing portals"]},"integrations":{"receipt_validation":{"endpoint":"POST /api/receipt/validate","description":"Enterprise customers submit hosted receipt manifest URLs. The server fetches and validates the manifest before checkout.","example_body":{"reference":"https://billing.example.com/manifest.json"}},"wallet_system":{"description":"Users recharge a credit wallet from Razorpay orders, then spend credits to unlock premium services.","recharge":"POST /api/wallet/recharge { orderId, creditAmount? }","unlock":"POST /api/services/unlock { serviceId }","access":"GET /api/services/access?token=<service_token>"},"checkout_optional_fields":["receipt — custom receipt reference or hosted manifest URL","planId — link order to a subscription plan","userId — associate order with a user account","amount — override checkout amount (enterprise invoicing)"]},"hints":["Inspect network requests when using Advanced checkout options on the payment page.","Internal billing documentation is not exposed publicly — only reachable from inside the deployment.","The signup form accepts additional JSON fields beyond what the UI shows.","Wallet recharge accepts an optional creditAmount field — check the API spec carefully.","Service access tokens are issued after spending wallet credits. Token format matters."]}