Requests per minute
The window is a fixed minute, not a rolling one. A project with no active plan gets the free limit.
Response headers
Every response carries your current state:429 with:
X-RateLimit-Remaining and back off before you hit zero, rather than waiting for the 429.
Workflow execution burst limit
Starting workflow executions has a second, tighter limit measured per second and per workflow. It stops a single runaway workflow from consuming your whole per-minute budget.
Exceeding it returns
429 with its own headers:
Meta’s limits are separate
The WhatsApp API proxies Meta. Meta enforces its own throughput and messaging limits on top of Kapso’s, so a request can pass Kapso’s limit and still be rejected upstream:Handling 429
Retry with exponential backoff, honoringRetry-After:

