Remove a 10DLC setup

Remove a 10DLC setup

POST/api/v1/sms/registrations/{id}/remove

POST /sms/registrations/{id}/remove
curl -X POST 'https://www.unitpost.com/api/v1/sms/registrations/123/remove' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0' \
  -H 'Content-Type: application/json' \
  -d '{ }'
Response · 200
{
  "object": "sms_registration",
  "id": "id_123",
  "type": "string",
  "brand_id": "brand_123",
  "status": "queued",
  "requires_action": false,
  "feedback": [
    {}
  ],
  "use_case": "string",
  "message_type": "string",
  "parent_registration_id": "parent_registration_123",
  "auto_provision_number": false,
  "sender": {
    "id": "id_123",
    "status": "queued",
    "phone_number": "string"
  },
  "setup_state": "string",
  "number_withheld_reason": "string",
  "archived_at": "2026-01-01T00:00:00.000Z",
  "submitted_at": "2026-01-01T00:00:00.000Z",
  "completed_at": "2026-01-01T00:00:00.000Z",
  "created_at": "2026-01-01T00:00:00.000Z"
}

Take down a 10DLC campaign registration (us_ten_dlc_campaign) that has no active number: the carrier registration is deleted, the campaign's monthly fee ends (no proration) and the registration reads archived_at from then on. A campaign with a live number is refused (resource_in_use): releasing the number with Release an SMS number takes the campaign with it, so there's nothing to remove after (while that release is in flight: sms_release_pending with Retry-After). One under carrier review waits for the review (conflict). Works on any plan. Takes an Idempotency-Key. Requires the sms:manage capability.

Parameters2 fields
FieldTypeDescription
idrequiredstring · path—
Idempotency-Keystring · headerAny unique string (1–256 characters, e.g. a UUID). Retrying with the same key and the same body within 24 hours returns the first result instead of sending again; the same key with a different body is `409 invalid_idempotent_request`, and one still in flight is `409 concurrent_idempotent_requests`.
Response · 200 fields18 fields
FieldTypeDescription
objectrequiredstring—
idrequiredstring—
typerequiredstring`us_ten_dlc_brand`, `us_ten_dlc_campaign`, or a toll-free verification.
brand_idrequiredstring | null—
statusrequiredstringThe carrier review state: `draft`, `submitted`, `reviewing`, `requires_updates`, `complete`, `closed`, …
requires_actionrequiredbooleanThe customer must act (the carrier asked for changes).
feedbackrequiredobject[] | nullThe carrier's reasons when it asks for changes or closes it (`reason`, `description`, `field_path`, `link`).
use_caserequiredstring | null—
message_typerequiredstring | null—
parent_registration_idrequiredstring | null—
auto_provision_numberrequiredboolean | null10DLC campaigns: a number is leased when carriers approve.
senderrequiredobject | null10DLC campaigns: the number it backs, once one exists.
setup_staterequiredstring | null10DLC campaigns: one customer-facing state over the campaign and its number.
number_withheld_reasonrequiredstring | nullWhy an approved campaign's number isn't being leased (e.g. the plan has no carrier resources).
archived_atrequiredstring | null—
submitted_atrequiredstring | null—
completed_atrequiredstring | null—
created_atrequiredstring—
200400401403404409422429502

Search docs and guides

Search the docs and product guides.