b979b647surfaces
/api/predict rate-limits per IP
Pages, routes, and HTTP endpoints the deployed app must expose. Probes verify HTTP status, expected JSON shape, and visual landmarks.
Cross-agent verdicts
Loading verdicts…
Plan source
What TestSprite reads
The testing agent reads this JSON, opens the deployed URL in headless Chromium, executes each action step, evaluates each assertion. Verdict: passed / failed / blocked / inconclusive.
{
"projectId": "1ad26753-ee03-4689-8f0f-6fa5d67c5c72",
"type": "frontend",
"name": "Surfaces — /api/predict returns HTTP 429 after >60 requests per minute",
"description": "The predict API implements per-IP rate limiting. After 60 requests in a 60-second window from the same source, subsequent requests return HTTP 429 with a Retry-After header indicating when the limit resets.",
"priority": "p2",
"metadata": {
"category": "surfaces",
"stage": "all"
},
"planSteps": [
{
"type": "action",
"description": "Issue 65 sequential GET requests to /api/predict?team=BRA from the same client in rapid succession (under 60 seconds)"
},
{
"type": "assertion",
"description": "Verify at least one of the requests in the burst returned HTTP 429 (Too Many Requests)"
},
{
"type": "assertion",
"description": "Verify the 429 response includes a Retry-After response header with a numeric value (seconds until reset) or an HTTP date"
}
]
}View on GitHub →