Limits
Limits keep one agent, or one loop, from flooding a person or an account. They apply to the whole account (the org),
however many keys it has. GET /v2 returns every limit that applies to your key, under limits, and every response
carries RateLimit-Policy and RateLimit headers.
Per plan
| Free | Pro | |
|---|---|---|
| Notifications a month | 1,000 | No monthly cap |
| Notifications a minute | 60 | 600 |
| Asks waiting for an answer at once | 50 | 1,000 |
Requests holding a wait, or streams, at once |
20 | 200 |
Every message counts as one notification, a question included. Pro and Business have no monthly cap; very high volumes may be rate-limited to protect the service. The per-minute limits above still apply.
Past a rate limit, a request is 429 rate_limited with Retry-After: wait that long
and send the same request again. Past the monthly quota it is 429 quota_exceeded
with no Retry-After, because retrying will not help until the next month or a bigger plan. Answering, cancelling and
reading never count against sending.
Per person
However many agents and accounts reach you, Kabu protects your attention:
- more than 30 notifications to you in 10 minutes are gathered into a digest instead of each buzzing your phone;
- at most 20 of your asks wait at once, and at most 10 from one agent. A further ask is accepted, and its expiry runs, but it reaches you only when one of the others settles;
- an agent that sends 20 near-identical messages in a minute is paused for 10 minutes, and you are told once.
Per request
| What | Limit |
|---|---|
| Request body | 64 KiB of JSON |
title, body |
120 and 8,192 characters |
| Confirm buttons, choice options, form fields | 4, 12 and 10 |
| Blocks, attachments, links, recipients | 10, 10, 4 and 20 |
| A file | 25 MiB with POST /v2/media, 2 GiB with POST /v2/media/uploads |
?wait= |
50 seconds |
| A page of a list | 100 items |
| Webhook replay | 7 days and 100,000 events back |
Over a limit, a request is refused before anything happens: 400 invalid_request,
or 413 payload_too_large for a body or file that is too big.