| name | abridge-rate-limits |
| description | Implement Abridge rate limiting, backoff, and session throttling patterns.
Use when handling 429 errors, managing concurrent encounter sessions,
or optimizing API throughput for high-volume clinical deployments.
Trigger: "abridge rate limit", "abridge 429", "abridge throttling",
"abridge concurrent sessions".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*) |
| version | 1.4.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","healthcare","ai","abridge","rate-limiting"] |
| compatibility | Designed for Claude Code |
Abridge Rate Limits
Overview
Abridge enforces rate limits per organization to ensure platform stability across thousands of concurrent clinical encounters. Limits vary by contract tier and are enforced at the org_id level.
Rate Limit Tiers
| Tier | Concurrent Sessions | API Calls/min | Note Generations/min | WebSocket Connections |
|---|
| Pilot | 10 | 60 | 10 | 10 |
| Standard | 100 | 600 | 50 | 100 |
| Enterprise | 1,000+ | 6,000 | 500 | 1,000 |
Response Headers
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1711234567
Retry-After: 30
Instructions
Step 1: Rate Limit Aware Client
interface RateLimitState {
remaining: number;
limit: number;
resetAt: Date;
retryAfter?: number;
}
class AbridgeRateLimiter {
private state: RateLimitState = {
remaining: Infinity,
limit: Infinity,
resetAt: new Date(),
};
private queue: Array<{ resolve: () => void; reject: (: ) => }> = [];
processing = ;
(: <, >): {
(headers[]) {
.. = (headers[]);
}
(headers[]) {
.. = (headers[]);
}
(headers[]) {
.. = ((headers[]) * );
}
(headers[]) {
.. = (headers[]);
}
}
(): <> {
(.. > ) {
..--;
;
}
waitMs = .(, ...() - .());
.();
( (r, waitMs));
.. = ..;
}
(): {
((.. - ..) / ..) * ;
}
}
{ };