Look up carrier + line type
Carrier name and line type (mobile / landline / voip / toll-free) for a
number, plus smsReachable (landlines can't receive SMS). Use it to
validate recipients before sending. Each lookup is billed by the
carrier-data provider, so call it explicitly (e.g. pre-validating an
opt-in list), not on every send.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Query Parameters
Number to look up (E.164; formatting is normalized).
8 <= lengthResponse Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.sms.lookupSmsNumber({ query: { number: 'string', },});console.log(data);{ "phoneNumber": "string", "carrierName": "string", "lineType": "mobile", "smsReachable": true}Send an SMS/MMS
Sends an SMS (or MMS when `mediaUrls` is set) from one of your SMS-enabled numbers. At least one of `text` / `mediaUrls` is required. Both numbers are normalized to E.164, so `from` matches regardless of formatting and replies thread into the same inbox conversation. US numbers must have an approved carrier registration (`/v1/sms/registrations`) before messages deliver. **Replies and delivery status arrive as webhooks**, not by polling: an inbound reply fires `message.received` with `platform: "sms"`, the first message of a new thread also fires `conversation.started`, and this message's own outcome fires `message.delivered` or `message.failed` (the latter carrying the carrier's error code). **Opted-out recipients:** a send to a number that replied STOP is refused with `409`, never silently dropped. **Idempotency:** send an `Idempotency-Key` header to make retries safe: same key + same body replays the original response instead of sending a second message; same key + different body returns 422; a key still in flight returns 409.
List SMS opt-outs
The recipients who opted out of SMS (replied STOP) across your numbers, most recent first. Compliance surface: you must be able to see and export your opt-out list. Read-only: a recipient is re-subscribed only by replying START. Pass `format=csv` to download a CSV instead of JSON.