---
title: "Get caller ID name"
method: GET
path: "/api/relay/rest/phone_numbers/{id}/cnam"
tags: ["Caller ID Name"]
---

# Get caller ID name

`GET /api/relay/rest/phone_numbers/{id}/cnam`

## Request

- Base URL: `https://{Your_Space_Name}.signalwire.com`
- URL: `https://{Your_Space_Name}.signalwire.com/api/relay/rest/phone_numbers/{id}/cnam`
- Auth: HTTP basic

Retrieves the most recent caller ID name request for a phone number in your project, including its current review status. After [Request a caller ID name](/docs/apis/rest/caller-id-name/request-caller-id-name), poll this operation until `status` is `approved`, `rejected`, or `failed`.

The response's `name` is the requested name. It can differ from the name call recipients currently see while the request is `pending` or `in_review`, or after it is `rejected` or `failed`. To retrieve the caller ID name currently applied at the carrier, read `cnam` on the phone number with [Get phone number](/docs/apis/rest/phone-numbers/retrieve-phone-number).

Returns `404` when the phone number is not in your project or has never had a caller ID name requested.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Numbers_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `id` string, uuid, required: Universal Unique Identifier.

## Response `200`

The request has succeeded.

- PhoneNumberCnamResponse: Details and review status returned for a caller ID name request.
  - `type` 'cnam', required: The type of object. Always `cnam`.
  - `id` string, uuid, required: Universal Unique Identifier.
  - `phone_number_id` string, uuid, required: Universal Unique Identifier.
  - `name` string, required: The requested caller ID name after normalization. SignalWire removes control characters, trims leading and trailing whitespace, collapses runs of whitespace to single spaces, and converts letters to upper case before storing the value. The stored name is at most 15 characters.
  - `status` 'pending' | 'approved' | 'in_review' | 'rejected' | 'failed', required: Possible review statuses for a caller ID name request.
  - `reason` 'offensive_language' | 'impersonation' | 'unverified_brand' | 'implied_trusted_institution' | 'scam_wording' | 'deceptive' | 'unsupported_personal_name' | 'too_generic' | 'invalid_format' | 'unrelated_to_business' | 'needs_documentation' | 'other_compliance_concern' | 'processing_failed', required: Possible reasons a caller ID name request requires review, was rejected, or failed. Each code is explained on the `reason` field.
  - `required_action` string, nullable, required: An action you can take to address the review, such as changing, verifying, or documenting the requested name. `null` when review produced no specific action.
  - `created_at` string, date-time, required: The date the request was created.
  - `updated_at` string, date-time, required: The date the request was last updated.

## Other responses

- `401`: Access is unauthorized.
- `404`: The server cannot find the requested resource.
- `500`: An internal server error occurred.

## Changes

> 173 revisions in range; 3 could not be searched.

- **2026-08-28** `d6ae7c53d1e2`: 2 info
  - api tag `Caller ID Name` added
  - api tag `Phone Numbers` removed
- **2026-08-27** `6a0a43b3e01e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/signalwire/apis/signalwire-rest-api/changes/api/relay/rest/phone_numbers/:id/cnam/get.md)

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) - [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signalwire/apis/signalwire-rest-api/revisions/7307749294e0?raw)
