Plan limits

Exactly what happens when your account hits a quota — for each of the four metrics.

Plan limits

Skryx caps four metrics per plan: product records, monthly searches, indexes, and team members. This page describes the exact behaviour when you hit each one — what's blocked, what keeps working, what emails fire, and how to recover.

# Monthly searches

The metric: every POST to /v1/indexes/{name}/query counts as one search. Refinements (filter, sort, paginate) each add one.

Behaviour over the cap: search keeps working. We never break your customer-facing site. Two emails are sent:

  • 80% of cap — heads-up, you're trending past the limit.
  • 100% of cap — confirmation you've crossed; expect an overage line on your next invoice (Stripe billing arrives next sprint; until then, the dashboard surfaces a counter without charging).

Both emails are deduped per billing month, so you'll see at most two search-quota emails per month even on a noisy spike.

Recovery: upgrade to a higher plan — the new cap applies instantly, and the counter is preserved (you don't "reset" by upgrading; the amplification just becomes a smaller percentage of the new cap).

# Product records

The metric: sum of indexed documents across all indexes.

Behaviour over the cap: net-new uploads are hard-blocked. The single-document POST /v1/indexes/{name}/documents endpoint refuses with 429 plus an upgrade hint. Bulk uploads via POST /v1/indexes/{name}/documents/batch refuse the whole batch when even one new doc would push you over. Updates of existing products (same id) are not counted as additions and aren't blocked.

Search on existing products continues to work without limitation.

Recovery: delete unused products, OR upgrade. The cap is computed from the current indexed count, so deletions free space immediately.

# Indexes

The metric: number of Index rows in your account.

Behaviour over the cap: creating an index returns 429 with the upgrade hint. Existing indexes continue working — only the create endpoint is blocked. Index deletion is unrestricted.

Recovery: delete an unused index, OR upgrade.

# Team members

The metric: active users + pending invitations.

Behaviour over the cap: inviting a new member returns the cap message. Pending invitations count toward the limit so a tenant can't queue 20 invites on a 3-seat plan. Revoking a pending invitation or removing a member frees the slot immediately.

Recovery: revoke pending invites, remove inactive members, OR upgrade.

# What this looks like in the dashboard

Hard-blocked metrics surface their message directly on the form that triggered them — there's no surprise modal. Search-quota warnings appear as banner content on the analytics dashboard once you cross 80%; the banner is dismissible per session but the email is sent once per threshold per billing month.

# Tenant-specific overrides

Enterprise customers and case-by-case business arrangements can sit above their plan's column limits via the account_overrides table. Support sets these manually — they appear as numeric columns (max_records, max_searches_monthly, max_indexes) on the override row and take precedence over the plan default. Look in Filament under "Account overrides" if you need to inspect a specific tenant.

# See also

esc