Overview
Once your enterprise is approved for Number Reputation — both reputationstatus and loa_status read approved — you can associate phone numbers for monitoring. Each number gets its own reputation data with spam risk levels and granular scores.
Both approval gates must be
approved before numbers are accepted. If you
haven’t cleared them yet, start with the
LOA guide and
Reputation Settings.Associate phone numbers
Add phone numbers for reputation monitoring:- Up to 100 numbers per request
- Atomic operation — all numbers succeed or all fail
- Numbers must be US numbers in E.164 format (
+1NPANXXXXXX) — non-US numbers are rejected - Numbers must be in-service and belong to your Telnyx phone-number inventory
Adding numbers is a billable action. See
Number Reputation pricing for current pricing.
In the request body, phone numbers are JSON string values, so the leading
+
is written literally ("+12025551234"). In path parameters (the
get/delete-by-number endpoints below) URL-encode the + as %2B.reputation_data: null until Telnyx collects its first refresh. Query it (below) to trigger an immediate lookup.
Query reputation
URL-encode the leading+ of the phone number in the path as %2B —
e.g. +12025551234 becomes %2B12025551234.
Cached query (free)
Returns the most recent stored reputation data:Fresh query (billed)
Fetches live data from the reputation feed:fresh parameter — so a brand-new number always returns live data on its first GET (and counts as a billed query). If the analytics networks don’t have data for the number yet, reputation_data will still be null.
Live (fresh) queries are billable. See
Number Reputation pricing for current pricing.
Reputation data model
Each number returns areputation_data object. The object is null until the
first refresh has been collected, and every field inside it is nullable:
Spam risk
| Value | Meaning |
|---|---|
low | Number has a clean reputation |
medium | Some risk indicators present — the number may have been labeled as spam in the recent past |
high | Number is likely flagged as spam by carriers |
null | Not enough data yet |
Granular scores (0-100)
| Score | What it measures |
|---|---|
maturity_score | How established the number is — based on call volume history over time. Available immediately after registration. |
connection_score | Whether recipients choose to answer calls from this number. |
engagement_score | Whether recipients stay on the call after answering. |
sentiment_score | Whether recipients complain about or block calls from this number. |
null score means there isn’t enough data to make a determination.
maturity_score is available immediately after registration because
it uses pre-existing call traffic data. The other three scores start as
null and populate after the number has sufficient call volume
(minimum 4 hours, longer for low-volume numbers). Scores are updated hourly.Spam categories
If a number is flagged,spam_category is the category label assigned to it by the reputation feed. Known values include:
| Category | Description |
|---|---|
Telemarketer | Number is flagged as a telemarketing caller |
Survey | Number is flagged as a survey/polling caller |
Debt Collector | Number is flagged as a debt collection caller |
Nonprofit | Number is flagged as a nonprofit/fundraising caller |
Political | Number is flagged as a political campaign caller |
null when the number is not flagged.
List all monitored numbers
page[number] and page[size] query parameters. Page
numbering is 1-based; for this enterprise-scoped endpoint page[size]
defaults to 10 and is capped at 250. You can also filter by phone number with
filter[phone_number][contains] (partial match) or filter[phone_number][eq]
(exact match).
The simplified list endpoint (
/v2/reputation/numbers)
defaults to a page[size] of 20, while this enterprise-scoped endpoint
defaults to 10. Pass page[size] explicitly if you depend on a specific
page size.Force a refresh
Refresh the stored reputation data for specific numbers immediately, in addition to the scheduledcheck_frequency:
Forcing a refresh performs live reputation lookups, which are billable. See
Number Reputation pricing for current pricing.
Refreshes are subject to per-enterprise rate limits.
Remove a number from monitoring
Simplified endpoints
If your account has only one enterprise, you can skip theenterprise_id path parameter:
| Method | Simplified path |
|---|---|
| GET | /v2/reputation/numbers |
| GET | /v2/reputation/numbers/{phone_number} |
| DELETE | /v2/reputation/numbers/{phone_number} |
+ as %2B in the {phone_number} path: