Okapi

Quotas & usage

Self-host: entitlements

Every organization resolves a single set of effective entitlements — event/log/span quota per day, seats, projects, retention, ingest rate — as the greater of whatever a license has stamped and whatever it's been separately granted, falling back to the instance's OKAPI_* environment defaults for anything not stamped, and treating an unset quota/seat/project limit as unlimited. A self-host license stamps only the seat limit, so self-host ingest is not quota-limited at all. The only caps in play are your env defaults for retention (OKAPI_EVENT_RETENTION_DAYS, OKAPI_LOG_RETENTION_DAYS, OKAPI_TRACE_RETENTION_DAYS), the per-key ingest rate (OKAPI_INGEST_RATE_LIMIT), and the backlog limits for pending ingest (OKAPI_INGEST_QUEUE_LIMIT) and pending performance items (OKAPI_APM_QUEUE_LIMIT). Self-host plans are seat-limited, not volume-limited — see Self-host vs. cloud. The downloaded compose file does not pass OKAPI_INGEST_RATE_LIMIT, OKAPI_QUOTA_OVERAGE_PERCENT, OKAPI_TRACE_RETENTION_DAYS, OKAPI_INGEST_QUEUE_LIMIT or OKAPI_APM_QUEUE_LIMIT; set them in an override file, as described in Setting variables the compose file does not list.

Cloud: daily-slice quotas

Okapi Cloud is not open for signup yet. This section describes how its quotas will work when it opens.

Cloud plans meter events and logs against a daily slice of the monthly band (the monthly number ÷ 30) rather than a hard monthly ceiling. Three organization-level states apply independently to events and to logs:

  • Normal — under the daily quota. Everything is accepted.
  • Overage — over the daily quota but within a soft ceiling (OKAPI_QUOTA_OVERAGE_PERCENT, 150% by default). Everything is still accepted; the day is flagged as an overage day.
  • Dropping — past the soft ceiling. Ingest answers 429 for that category until midnight UTC.

This is deliberate spike protection: one bad deploy costs you a day, never your month. A single incident that blows past your daily budget doesn't touch tomorrow's quota, and up to 150% of a normal day still gets through in full.

If an organization racks up more than a handful of overage days within a trailing 30-day window, that category clamps back down to the plain daily quota (no more 150% grace) until usage settles — a safeguard against sustained overuse rather than genuine one-off spikes.

What a 429 looks like

When ingest drops a category, the response carries the same headers Sentry SDKs already know how to back off from:

  • Retry-After — seconds to wait.
  • X-Sentry-Rate-Limits — names exactly which categories were dropped (error, log_item, transaction, span, or several of them) and the scope/reason.

If only part of a mixed envelope is over quota (say, logs but not the error in the same batch), you still get a 200 with X-Sentry-Rate-Limits set for just the dropped category — the rest of the envelope is accepted normally.

Usage page

Every organization has a Usage view (organization settings) showing today's accepted counts and quota state for events, logs and spans, so you can see a spike coming before it costs you anything.

Next: Licensing for how self-host entitlements get activated in the first place.