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.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Header Parameters
Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
{ "id": "string", "conversationId": "string", "status": "sent"}Rotate a SIP trunk's password
Mints a new digest password on the trunk. The old password stops working immediately, so update the destination platform right away.
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.