Skip to main content

🛡 Number Protection

Number Protection is built into every plan — it is the wapower promise, not an upsell. Every session is born with warm-up ON and a continuously-updated health and ban-risk state you can always read.

Warm-up

New numbers ramp their daily send volume through a schedule (e.g. 20 → 50 → 120 → 300 → 600 → 1000/day) gated on health: a stage only advances when health stays high, and regresses if health drops. Sends above the current cap are held.

  • POST /v1/sessions/{id}/warmup/start — (re)enable warm-up
  • POST /v1/sessions/{id}/warmup/pause — pause it (consent-gated and logged, see below)

Health & ban-risk states

GET /v1/sessions/{id}/protection and GET /v1/sessions/{id}/health return a 0–100 health score and a risk band:

BandHealthBehaviour
OK≥ 80normal
AT_RISK≥ 40auto-throttle (cap halved)
CRITICAL< 40auto-throttle + automatic pause

The score is driven by report rate, block rate, failed sends and reply rate. When you are throttled, the API blocks over-cap sends with blocked_by_protection and a reason_code.

Ban reasons

GET /v1/protection/ban-reasons returns the catalogue of reason codes (e.g. high report rate, sending to non-contacts, identical bulk content, too-fast ramp). Each alert carries the relevant reason_code plus a recommended action.

GET /v1/sessions/{id}/risk-alerts lists escalating alerts; acknowledge with POST /v1/sessions/{id}/risk-alerts/{alert_id}/ack. Disabling warm-up or raising the rate policy requires a consent token (GET /v1/sessions/{id}/protection/consent) and every disable is recorded for audit — this protects you legally and protects your number.

Best practice

  • Keep warm-up ON, especially in the first weeks.
  • Message people who expect to hear from you; avoid identical bulk content.
  • Watch the ban-risk meter in the dashboard and act on alerts.