---
title: "Get a dedicated number with its messages"
method: GET
path: "/dedicated/numbers/{id}"
tags: ["Dedicated Numbers"]
---

# Get a dedicated number with its messages

`GET /dedicated/numbers/{id}`

## Request

- Base URL: `https://dashboard.voidmob.com/api/v1`
- URL: `https://dashboard.voidmob.com/api/v1/dedicated/numbers/{id}`
- Auth: HTTP bearer

Returns a single dedicated number owned by the authenticated user, including
paginated SMS messages received on the number. Use `messages_before` and
`messages_limit` to page through message history (newest-first fetch, returned
in ascending order).

If a renewal landed before it could be paid, `payment_due` shows the amount
owed. It is collected automatically as soon as the balance covers it. SMS
received meanwhile are stored but withheld (`text`/`code` null,
`content_withheld: true`) until it is paid, and stay withheld if the
period ends unpaid.

## Path parameters

- `id` string, required

## Query parameters

- `messages_limit` integer
- `messages_before` string

## Response `200`

Dedicated number detail with inline messages.

- object
  - `success` true, required
  - `data` object, required
    - `id` string, required: Dedicated number id prefixed `ded_`.
    - `display_id` string, nullable: Human-readable display id.
    - `status` 'active' | 'expired', required
    - `phone_number` string, required: Full E.164 phone number.
    - `country` string, required: Lowercase ISO-2 country code.
    - `country_name` string, required: Human-readable country name.
    - `billing_period` 'monthly', required
    - `nickname` string, nullable: User-set nickname for this number.
    - `quoted_price_cents` integer, required: Price quoted at purchase time in USD cents.
    - `charged_price_cents` integer, required: Price actually charged in USD cents.
    - `next_renewal_price_cents` integer, required: Price that will be charged on next renewal in USD cents.
    - `payment_due` PaymentDue, required: A renewal that landed before it could be paid. The term is renewed but owed; the amount is collected automatically as soon as the balance covers it. SMS received meanwhile are withheld (`content_withheld`) until it is paid, and stay withheld if the term ends unpaid.
      - `amount_cents` integer, required: Amount owed, in USD cents.
      - `since` string, date-time, required: When the renewal landed unpaid.
    - `auto_renew` boolean, required: Whether this number auto-renews at period end.
    - `created_at` string, date-time, required
    - `paid_until` string, date-time, required: Date through which the number is paid.
    - `expires_at` string, date-time, required
    - `messages` object[], required: SMS messages received on this number, in ascending order. Paginate with messages_before cursor. A message received while payment is due has `text` and `code` null and `content_withheld: true`.
      - `id` string, required: Message id prefixed `msg_`.
      - `code` string, nullable: Parsed OTP/verification code, if detected. Null while the content is withheld.
      - `text` string, nullable, required: Full message text. Null only while the content is withheld.
      - `content_withheld` true: Present (always `true`) only on an SMS received while a renewal is unpaid (`payment_due`); its `text` and `code` are null until paid. Absent otherwise.
      - `received_at` string, date-time, required

## Other responses

- `400`: 400 - Request failed validation.
- `401`: 401 - Authentication required.
- `404`: 404 - The requested resource was not found.
- `429`: 429 - Rate limit exceeded. Retry after the indicated interval.

---

[API](https://skmtc.dev/voidmob/apis/voidmob-public-api.md) · [All operations](https://skmtc.dev/voidmob/apis/voidmob-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/voidmob/apis/voidmob-public-api/revisions/066023313ebe?raw)
