Send a verification code
Generate a one-time code, deliver it to the recipient, and store only its hash. Check the user-typed code with POST /v1/verify/verifications/{verificationId}/check.
Re-POSTing for the same (channel, to) while a verification is active
RESENDS a fresh code on the existing verification (200 with
resend: true) instead of creating a new one; resends are limited to
one per 60 seconds (429 with retryAfterSeconds inside the cooldown).
The stored brandName/codeLength/ttlMinutes win on a resend.
Codes deliver by SMS from a phone number on your account (from
optional when you own exactly one SMS-enabled number) and the message
uses a fixed template. Each accepted send bills one verification fee
plus the standard message rate.
API key authentication - use your Zernio API key as a Bearer token
In: header
SMS-only for now.
"sms"E.164 phone number.
The SMS-enabled number on your account to send from. Defaults to your only SMS number.
Your app or business name, rendered in the message. Defaults to your account name. Letters, numbers, and basic punctuation only.
length <= 3064 <= value <= 8101 <= value <= 15Response Body
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.verify.createVerification({ body: { channel: 'sms', to: 'string', },});console.log(data);{
"id": "string",
"status": "pending",
"channel": "sms",
"to": "string",
"expiresAt": "2019-08-24T14:15:22Z",
"attempts": 0,
"maxAttempts": 0,
"sendCount": 0,
"lastSentAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"resend": true
}{
"id": "string",
"status": "pending",
"channel": "sms",
"to": "string",
"expiresAt": "2019-08-24T14:15:22Z",
"attempts": 0,
"maxAttempts": 0,
"sendCount": 0,
"lastSentAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"resend": true
}{
"error": "string",
"type": "invalid_request_error",
"code": "string",
"param": "string",
"platform": "string",
"platformError": {},
"details": {}
}{
"error": "Unauthorized"
}Submit the sole-prop OTP POST
Completes sole-proprietor 10DLC brand verification by submitting the one-time PIN texted to the brand's mobile number. On success the registration continues to campaign creation automatically.
Get a verification GET
Current state of a verification. `status` is effective (a pending code past its expiry reads as `expired`). Verification records are deleted 24 hours after creation, after which this returns 404.