/
Contact usSee pricingStart building
Node
​

    About Stytch

    Introduction
    Integration Approaches
      Full-stack overview
      Frontend (pre-built UI)
      Frontend (headless)
      Backend
    Migrations
      Migration overview
      Migrating users statically
      Migrating users dynamically
      Additional migration considerations
      Zero-downtime deployment
      Defining external IDs for users
      Exporting from Stytch
    Custom Domains
      Overview

    Authentication

    DFP Protected Auth
      Overview
      Setting up DFP Protected Auth
      Handling challenges
    Magic Links
    • Email Magic Links

      • Getting started with the API
        Getting started with the SDK
        Replacing your password reset flow
        Building an invite user flow
        Add magic links to an existing auth flow
        Adding PKCE to a Magic Link flow
        Magic Link redirect routing
    • Embeddable Magic Links

      • Getting started with the API
    MFA
      Overview
      Backend integration
      Frontend integration
      Remembered device flow
    Mobile Biometrics
      Overview
    M2M Authentication
      Authenticate an M2M Client
      Rotate client secrets
      Import M2M Clients from Auth0
    OAuth
    • Identity providers

      • Overview
        Provider setup
      Getting started with the API (Google)
      Add Google One Tap via the SDK
      Email address behavior
      Adding PKCE to an OAuth flow
    Connected AppsBeta
      Setting up Connected Apps
      Client types
    • Integration Guides

      • Integrate with AI agents
        Integrate with MCP servers deployed on Cloudflare
        Integrate with MCP servers on Vercel
        Integrate with CLI Apps
    • Resources

      • About Remote MCP Servers
        Consent Management
    Passcodes
      Getting started with the API
      Getting started with the SDK
    • Toll fraud

      • What is SMS toll fraud?
        How you can prevent toll fraud
      Unsupported countries
    Passkeys & WebAuthn
    • Passkeys

      • Passkeys overview
        Set up Passkeys with the frontend SDK
    • WebAuthn

      • Getting started with the API
        Getting started with the SDK
    Passwords
      Getting started with the API
      Getting started with the SDK
      Password strength policy
    • Email verification

      • Overview
        Email verification before password creation
        Email verification after password creation
    Sessions
      How to use sessions
      Backend integrations
      Frontend integrations
      Custom claims
      Custom claim templates
      Session tokens vs JWTs
      How to use Stytch JWTs
    TOTP
      Getting started with the API
      Getting started with the SDK
    Web3
      Getting started with the API
      Getting started with the SDK
    Trusted Auth Tokens
      How to use Trusted Auth Tokens

    Authorization

    Implement RBAC with metadata

    3rd Party Integrations

    Planetscale
    Supabase
    Feathery
    Unit

    Testing

    E2E testing
    Sandbox values
Get support on SlackVisit our developer forum

Contact us

Consumer Authentication

/

Guides

/

Authentication

/

Passcodes

/

Unsupported countries

Stytch does not support sending SMS passcodes to the following countries.

If you attempt to add a country listed below to your country code allowlist, the API will return an country_code_allowlist_invalid_country_codes error.

We do support international SMS to countries not listed below, though international SMS is disabled by default for customers who did not use SMS prior to October 2023. To enable them, please add those countries to your Project's allowlist via Programmable Workspace Actions. Changing your project's allowlist will require adding credit card details to your account to your account.

