{"openapi":"3.1.0","info":{"title":"Equation Steps","version":"1.0.0","summary":"Step-by-step solutions for linear and quadratic equations in one variable.","description":"Solves linear and quadratic equations in one variable (x) and shows every intermediate step: expanding parentheses, combining like terms, moving terms across the equals sign, and applying the quadratic formula. Built so the sign flips and the ± are always right, which is exactly where hand-worked algebra and casual model answers go wrong.\n\n**Not for:** Not for systems of equations, equations with more than one variable, inequalities, equations involving division by the variable, roots/trig/log of the variable, or anything of degree higher than 2 once expanded. Not a substitute for a full CAS — it covers exactly the linear and quadratic case in one variable and refuses everything else by name rather than guessing at it.\n\nFree tier: 250 calls per UTC day per caller. Past that, endpoints return 402 with x402 payment requirements. An MCP server exposing the same capabilities is available at https://equation-steps.gumballtools.com/api/mcp.","contact":{"url":"https://github.com/bwalvoord/gumball"}},"servers":[{"url":"https://equation-steps.gumballtools.com","description":"Production"}],"externalDocs":{"url":"https://equation-steps.gumballtools.com/llms-full.txt","description":"Full documentation for agents"},"paths":{"/api/v1/run":{"get":{"operationId":"run","summary":"Step-by-step solutions for linear and quadratic equations in one variable.","description":"TODO: describe what this returns and when to call it.","parameters":[{"name":"input","in":"query","required":true,"description":"TODO: exact format, units, and range.","schema":{"type":"string"}}],"responses":{"200":{"description":"The result.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input. The body names the field and how to fix it.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","fix_hint","docs"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string"},"fix_hint":{"type":"string","description":"What to change before retrying."},"field":{"type":"string"},"token":{"type":"string"},"examples":{"type":"array","items":{"type":"string"}},"docs":{"type":"string","format":"uri"}}}}}}}},"402":{"description":"Free quota of 250 calls per UTC day exhausted. Body is an x402 v1 payment requirement ($0.001 per call). While settlement is disabled the body carries payment_enabled: false and the call cannot be unblocked by paying — wait for quota.resetsAt.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}