Skip to content
UpVoiced Docs

API guides

Rate limits

Limits are per API key, in fixed one-minute windows. Over a limit the API answers 429 with Retry-After (seconds until the window resets) and the request does not run.

Limits
CallerLimit
API key, reads (GET)600 requests per minute
API key, everything else120 requests per minute
MCP, same keyShares the key’s budget: a call to a write tool counts as a write, every other message as a read
Public reads without credentialsPer client IP address and workspace
Manual webhook redeliveries30 per workspace per hour

Every authenticated request counts, refused ones included. Limits are per key, so one busy integration cannot starve another that uses its own key.

When you hit a limit

HTTP/1.1 429 Too Many Requests
Retry-After: 17
Content-Type: application/json

{ "error": { "code": "rate_limited", "message": "Too many requests; try again later." } }

@upvoiced/sdk retries a 429 automatically after Retry-After, up to maxRetries (default 2) and as long as the wait is under maxRetryDelayMs (default 60 s); see the SDK guide.