---
title: "Reply to a change request"
method: POST
path: "/v1/sms/registrations/{id}/respond"
tags: ["SMS"]
---

# Reply to a change request

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

Replies to a reviewer change request on a registration in
`changes_requested` state: a note, hosted document URLs (from
`POST /v1/sms/opt-in-proof`), or both, sent together. The registration
returns to `requested` (back in review), and you do not need to resubmit the
whole registration. To change the submitted brand/campaign fields
themselves, resubmit via `POST /v1/sms/registrations` with
`resubmitRequestId` instead.

## Path parameters

- `id` string, required

## Request body

- object
  - `note` string — Answer for the reviewer. Required when no files are sent.
  - `files` string[] — Hosted document URLs returned by POST /v1/sms/opt-in-proof.

## Response `200`

Reply recorded; the registration is back in review.

- object
  - `status` 'requested'

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — Registration not found
- `409` — Registration is not waiting on changes

## Changes

- **2026-09-16** `3e6ddf2a99ea` — 1 info
  - added the optional property `details/budgetScope` to the response with the `400` status
- **2026-09-15** `0dba7d004d75` — 2 info
  - added the optional property `details/quotaExhausted` to the response with the `400` status
  - added the optional property `details/quotaScope` to the response with the `400` status

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/sms/registrations/:id/respond/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/be448f13ecdc?raw)
