Rate Limiting
urelay enforces daily limits on new contacts per phone line to prevent spam and protect your phone numbers.
How it works
Each phone line has a daily_contact_limit (default: 50). This limits the number of new contacts you can message per day per line.
What counts as a "new contact"
A contact is considered new if:
- You have never exchanged messages with them on this phone line
- They have not sent you a message first (inbound-first contacts are free)
What does NOT count
- Contacts who messaged you first (they initiated the conversation)
- Contacts with any prior message history on the line
- Follow-up messages to existing contacts (unlimited)
Rate limit error
If you exceed the daily limit, the API returns:
{
"error": {
"code": "rate_limit_exceeded",
"message": "Daily new contact limit reached for this phone line",
"details": {
"phone_line_id": "cmlsxywe60000qq01704dovyf",
"daily_limit": 50,
"used": 50,
"resets_at": "2026-02-20T00:00:00.000Z"
}
}
}
The HTTP status code is 429 Too Many Requests.
Reset schedule
Limits reset at midnight UTC each day. The resets_at field in the error response tells you exactly when.
Best practices
- Check the rate limit before bulk operations
- Spread outbound messages throughout the day
- Use multiple phone lines for higher throughput
- Prioritize responding to inbound messages (they don't count against the limit)