Actions
Task #929
closedPE-1814: Add API usage analytics and rate limiting
Status:
Done
Priority:
High
Assignee:
-
Target version:
-
Start date:
2026-05-16
Due date:
% Done:
100%
Estimated time:
Description
Problem¶
No visibility into API usage patterns. No per-user rate limiting or quotas.
Missing Features¶
- Per-user API usage dashboard
- Rate limiting by endpoint/user
- Quota enforcement (e.g., 1000 requests/day)
- Usage metrics (requests, bandwidth, compute time)
Implementation Plan¶
- Create api_usage_logs table (timestamp, user_id, endpoint, response_time, status_code)
- Add middleware to log all requests
- Create GET /api/v1/usage/summary endpoint
- Add X-RateLimit-* headers to responses
- Configurable rate limits per endpoint
Rate Limit Configuration¶
| Endpoint | Limit |
|---|---|
| /search | 50/min |
| /personas | 200/min |
| /webhooks | 100/min |
| /health | 1000/min |
Files to Create/Modify¶
- app/Http/Middleware/LogApiUsage.php
- app/Models/ApiUsageLog.php
- database/migrations/ (api_usage_logs)
- routes/api_v1.php (usage endpoints)
- config/api.php (rate limits)
Benefits¶
- Prevent abuse
- Track usage patterns
- Identify performance issues
- Enable tiered pricing
Actions