Concepts
Decisions
Trypema returns decisions that tell you whether to proceed, reject, or shed load.
Every limiter call returns a RateLimitDecision. The provider changes where state lives, but the decision model stays the same.
Allowed
Allowed means the request should proceed.
You will see this:
- below the limit in absolute mode
- below the limit in suppressed mode
- sometimes above the nominal limit in suppressed mode when the probabilistic check still admits the request
Rejected
Rejected is used by the absolute strategy.
It means the limiter hit a hard boundary and the request should not proceed. The decision can also include best-effort hints such as:
retry_after_msremaining_after_waiting
Those are operational hints, not a promise of exact future admission.
Suppressed
Suppressed is used by the suppressed strategy. It carries:
is_allowedsuppression_factor
The important rule is simple: always check is_allowed.
If is_allowed is true, the request may proceed. If it is false, the request should be dropped or degraded.
When each decision shape appears
| Strategy | Decision shapes |
|---|---|
| Absolute | Allowed, Rejected |
| Suppressed | Allowed, Suppressed { is_allowed, suppression_factor } |
What this means for application code
- Absolute mode is easiest when your app wants a hard yes/no answer.
- Suppressed mode is better when your app wants controlled load shedding instead of a cliff-edge cutoff.

