Reference
Rate limit
Rate limits and the amount limits applied at creation. Verified accounts have no daily cap.
Rate limit
Going over the limit returns 429 with the code rate_limited. Wait a moment and try again.
| Endpoint | Limit | Scope |
|---|---|---|
All /v1/* | 300 requests / minute | per API key |
| Public checkout page | 120 requests / minute | per IP |
Amount limits
Applied at creation. Values may differ per account; the defaults are below. There is no cap on the number of requests or the total amount per day.
| Limit | Default | Rejected with |
|---|---|---|
| Minimum amount | QRIS Rp1,000 · VA and card Rp10,000 | 422 amount_too_small |
| Maximum amount | Rp10.000.000 | 422 amount_too_large |
| Expiry | 60 minutes (max 24 hours) | 422 expiry_too_long |
A VA maximum can be raised for your account: email halo@kasera.id.
Before onboarding is active
An account whose onboarding is not yet active gets an additional lifetime allowance. It never resets: the only thing that lifts it is completing verification. Payments already received are unaffected, and nothing is lost when the tier is reached — new payment requests are refused until verification is done.
| Limit | Default | Counts | Rejected with |
|---|---|---|---|
| Requests, lifetime | 10 | Every request ever created except canceled ones. Expired and failed requests still count. | 429 unverified_count_cap |
| Total amount, lifetime | Rp1.000.000 | Only money received or still receivable: pending and succeeded. An expired, failed or canceled request releases its share again. | 429 unverified_amount_cap |
Test-mode requests never consume either allowance and are never refused by it. Unlike rate_limited, waiting does nothing here, so retry logic should stop rather than back off.