KoltrixDocs

Limits and quotas

Koltrix has two kinds of limit:

  • Plan quotas: how much your workspace may use, such as sends per month or domains. They depend on your plan.
  • Rate limits: how fast you may call the API. They are the same on every plan.

The numbers below are generated from the same configuration file the API enforces, so they can't drift from what your workspace actually does. Prices are on koltrix.com/pricing.

Plan quotas

LimitTrialStarterProScale
Team members included2310Unlimited
Domains1210Unlimited
Addresses31050Unlimited
Workspace storage1 GB10 GB50 GBUnlimited
Inbox sends / day505002,000Unlimited
API + SMTP sends / month1,40010,00050,000Unlimited
API + SMTP sends / day200UnlimitedUnlimitedUnlimited
AI actions / month1753002,000Unlimited
AI actions / day25UnlimitedUnlimitedUnlimited
Newsletter contacts1001,00010,000Unlimited

Unlimited means no ceiling is applied. A limit shown as 0 is not available on that plan.

API + SMTP sends is one allowance shared by POST /api/v2/emails and the SMTP relay. Every recipient counts, including cc and bcc. A request that is replayed with an Idempotency-Key doesn't count again.

Inbox sends are messages your team sends from the Koltrix app. They have their own daily allowance and don't use the API allowance.

When quotas reset

WindowResets
Daily00:00 UTC
Monthly00:00 UTC on the 1st of each calendar month

Domains, addresses, seats, contacts and storage don't reset: they are counts of what you have. Remove something or upgrade to make room.

During the trial

Trial caps are tighter, because email infrastructure attracts abuse and every customer shares the sending reputation it would damage.

  • 1 domain, which must pass SPF, DKIM and DMARC before any external send
  • 3 addresses and 2 team members
  • 50 external sends a day from the inbox
  • 200 API and SMTP sends a day
  • 1 GB of storage
  • 25 AI actions a day
  • After 7 days the workspace becomes read-only; after another 30 days without a plan the data is deleted, following three warning emails

What happens at a quota

A request that would go over a quota is refused. Nothing is queued to be sent later.

QuotaWhere it appliesAnswer
API + SMTP sends (daily or monthly)POST /api/v2/emails429 with Retry-After until the reset
API + SMTP sends (daily or monthly)SMTP relay452 4.5.3 at RCPT or DATA
Inbox sends, AI actionsThe Koltrix app429 until the reset
Domains, addresses, seats, contactsThe Koltrix app402
StorageIncoming mailDeferred with 452 4.2.2, not lost

Every quota refusal has the same JSON body, with "code": "quota_exceeded":

{
  "code": "quota_exceeded",
  "error": "You've hit this month's API sending limit. It resets on the 1st, or upgrade to send more now.",
  "kind": "api_sends",
  "limit": 10000,
  "used": 10000,
  "window": "month",
  "resets_at": "2026-11-01T00:00:00Z",
  "upgrade_url": "https://app.koltrix.com/settings/billing"
}
FieldMeaning
codeAlways quota_exceeded. Branch on this.
errorA sentence you can show a person.
kindapi_sends, inbox_sends, ai_actions, domains, addresses, seats, contacts or storage.
limit / usedThe cap and how much is used.
windowday or month for quotas that reset; absent otherwise.
resets_atWhen the quota resets; absent for quotas that don't.
upgrade_urlWhere an owner can change the plan.

Treat a quota refusal as something to tell a person about. Retrying straight away won't work; wait until resets_at or upgrade.

The SMTP relay answers with a temporary 452 on purpose: a mail server that gets it keeps the message and tries again for several days, which gives you time to upgrade instead of losing the mail.

Rate limits

Each API key may make 60 requests per minute to /api/v2, counted over a sliding window. Over that, the API answers:

HTTP/1.1 429 Too Many Requests
Retry-After: 60
 
{"error": "rate limit exceeded — 60 requests per minute per API key"}
  • The limit is per key, so one busy integration can't slow down another that uses a different key.
  • One POST /api/v2/emails can address many recipients, so the request limit rarely limits how much you can send.
  • A rate-limit 429 has no code field. A quota 429 has "code": "quota_exceeded". Handle them differently: wait Retry-After seconds for the first, tell a person about the second.

The Koltrix app and the AI assistants connection have their own limits, sized for people rather than scripts.

If a limit doesn't fit

Email [email protected]. Limits exist to stop abuse and protect the sending reputation every customer shares; a real workload that runs into one is a conversation, not a refusal.