---
title: "List carrier registrations"
method: GET
path: "/v1/messaging/sms/registrations"
tags: ["SMS"]
---

# List carrier registrations

`GET /v1/messaging/sms/registrations`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/messaging/sms/registrations`
- Auth: HTTP bearer

**Billing:** Read (free unless it says otherwise) · **Rate limit:** 120/min

## Query parameters

- `includeDeactivated` boolean: Deactivated (terminated) registrations are hidden by default. Pass true to include them.

## Headers

- `Idempotency-Key` string
- `X-Tag` string

## Response `200`

Completed

- object
  - `id` string: Execution id — stable across internal retries; use it with GET /v1/executions/{id}
  - `status` 'pending' | 'processing' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'timeout'
  - `operation` string
  - `tag` string, nullable: Your X-Tag, if sent
  - `created_at` string, date-time
  - `completed_at` string, date-time, nullable
  - `output` object: Operation result (see each operation). While a Studio render is processing: `stage` (queued · transcribing · downloading · preparing · cleaning_voice · mixing_audio · rendering · finishing), `phase` (the engine's: download · prepare · voice · audio · encode · qa · upload, or null), `progress` (a percent, 0–100) and `progress_fraction` (0–1), `eta_seconds` (seconds left, never below 0) and `estimate_seconds`
    - `registrations` object[]
      - `id` string
      - `status` 'pending' | 'approved' | 'rejected' | 'requested' | 'changes_requested' | 'deactivated': requested/changes_requested = pre-submission review states; customers see them as pending / needs changes.
      - `brandId` string, nullable: TCR brand id, useful when referencing the brand in carrier support threads.
      - `campaignId` string, nullable: TCR campaign id.
      - `otpExpired` boolean: Sole proprietor only: the verification code was never entered within 30 days. Start SMS setup again; it revives the same brand with no second brand fee.
      - `throughput` object: Carrier throughput tier derived from the trust score.
        - `label` string
        - `smsPerDay` number
        - `smsPerMinute` number
      - `trustScore` number, nullable: Carrier-assigned brand trust score; drives throughput.
      - `awaitingOtp` boolean: Sole-prop 10DLC only; the OTP step is still pending.
      - `brandStatus` string: Carrier-registry brand status (e.g. VERIFIED).
      - `displayName` string, nullable
      - `phoneNumbers` string[]
      - `declineReason` string, nullable
      - `reviewRequest` object, nullable: An open change request written as points. Answer each point with POST /v1/sms/registrations/{id}/respond: `answer` says what each point needs (text, a link, a hosted document, or a link or a document).
        - `id` string: Changes with every request. Send it back as `requestId` when answering, so a reply to a replaced request is refused (409) instead of filed under the new points.
        - `intro` string: Context from the reviewer, e.g. what was already fixed on our side.
        - `points` object[]
          - `id` string, required: Point id to send back in `answers[].pointId`.
          - `title` string, required
          - `answer` 'text' | 'link' | 'file' | 'link_or_file', required
          - `detail` string, required: What exactly is needed.
      - `campaignStatus` string
      - `lastRejectedAt` string, date-time, nullable: When the carriers last rejected it.
      - `lastResponseAt` string, date-time, nullable: When you last answered a change request.
      - `adminReviewNote` string, nullable: The open change request as text (status changes_requested).
      - `registrationType` 'standard_10dlc' | 'sole_prop_10dlc' | 'toll_free'
      - `previouslyRejected` boolean: Rejected by the carriers at least once. A pending registration with this set is our fix, back with the carriers.
      - `tfActionRequiredAt` string, date-time, nullable: Toll-free only: when the carrier requested changes ("Waiting For Customer"). The request must be resubmitted within 7 days of this timestamp or it expires.
      - `rejectedBeforeSubmission` boolean: Rejected in our review before anything was filed with the carriers (not a carrier rejection; nothing to fix or appeal).
  - `error` string, nullable
  - `usage` object
    - `credits_charged` number, nullable
    - `credits_reserved` number
    - `estimated_credits` number
    - `cost_source` 'provider_reported' | 'calculated' | 'estimated' | 'null', nullable
    - `provider_usage` object, nullable: Normalised consumption, e.g. { VIDEO_SECOND: 22.4 }
  - `balance` object
    - `available` number
    - `reserved` number

## Other responses

- `400`: Invalid input
- `402`: Insufficient credits / project budget
- `404`: Resource not found (or not yours)
- `429`: Rate limited
- `503`: Service temporarily paused

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
