Zernio
Zernio
API Reference

SMS

Messaging

Send an SMS/MMSPOSTLook up carrier + line typeGETList SMS opt-outsGET

Number Setup

Enable SMS on a numberPOSTDisable SMS on a numberDELETEAdd number to SMS registrationPOST

Registrations

List carrier registrationsGETPre-check a carrier registrationPOSTStart a carrier registrationPOSTGet a carrier registrationGETCreate a registration share linkPOSTDeactivate a brand/campaign registrationDELETE

Registration Review

Appeal a rejected campaignPOSTReply to a change requestPOSTUpload opt-in form proof for an appealPOSTUpload opt-in form proofPOSTRe-send the sole-prop OTPPOSTSubmit the sole-prop OTPPOST

Sender IDs

List alphanumeric sender IDsGETCreate an alphanumeric sender IDPOSTDelete an alphanumeric sender IDDELETERequest a higher sender ID daily limitPOST
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
SMS

Upload opt-in form proof

Hosts a screenshot (or PDF) of your SMS opt-in form and returns its public URL. Include that URL in the campaign's messageFlow (the opt-in workflow text). The carrier registry has no attachment field, so reviewers verify consent by opening links in that answer. Works before a registration exists (use it when registering) and for appeals. /v1/sms/registrations/{id}/opt-in-proof is an alias.


POST
/v1/sms/opt-in-proof

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Response 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.uploadSmsOptInProofFile();console.log(data);
{  "url": "string"}
Was this page helpful?

Upload opt-in form proof for an appeal

Hosts a screenshot (or PDF) of your SMS opt-in form and returns its public URL. Carrier reviewers reject campaigns whose consent can't be verified and ask for a "link/screenshot of the opt-in form". The registry has no attachment field, so include the returned URL inside the `messageFlow` you submit with the appeal (`POST /v1/sms/registrations/{id}/appeal`).

Re-send the sole-prop OTP

Re-sends the sole-proprietor verification PIN to the brand's mobile number. Use it when the original code expired or never arrived. Only valid while the registration is pending and awaiting its OTP; rate limited to one send per minute.

file*file

PNG, JPG, WebP, GIF or PDF, max 4MB.

Formatbinary