Skip to content

SMS policy

published · September 24, 2026 · updated · September 26, 2026

An SMS policy is the set of rules an account attaches to its phone lookups — countries, line types, blocked signals, a score ceiling, a live check, opt-outs — deciding ok_to_send.

An SMS policy is the set of seven optional rules an account attaches to every phone lookup it runs — the countries it sends to or never sends to, the line types it refuses, the risk signals that block whenever they fire, a ceiling on the risk score, whether a live check must have reached the handset, and whether a number its suppression list holds as opted out is refused — from which Spaw answers ok_to_send on each response, with blocked_by naming the rule that decided. It turns a 49-field answer into the one boolean a verification step branches on before it pays to send a code.

What Spaw answers

A number that is not valid is blocked first and always, with blocked_by: invalid. Otherwise the rules are applied in a fixed order: an opt-out (opted_out, when the account's suppression list holds the number as opted out and the rule is on), the country (country, which also blocks a number with no country when an allow-list is set), the line type (line_type; fixed_line_or_mobile can never be blocked, because the North American plan does not say which of the two a number is), the first blocked signal in the published weights' order, the score ceiling (risk_score), and last the live-check requirement (unreachable when the network could not reach the handset, unconfirmed when no live check answered). Until an account sets a policy the defaults apply: fictional, disposable, reported_abuse, reported_abuse_widely and premium_rate block, so does any score over 60 and so does an opt-out, every country and line type is allowed, and no live check is required. A sender of one-time codes may switch the opt-out rule off, because an opt-out from marketing does not always forbid a verification code and the person typing the number may be its owner asking for one again. The policy endpoints or the SMS policy tab on the phone page change them for every member of the account, and single lookups, batches, bulk runs, monitors and the browser endpoint all apply the stored policy. A number served from the account's suppression list on a batch, bulk or monitored run answers blocked_by: suppressed.

What it does not mean

ok_to_send is a fraud and deliverability decision computed from the answer and the account's rules. It is not consent to message anyone and not a do-not-call scrub: neither is part of the answer, and both stay the sender's obligation. A country allow-list is the first control against SMS pumping to destinations a business never serves, and it is a business choice about where you send, not a verdict that a country's numbers are fraudulent. The policy is not the score either: the weights stay published and recomputable, and the policy only says which of them the account refuses to send past.

Related

markdown version: /glossary/sms-policy.md

Verify addresses the same way

The Spaw API runs every check described here on each lookup, with an SMTP handshake that never sends mail. 10 free lookups a month, no card required.

Get your API key

More glossary

  • Area-code overlay

    An area-code overlay is a new area code added over the same area as an existing one, instead of splitting it, so neighbours can hold different codes and local calls need ten digits.

  • Calling window

    A calling window is the span of local hours a sender contacts people in. Spaw answers in_call_window from the number's time zones: clock arithmetic, not compliance advice.

  • Fictional number

    A fictional number sits in a range kept out of service for films, TV and other fiction: 555-0100 to 555-0199 in North America, and ranges Ofcom, ARCEP, ACMA and ComReg reserve elsewhere.

  • International (exit) prefix

    An international prefix is what is dialled to leave a country before the calling code: 00 in most of the world, 011 in North America. Spaw reads it and suggests a fix in did_you_mean.

  • International network number

    An international network number sits under a calling code the ITU gives a global service rather than a country, such as +870, +881, +882 or +883, so its country is null.

  • Live carrier check (HLR lookup)

    A live carrier check asks the mobile networks, at the moment of the lookup, whether a number is in service, which network serves it and whether it is roaming. On Spaw it is not enabled.

  • Number pooling (thousands-blocks)

    Number pooling splits a North American central office code into ten blocks of a thousand numbers, each assigned to a carrier separately, so one code can hold several carriers' numbers.

  • Number portability

    Number portability lets a subscriber keep a phone number when changing carrier. The number's block stays listed under the carrier it was issued to, so block data names the original holder.