# OneTrial > One API call that answers "should this signup get a free trial?" -> allow / challenge / deny. Trial-abuse prevention for SaaS. - Full reference (token-efficient): https://onetrial.dev/llms-full.txt - OpenAPI 3.1: https://onetrial.dev/openapi.json - Dashboard: https://onetrial.dev/dashboard - Snippet: - Decide: POST https://onetrial.dev/api/v1/decisions (Authorization: Bearer ot_test_...) body { visitorToken, email, ip, cardFingerprint?, userId?, event?: "signup" | "promo", promoCode? } - Coupon abuse: send event:"promo" with promoCode at redemption. Promo events never count as consumed trials. - Verify integration: GET https://onetrial.dev/api/v1/integration/status - Errors always: { error: { code, message, fix } } - MCP server: npx @onetrial/mcp (tools: create_test_api_key, get_integration_guide, verify_integration, query_decisions, update_thresholds) - One-command install: npx onetrial init