When the limit is reached, the API returns
429 Too Many Requests with a
retry_in_seconds field in the response body, and the same number in the Retry-After
header:
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Which endpoints are rate limited and how to handle 429 responses.
| Endpoint | Limit |
|---|---|
POST /members | 100 new members an hour per workspace. Members created by a pushed event count too. |
POST /calendar_events | 1,000 pushes a minute per workspace. |
POST /bots | 100 bots an hour per workspace. |
POST /workspaces | 20 workspaces a day per API user, archived ones included. |
429 Too Many Requests with a
retry_in_seconds field in the response body, and the same number in the Retry-After
header:
{
"errors": [{ "code": "rate_limited", "message": "Too many requests. Try again in 42 seconds." }],
"retry_in_seconds": 42
}
async function createMember(body) {
while (true) {
const res = await fetch('https://api.meetingkit.com/api/v1/members', {
method: 'POST',
headers: {
authorization: process.env.MEETINGKIT_API_KEY,
'happyscribe-version': '2026-10-12',
'content-type': 'application/json',
},
body: JSON.stringify(body),
});
if (res.status !== 429) return res.json();
const seconds = Number(res.headers.get('retry-after') ?? 60);
await new Promise((r) => setTimeout(r, seconds * 1000));
}
}