Signals and reasons

Understand why a decision was returned and when individual signals matter.

The action tells your signup flow what to do. Reasons and signals show what SignupScore found.

Primary reason

primary_reason is the main reason behind the action. It is OK when no reason applies.

This shortened response says the address was blocked because its domain is a known disposable provider:

Decision example
{
  "action": "block",
  "primary_reason": "DISPOSABLE",
  "reasons": ["DISPOSABLE"],
  "signals": {
    "disposable": true
  }
}

Use primary_reason for a short explanation. Check reasons when more than one fact may matter.

Reason codes

CodeMeaning
DISPOSABLEThe domain is a known disposable email provider.
SUBDOMAIN_OF_DISPOSABLEThe domain sits below a known disposable provider.
NO_MXNo mail exchange records were found when MX checking was enabled.
SUSPICIOUSThe address strongly resembles generated junk or a test address.
ROLE_BASEDThe part before @ looks like info, admin, support, or another shared role.
PUBLIC_PROVIDERThe address uses a public email provider such as Gmail or Yahoo.
PRIVACY_RELAYThe domain belongs to a known privacy or alias relay.
ALIAS_SUBADDRESSThe part before @ uses a tag such as name+trial.
DOMAIN_TYPO_SUGGESTEDThe domain resembles a known provider and a correction is available.
DOMAIN_NEWLY_REGISTEREDA known registration age is below the account's configured threshold.

The API returns these codes as strings. Use the code in your logic instead of copying the description text.

Signals

Signals are simple facts. They help when your product needs an exception beyond the main action.

SignalExampleWhat it tells you
disposablename@tempmail.comThe domain is a known temporary email provider.
public_providername@gmail.comThe address uses a public provider. This is not bad by itself.
role_basedsupport@company.comThe address looks shared by a team or function.
suspiciousA strong junk-like patternThe address needs more confidence before valuable access.
privacy_relayA known relay domainThe service forwards mail to another inbox.
alias_subaddressname+trial@example.comThe address uses a tag or subaddress.
has_mxtrueMail server records were found for the domain.
suggested_domaingmail.comThe entered domain may contain a typo.