QuotaHound
Basic: For hobbyists, evaluators, and small side projects with one or two API providers in play. You get up to 5 quotas, a 1-hour forecast horizon, full audit log inspection, and GDPR data export and delete. Pro: For developers shipping AI agents in production who need alerts before things break. You get everything in Basic, plus webhooks for quota events, MCP server access for Claude Desktop…
QuotaHound endpoints
| Method | Endpoint | Description |
|---|---|---|
| health | ||
| GET |
health_health_get /health |
Liveness — always 200 if the process is up. |
| GET |
ready_health_ready_get /health/ready |
Readiness — checks DB and Redis. |
| quotas | ||
| GET |
listQuotas /v1/quotas |
List quotas owned by the authenticated tenant. By default returns only active quotas. Pass `include_inactive=true` to include soft-deleted ones (their usage history is preserved… |
| PATCH |
updateQuota /v1/quotas/{quota_id} |
Partial update — pass only the fields you want to change. Updating `limit_value` or `window_seconds` invalidates the forecast cache for this quota; the next pre-flight call will… |
| GET |
getQuotaStatus /v1/quotas/{quota_id}/status |
Current rolling-window usage. Cheap read — no forecasting. |
| DELETE |
deleteQuota /v1/quotas/{quota_id} |
Soft delete — sets is_active=False so historical usage is preserved. |
| GET |
getQuota /v1/quotas/{quota_id} |
Fetch one quota by its UUID. 404 if it doesn't exist or isn't yours. |
| POST |
createQuota /v1/quotas |
Create a new quota — a tracked resource constraint to forecast against. The `quota_type` declares the dimension being limited (rpm = requests per minute, daily_tokens = tokens… |
| usage | ||
| POST |
recordUsageBatch /v1/usage/batch |
Record up to 1000 usage events in one request. Best-effort: invalid events are reported in `errors`, valid ones are still committed. Note: batch ingestion does NOT fire per-event… |
| POST |
recordUsage /v1/usage |
Record a single usage event. Metadata is PII-redacted before storage; the response includes the SHA-256 of the original metadata so you can correlate events to your own logs… |
| preflight | ||
| POST |
checkQuotaBatch /v1/preflight/batch |
Atomic batch check — useful when an agent plans a sequence of calls against multiple quotas. Returns one verdict per check; `all_allowed` is True iff every individual check passes. |
| POST |
checkQuota /v1/preflight |
Will my next N units succeed? Returns allow/deny + reasoning. Allow = current usage + planned units fits under the limit AND the forecast doesn't predict exhaustion at high… |
| providers | ||
| GET |
get_providers_v1_providers_get /v1/providers |
Curated registry of supported providers and their default rate limits. Limits shown are reasonable defaults from public 2026 documentation. Your actual limits depend on your… |
| webhooks | ||
| DELETE |
delete_webhook_v1_webhooks__webhook_id__delete /v1/webhooks/{webhook_id} |
|
| POST |
test_fire_v1_webhooks__webhook_id__test_fire_post /v1/webhooks/{webhook_id}/test-fire |
|
| GET |
get_webhook_v1_webhooks__webhook_id__get /v1/webhooks/{webhook_id} |
|
| PATCH |
update_webhook_v1_webhooks__webhook_id__patch /v1/webhooks/{webhook_id} |
|
| GET |
list_deliveries_v1_webhooks__webhook_id__deliveries_get /v1/webhooks/{webhook_id}/deliveries |
|
| GET |
list_webhooks_v1_webhooks_get /v1/webhooks |
|
| POST |
create_webhook_v1_webhooks_post /v1/webhooks |
|
| anomalies | ||
| POST |
trigger_scan_v1_anomalies_scan_post /v1/anomalies/scan |
Run anomaly detection right now across all active quotas this tenant owns. Idempotent — duplicates are silently skipped via dedupe key (quota_id, kind, bucket_start). |
| GET |
get_anomalies_v1_anomalies_get /v1/anomalies |
List detected anomalies, newest first. Anomalies are populated by either the auto-scan loop (runs every 5 min for Ultra/Mega tenants) or by `POST /v1/anomalies/scan` for… |
| tools | ||
| GET |
get_openai_tools_v1_tools_openai_get /v1/tools/openai |
Returns the four tools formatted for OpenAI's `tools` parameter. Pass `?strict=true` to enable strict mode (additionalProperties: false everywhere, all properties required,… |
| GET |
get_anthropic_tools_v1_tools_anthropic_get /v1/tools/anthropic |
Returns the four tools formatted for the `tools` parameter of the Anthropic Messages API. Drop directly into your client.messages.create call. |
| GET |
get_mcp_tools_v1_tools_mcp_get /v1/tools/mcp |
Returns the four QuotaHound agent tools in the MCP `Tool` shape (name + description + inputSchema). This is the canonical source; the Anthropic and OpenAI endpoints are derived… |
| audit-log | ||
| GET |
exportAudit /v1/audit-log/export |
Full chain dump for offline verification. Includes a manifest header (genesis_hash, entry_count, exported_at) plus every entry oldest-first. Pair with `scripts/verify_audit.py`… |
| GET |
listAudit /v1/audit-log |
List the tenant's most recent audit entries, newest-first. The audit log records administrative actions (quota CRUD, webhook CRUD, GDPR operations) — not data-plane events. For… |
| GET |
verifyAudit /v1/audit-log/verify |
Server-side chain replay. Returns verified=true iff every entry's payload_hash and this_hash recompute correctly AND every prev_hash chains back to the previous entry's… |
| explain | ||
| GET |
listForecastMethods /v1/explain/methods |
Return the static catalog of forecasting methods and the auto-selection rules. No auth required — this is documentation, identical for every caller. Used by the trust page and by… |
| GET |
explainForecast /v1/explain/forecast |
Return the full explanation of a forecast — what method was used, why it was chosen, what data it saw, and how the confidence value was computed. Same plan-tier horizon limits… |
| data | ||
| POST |
exportTenantData /v1/data/export |
Returns a complete dump of all data we hold for this tenant. Sections: tenant info, quotas, usage events, webhooks (with secrets redacted), webhook deliveries, audit log entries,… |
| POST |
deleteTenantData /v1/data/delete |
Hard-deletes all tenant-owned data. Irreversible. Two-factor confirmation required: 1. `confirmation` must equal the exact phrase shown in the schema documentation. 2.… |
| Other endpoints | ||
| GET |
root__get / |
|
QuotaHound pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | 1000 / hour |
|
| PRO | $25 / month | 10000 / hour |
|
| ULTRA | $75 / month | 100000 / hour |
|
| MEGA | $150 / month | 1000000 / hour |
|