Skip to main content

Status codes

Errors return JSON with a human-readable message:

Calling limits

Outbound calling is deliberately conservative — your firm’s number is the thing being protected.
The counter resets at UTC midnight. The 51st call is refused before dialing.
A repeat within the window is refused, so a retry loop cannot pester a client.
The window is derived from the recipient’s area code. If the zone cannot be determined, the call is refused rather than guessed.
Numbers on the firm’s DNC list are never dialed, and the check fails closed if the list cannot be read.
High call volume can get a number labeled as spam by carriers, which no API limit can undo. Spread campaigns out.

Idempotency

Call creation is not idempotent: two identical requests create two calls, subject to the two-hour repeat rule. Store the returned call_id and reconcile against it rather than retrying blindly.