Caller ID Name

Request caller ID name

Changed on

Requests the caller ID name displayed alongside a project-owned phone number on outbound calls. Caller ID name is available only for numbers whose carrier offers it. This operation sets the outbound name for your own number; to retrieve the name published for another number, use Look up phone number with include=cnam.

A 201 means SignalWire accepted the request, not necessarily that call recipients see the name yet. A new name, or one previously rejected or failed, returns with status set to pending and is queued for compliance review. Poll Get the caller ID name until status is approved, rejected, or failed.

Re-requesting a name already approved for this phone number returns the existing request with 201 and status still approved. SignalWire re-applies that name at the carrier without another compliance review.

A phone number can have only one request awaiting a decision. Submitting a different name supersedes any earlier request with a pending or in_review status.

SignalWire normalizes name before validating it, so apply the length and character rules to the normalized form described on that field. When the phone number's carrier does not offer caller ID name, the operation returns 422 with an item in errors whose detail is Caller ID name isn't available for this number. Other 422 responses mean name was blank or the normalized name did not meet those rules.

Returns 404 when the phone number is not in your project.

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.

post/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

Path parameters

idstring uuid required

Universal Unique Identifier.

Unique ID of the phone number.

Request body

namestring required

The caller ID name you want displayed on outbound calls. SignalWire normalizes the value before validating and storing it: control characters are removed, leading and trailing whitespace is trimmed, runs of whitespace collapse to single spaces, and letters are converted to upper case. For example, Acme Plumbing is stored as ACME PLUMBING.

The normalized name must be 15 characters or fewer, start with a letter or digit, and contain only letters, digits, spaces, and &, ', ., ,, and -. Because these rules apply after normalization, surrounding or repeated whitespace does not count against the limit.

Example request

{
  "name": "Acme Plumbing"
}

Response

The request has succeeded and a new resource has been created as a result.

type'cnam' required

The type of object. Always cnam.

idstring uuid required

Universal Unique Identifier.

phone_number_idstring uuid required

Universal Unique Identifier.

namestring 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_actionstring 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_atstring date-time required

The date the request was created.

updated_atstring date-time required

The date the request was last updated.

Example response

{
  "name": "ACME PLUMBING"
}

Changes

Some revisions have not been checked yet.