Appeal a rejected campaign
Appeals a rejected 10DLC campaign with the carrier registry. Only a
registration that reached campaign creation can be appealed; a
brand-level rejection should be fixed and re-verified instead. On
success the registration returns to pending.
Content rejections (e.g. an opt-in flow without a verifiable form link,
or unrealistic samples) should be FIXED in the same call: pass the
corrected messageFlow / sample1 / sample2 and the campaign is
updated before the appeal is filed, so the reviewer sees the new
content. The current content is on GET /v1/sms/registrations/{id}
(campaignContent).
API key authentication - use your Zernio API key as a Bearer token
In: header
Path Parameters
Goes verbatim to the carrier reviewer — address the decline reason directly.
10 <= length <= 2000Corrected opt-in flow; include a link to the opt-in page/form.
40 <= length <= 204820 <= length20 <= 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.appealSmsRegistration({ path: { id: 'abc123', }, body: { appealReason: 'string', },});console.log(data);{
"status": "pending"
}{
"error": "Unauthorized"
}Get a carrier registration GET
Poll this for approval progress after starting a registration.
Deactivate a brand/campaign registration DELETE
Terminates the campaign with the carrier registry so the recurring monthly campaign fee stops (carriers bill the first 3 months of a campaign regardless). Numbers covered by it can no longer SEND texts — receiving is unaffected — until they're registered under a new brand. Irreversible: a deactivated campaign cannot be restored; texting again later requires a new registration (new one-time and review fees). Idempotent.