Skip to Content
API ReferenceWhatsAppVerification Code

Verification Code

Request and confirm the OTP that proves you own a phone number being attached to a WABA. Two endpoints.

1. Request the code

POST /api/v25.0/{PHONE_NUMBER_ID}/request_code?code_method=SMS&language=en_US Authorization: Bearer pk_live_<your-key>

Parameters go in the query string:

ParamNotes
code_methodSMS or VOICE
languageLanguage tag, e.g. en_US, hi_IN, pt_BR. Determines the language of the voice prompt / SMS text

No request body required.

Response — 200

{ "success": true }

The OTP is sent to the phone number on file. SMS typically arrives in under a minute; voice rings within ~30 seconds.

2. Verify the code

POST /api/v25.0/{PHONE_NUMBER_ID}/verify_code Authorization: Bearer pk_live_<your-key> Content-Type: application/json

Request body

{ "code": "123456" }

Response — 200

{ "success": true }

After verification succeeds, the phone number’s code_verification_status (see Phone Number Details) flips to VERIFIED. You can then call Register to bring the number online.

Errors

BodyWhen
(#131045) Phone number verified too many timesCool-down period — wait an hour before retrying
(#136022) The code provided is incorrectWrong code. After 5 failed verifies the OTP expires
(#136023) The code provided is expiredOTPs expire 10 minutes after request_code succeeds

cURL

# 1) request — params in query string, no body curl -X POST \ "https://api.splashifypro.com/api/v25.0/$PHONE_NUMBER_ID/request_code?code_method=SMS&language=en_US" \ -H "Authorization: Bearer $SPLASHIFY_API_KEY" # 2) verify curl -X POST \ "https://api.splashifypro.com/api/v25.0/$PHONE_NUMBER_ID/verify_code" \ -H "Authorization: Bearer $SPLASHIFY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "code": "123456" }'