---
title: "Appeal a rejected campaign"
method: POST
path: "/v1/sms/registrations/{id}/appeal"
tags: ["SMS"]
---

# Appeal a rejected campaign

`POST /v1/sms/registrations/{id}/appeal`

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`).

## Path parameters

- `id` string, required

## Request body

- object
  - `appealReason` string, required — Goes verbatim to the carrier reviewer. Address the decline reason directly.
  - `messageFlow` string — Corrected opt-in flow; include a link to the opt-in page/form.
  - `sample1` string
  - `sample2` string

## Response `200`

Appeal submitted; the registration is pending again.

- object
  - `status` 'pending'

## Other responses

- `400` — Malformed `id`, or the registration has no campaign to appeal (fix the brand and re-verify instead).
- `401` — Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `404` — Registration not found

## Changes

- **2026-10-02** `d556591af3f6` — 7 info
  - added the optional property `code` to the response with the `401` status
  - added the optional property `details` to the response with the `401` status
  - added the optional property `docUrl` to the response with the `401` status
  - added the optional property `param` to the response with the `401` status
  - …3 more

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/sms/registrations/:id/appeal/post.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/3eea42782f09?raw)