CountryAlpha-2Prefix
AlgeriaDZ+213
AfghanistanAF+93
AlbaniaAL+355
AndorraAD+376
AngolaAO+244
AntarcticaAQ+672
ArmeniaAM+374
ArubaAW+297
AzerbaijanAZ+994
BahamasBS+1242
BahrainBH+973
BangladeshBD+880
BarbadosBB+1246
BelarusBY+375
BelizeBZ+501
BermudaBM+1441
BhutanBT+975
Bosnia and HerzegovinaBA+387
BotswanaBW+267
Bouvet IslandBV+47
British Virgin IslandsVG+1284
Burma (Myanmar)MM+95
BurundiBI+257
CambodiaKH+855
Cape VerdeCV+238
Cayman IslandsKY+1345
ChadTD+235
China – including Hong KongCN+86
ComorosKM+269
Congo, Dem RepCD+243
Cote D’Ivoire (Ivory Coast)CI+225
CubaCU+53
Curaçao and Caribbean NetherlandsCW+599
CyprusCY+357
Democratic Republic of CongoCD+243
DjiboutiDJ+253
DominicaDM+1767
East TimorTL+670
EgyptEG+20
Equatorial GuineaGQ+240
EthiopiaET+251
EritreaER+291
EstoniaEE+372
Faroe IslandsFO+298
FijiFJ+679
French PolynesiaPF+689
French Southern Territories (the)TF+262
GabonGA+241
GambiaGM+220
GeorgiaGE+995
GibraltarGI+350
GreenlandGL+299
GuadeloupeGP+590
GuamGU+1671
GuineaGN+224
HaitiHT+509
Heard Island and McDonald IslandsHM+672
HondurasHN+504
IndonesiaID+62
IsraelIL+972
IranIR+98
IraqIQ+964
Ivory CoastCI+225
JerseyJE+44
JordanJO+962
KazakhstanKZ+7
Korea Dem People's RepKP+850
KosovoXK+383
KuwaitKW+965
KyrgyzstanKG+996
Laos PDRLA+856
LebanonLB+961
LesothoLS+266
LiberiaLR+231
LibyaLY+218
MacauMO+853
MacedoniaMK+389
MadagascarMG+261
MalawiMW+265
MalaysiaMY+60
MaldivesMV+960
MaliML+223
MartinqueMQ+596
MicronesiaFM+691
MoldovaMD+373
MongoliaMN+976
MontserratMS+1664
MoroccoMA+212
MozambiqueMZ+258
NamibiaNA+264
NiueNU+683
NepalNP+977
New CaledoniaNC+687
NigerNE+227
NigeriaNG+234
North KoreaKP+850
Northern Mariana IslandsMP+1670
OmanOM+968
PakistanPK+92
PalestinePS+970
Papua New GuineaPG+675
PhilippinesPH+63
PitcairnPN+870
QatarQA+974
Republic of North MacedoniaMK+389
Reunion/MayotteRE+262
RussiaRU+7
RwandaRW+250
SamoaWS+685
Saudi ArabiaSA+966
SenegalSN+221
SerbiaRS+381
Sierra LeoneSL+232
SingaporeSG+65
Solomon IslandsSB+677
SomaliaSO+252
South Georgia and the South Sandwich IslandsGS+500
Sri LankaLK+94
St Vincent GrenadinesVC+1784
SudanSD+249
SyriaSY+963
TajikistanTJ+992
ThailandTH+66
TogoTG+228
TongaTO+676
TunisiaTN+216
TuvaluTV+688
TurkmenistanTM+993
Turks and Caicos IslandsTC+1649
U.S. Virgin IslandsVI+1340
United Arab EmiratesAE+971
UgandaUG+256
UzbekistanUZ+998
VanuatuVU+678
VenezuelaVE+58
VietnamVN+84
Wallis and FutunaWF+681
YemenYE+967
ZambiaZM+260
ZimbabweZW+263
United States Minor Outlying Islands (the)UM

Stytch does not support sending WhatsApp passcodes to the following countries.

If you attempt to add a country listed below to your country code allowlist, the API will return an country_code_allowlist_invalid_country_codes error.

Countries with an asterisk * are not supported due to a recent change from Meta concerning "group senders,"; we will be disabling WhatsApp sending to these countries starting on July 9th 2025.

CountryAlpha-2Prefix
AntarcticaAQ+672
Bouvet IslandBV+47
Egypt*EG+20
French Southern Territories (the)YF+262
Heard Island and McDonald IslandsHM+672
India*IN+91
Indonesia*ID+62
Malaysia*MY+60
Nigeria*NG+234
Pakistan*PK+92
PitcairnPN+64
Saudi Arabia*SA+966
South Africa*ZA+27
South Georgia and the South Sandwich IslandsGS+500
United Arab Emirates*AE+971
United States Minor Outlying Islands (the)UM