Limits And Quotas

This page is the public quota reference for Hooksbase projects. Use it when you need to know whether an event workflow, agent trigger, replay, file upload, or observability stream fits the current project tier.

Tier quota presets

Project quotas are seeded from the project tier. Enterprise projects can receive custom quotas from Hooksbase, but the public default is:

TierMonthly deliveriesIngest rateStored payloadsFile storageBacklogReplay / 24hHistoryPayload
Free5,0003 req/s50 MB0500507 days3 days
Starter25,00010 req/s500 MB5 GB2,00050014 days7 days
Pro250,00025 req/s2 GB20 GB10,0005,00030 days14 days
Business1,500,00050 req/s5 GB100 GB25,00015,00030 days14 days
Enterprise10,000,000100 req/s10 GB500 GB50,00050,00030 days14 days

Active webhooks are unlimited on every tier.

Monthly deliveries are project-level. Ingest rate, stored payload bytes, file storage bytes, backlog depth, replay volume, history retention, and payload retention can also be tightened per webhook by webhook quota overrides.

Feature gates

CapabilityFreeStarterProBusinessEnterprise
HTTP, email, and form ingestYesYesYesYesYes
Raw file content from email/form ingestMetadata onlyYesYesYesYes
Provider packsNoYesYesYesYes
Classic payload transformsNoYesYesYesYes
Automations / Code Mode transformsNoYesYesYesYes
Self-service automation egress policiesNoNoNoNoYes
Custom retry policies and outbound headersNoYesYesYesYes
Recurring webhook schedulesNoYesYesYesYes
Bulk replay and bulk DLQ re-driveNoYesYesYesYes
Typed non-HTTP destinationsNoNoYesYesYes
Strict FIFO, default delay, and throttlingNoNoYesYesYes
Operator alertingNoNoYesYesYes
Audit log APINoNoNoYesYes
Event drains0013Unlimited

Single delivery replay and single DLQ re-drive are available on every tier when the retained payload still exists and replay quota headroom is available.

Automation quotas

Automations run on Starter, Pro, Business, and Enterprise when the runtime is enabled for the deployment. Free projects cannot run Automations.

TierAutomationsActiveVersions / automationRuns / monthCPU ms / monthSubrequests / monthLogs / monthWorker creations / dayConcurrent
Starter21205,000250,00010,00010 MB51
Pro533025,0001,000,00050,00050 MB103
Business10550100,0005,000,000250,000100 MB205
Enterprise50252001,000,00050,000,0002,000,0001 GB10025

Per-run caps are also enforced:

TierCPU ms / runSubrequests / runLogs / run
Starter100516 KB
Pro2501032 KB
Business1,0002064 KB
Enterprise1,0002064 KB

Default outbound egress is blocked. Starter, Pro, and Business projects can run Automations with default egress blocked unless Hooksbase support attaches a policy. Enterprise projects can self-manage exact-host egress policies and gateway credentials.

Payload and file limits

  • HTTP ingest request bodies are capped at 10 MB.
  • Form ingest accepts application/x-www-form-urlencoded and multipart/form-data.
  • Email and form files have a per-file limit of 15 MB.
  • Email and form ingest have a total file limit of 50 MB per event.
  • Free-tier projects keep file metadata only. They do not upload file content or emit fileRef objects.
  • Paid projects store accepted file content while file-storage quota and payload retention allow it.
  • fileRef.url values are signed for 7 days. The authenticated file route remains the durable access path during retention.

Form uploads that exceed file limits return 413. Email attachments that exceed file limits are kept as metadata only, so the email is not bounced just because an attachment was too large.

Retention and analytics windows

History retention controls delivery, attempt, DLQ, replay, and audit-log rows. Payload retention controls retained source payloads, dispatch snapshots, and file objects. Replays fail with 409 when the required retained payload artifact is gone.

Analytics routes use fixed windows:

  • GET /v1/webhooks/{id}/metrics supports window=1h, 24h, 7d, and 30d
  • GET /v1/webhooks/{id}/backlog supports the same window values
  • both routes default to 24h when window is omitted
  • GET /v1/usage uses explicit from and to timestamps instead

DLQ export is cursor-paginated but each export page is capped at 20 rows and includes base64 payload bodies when retained source payloads are still available.

Overage and quota failures

Paid projects can opt into monthly-delivery overage. Free projects are always hard-blocked at the monthly delivery limit.

Runtime quota failures use these status codes:

  • 429 for ingest rate, replay volume, and monthly deliveries
  • 409 for stored payload bytes, file storage bytes, and backlog depth
  • 403 when the request uses a feature below the project tier

Quota error responses include the quota name, scope, limit, current usage, attempted delta, and optional retryAfterSec.

Related routes:

  • GET /v1/project
  • PATCH /v1/project
  • GET /v1/usage
  • GET /v1/webhooks/{id}/metrics
  • GET /v1/webhooks/{id}/backlog
  • GET /v1/dlq/export

Common mistakes

  • Treating the monthly delivery quota as a per-webhook limit. It is project-level.
  • Expecting free-tier email or form uploads to persist file content. Free keeps metadata only.
  • Waiting past payload retention and expecting replay to recover the original body.
  • Using analytics from/to on metrics or backlog routes. Those routes use window.
  • Assuming event drains are available on Starter. Drains start at Pro.

Was this page helpful?