YASend API

Safety & warm-up

WhatsApp restricts or bans numbers that behave like bulk senders. YASend's safety engine makes each number behave like a careful human, so your number keeps working. These rules apply to every plan and every API call.

Pacing

Default per number
Delay between messages 3–8 seconds, randomised
Per minute 10 messages
Per hour 60 messages
Per day (fully warmed up) 200 messages
Same recipient Spaced out: a burst to one person is refused with RATE_LIMITED

Sync sends wait out the delay, which is why they take a few seconds. Async sends queue and go out at this pace.

Warm-up

New numbers start small and grow with age:

Days since linked Messages per day
1–2 10
3–4 20
5–7 50
8–14 100
15–30 150
after 30 200

During the first two days, sending also requires:

  • a profile name and photo on the WhatsApp account;
  • at least one received message: ask someone to message the number from their phone.

Messages to the linked number itself (WhatsApp's "Message yourself" chat) skip these two checks, so you can test your setup straight away. The dashboard shows which checks a number still needs (WhatsApp numbers → your number → Before you message customers).

Over the cap, sends are refused with 429 WARMUP_RESTRICTED; async messages wait for the next day.

Your plan's daily limit (500 per session) is a ceiling above these values. The safety engine is what actually governs each number.

Health

Each number has a health score (GET /v1/sessions/{id}/health), based on delivery failures, blocks, replies and disconnects.

  • Low health slows sending down.
  • Hard evidence of trouble stops sending with SESSION_AT_RISK until it recovers. Examples: repeated delivery errors, or WhatsApp refusing messages.
  • Alerts arrive as the session.alert webhook.

Content rules

  • Refused: messages that are only a link, and texts with banned terms (CONTENT_BLOCKED).
  • Duplicates: the same text sent again and again is refused as duplicate spam. Templated messages (templateKey) are exempt.

Best practices

  • Message people who expect it (opt-in), and give them a way to reply and stop.
  • Replies are the best health signal. Conversations look human; cold one-way blasts don't.
  • Vary your wording, and avoid link-heavy messages.
  • Spread volume across numbers (multi-number pooling on the Advanced plan) instead of pushing one number to its limits.