Skip to main content

Telnyx Numbers: Number Reputation — Full Documentation

Complete page content for Number Reputation (Numbers section) of the Telnyx developer docs (https://developers.telnyx.com). Root index: https://developers.telnyx.com/llms.txt · Lightweight index for this subsection: https://developers.telnyx.com/development/llms/numbers-number-reputation-llms-txt.md

Guides

Overview

Source: https://developers.telnyx.com/docs/number-reputation/overview.md

Overview

Number Reputation lets you query the spam reputation of your outbound calling phone numbers. For each number you get a reputation snapshot with spam risk level, granular scores, and a category label when the number is flagged. Number Reputation is a standalone monitoring product. It reports spam reputation and does not change how your calls are placed. It is governed by separate Terms of Service from Branded Calling. Number Reputation is currently supported in the US only. Canadian numbers are not accepted.

How it works

  1. Register your business as an Enterprise — an Enterprise can serve Number Reputation, Branded Calling, or both.
  2. Accept the Number Reputation Terms of Service — a one-time step per account.
  3. Render, sign, and upload a Letter of Authorization (LOA) to get a loa_document_id — see the LOA guide.
  4. Enable Number Reputation with that loa_document_id (billable) — your details are submitted for automated vetting (takes minutes).
  5. Wait for both approval gates — reputation status and loa_status must each be approved.
  6. Associate phone numbers for monitoring (up to 100 per request, US numbers, E.164) — billable.
  7. Query reputation scores — cached results are free, fresh (live) queries are billed.
  8. Automatic monitoring re-checks your numbers on a configurable schedule.
  9. Remediate flagged numbers — submit numbers for re-evaluation when spam risk is elevated.

Resource hierarchy

  • An Enterprise can serve Number Reputation, Branded Calling, or both — you don’t need to create a separate Enterprise for each product.
  • Number Reputation Settings are per-enterprise: one LOA, one auto-refresh schedule, one activation lifecycle.
  • Each Phone Number gets its own reputation data with spam risk levels and granular scores.
  • Remediation Requests are batch submissions of flagged numbers for re-evaluation.

Key concepts

Reputation data

Each registered number returns a reputation_data object with the following fields: 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. Known spam_category values include: Telemarketer, Survey, Debt Collector, Nonprofit, Political, and others. The set is not exhaustive and may grow over time.

Constraints

Ecosystem

Reputation data is sourced from the major call-analytics networks used by US carriers. When you register numbers, Telnyx registers them across that reputation feed on your behalf. You interact only with the Telnyx API.

Next steps


Quickstart

Source: https://developers.telnyx.com/docs/number-reputation/quickstart.md
This guide walks you through enabling Number Reputation and querying your first spam score. You’ll need a verified or enterprise-level Telnyx account and an API key. There are two separate approval gates you must clear before you can add phone numbers — don’t confuse them:
  1. Reputation status must be approved — the activation lifecycle for the enterprise.
  2. loa_status must be approved — Telnyx reviews your signed Letter of Authorization.
Both are tracked independently, and both must read approved before POST .../reputation/numbers will accept numbers.

Prerequisites

  • A Telnyx account with verified or enterprise level access
  • An API key
  • At least one US phone number on your account, in E.164 format
  • A signed Letter of Authorization (LOA) — you render this from Telnyx in Step 3

Step 1: Accept the Number Reputation Terms of Service

Read the full terms at telnyx.com/terms/reputation-services.
This is a one-time step per account. If you skip it, Step 5 (enable) returns 403. To check whether you’ve already agreed, call GET /v2/terms_of_service/status?product_type=number_reputation. That endpoint defaults to branded_calling, so you must pass product_type=number_reputation to read the Number Reputation status.

Step 2: Create an enterprise

If you don’t already have an enterprise, create one. An Enterprise can serve Number Reputation, Branded Calling, or both — you don’t need a separate one. See the Enterprises overview for the full field reference.
Save the id from the response — this is your enterprise_id.

Step 3: Render the Letter of Authorization (LOA)

Telnyx renders a pre-filled LOA PDF from your enterprise record. You do not upload your own template — you render the Telnyx one, sign it, and upload the signed copy back.
The response body is the PDF itself (application/pdf); -o loa.pdf saves it to disk. Rendering the LOA is not billable. See the LOA guide for the optional agent (reseller) and signature body fields, and the full approval/replacement flow.

Step 4: Sign the LOA and upload it to the Documents API

Sign loa.pdf (e-signature or wet signature), then upload the signed copy to the Telnyx Documents API:
The response contains the document id:
Save data.id — you’ll pass it as loa_document_id in the next step.

Step 5: Enable Number Reputation

check_frequency is optional and defaults to business_daily. Enabling reputation is a billable action. See Number Reputation pricing for current pricing.

Step 6: Wait for both approval gates

Your enterprise details are submitted for automated vetting and Telnyx reviews your signed LOA. Poll the reputation settings until both status and loa_status read approved:
You cannot add numbers until both are approved.

Step 7: Associate phone numbers

Once both gates are approved, add phone numbers for monitoring:
Up to 100 numbers per request. This is an atomic operation — all numbers succeed or all fail. Numbers must be US numbers in E.164 format (+1NPANXXXXXX), in-service, and belong to your Telnyx phone-number inventory. Non-US numbers are rejected. Adding numbers is a billable action. See Number Reputation pricing for current pricing. A freshly added number has reputation_data: null until Telnyx collects its first refresh. Querying it (Step 8) triggers an immediate lookup. Because the number has no cached data yet, that first query performs a live (billed) lookup even from the “Cached” endpoint; cached reads are free only once data exists.

Step 8: Query reputation

URL-encode the leading + of the phone number in the path as %2B.

Cached (free, once data exists)

The first query on a number with no cached reputation data triggers a live, billed lookup regardless of this endpoint; only subsequent reads are free.

Fresh — live query (billed)

The response includes:
Every field in reputation_data is nullable, and the whole object is null until the first refresh has been collected.

Step 9: Manage ongoing monitoring

Change auto-refresh frequency

The enterprise’s reputation status must be approved; a request made while it is still pending returns 400 Bad Request.

Remove a number from monitoring

Disable Number Reputation entirely

Simplified endpoints

If your account has only one enterprise, you can use simplified endpoints without the enterprise_id:

Portal setup

You can also set up Number Reputation from the Telnyx Portal — the full workflow (accept ToS, create enterprise, render LOA, enable monitoring, add numbers, query scores) is available in the UI. The API and Portal are fully interchangeable.

Next steps


Pricing

Source: https://developers.telnyx.com/docs/number-reputation/pricing.md

Pricing

Number Reputation pricing has three components: Rendering the LOA is not billable. You only pay once you enable reputation monitoring and add numbers. For the full pricing details, see the Telnyx Numbers pricing page.

How billing works

Enterprise registration is free. An Enterprise can serve Number Reputation, Branded Calling, or both.

Letter of Authorization

Source: https://developers.telnyx.com/docs/number-reputation/loa.md

Overview

Before Telnyx can register your phone numbers with the major call-analytics networks used by US carriers, you must provide a signed Letter of Authorization (LOA). The LOA authorizes Telnyx to manage your numbers’ reputation on your behalf. The LOA is the #1 thing customers get stuck on, so follow these steps in order. There are two separate approval gates you must clear before you can add phone numbers:
  1. Reputation status must be approved (the activation lifecycle).
  2. loa_status must be approved (Telnyx reviews the signed LOA).
Both must be approved. They are tracked independently. Telnyx renders a pre-filled LOA from your enterprise record. The enterprise identity, address, and authorized-representative contact are read from the enterprise you created — you do not pass them again here.
The response body is the PDF itself (application/pdf). The -o loa.pdf flag saves it to disk. Rendering the LOA is not billable. You only pay once you enable reputation and add numbers. Optional body fields (both optional): To render with the agent (reseller) block:
To embed a signature at render time instead of signing the PDF by hand:
If you did not embed a signature at render time, open loa.pdf and sign it (e-signature or wet signature). Save the signed copy. Upload the signed PDF to the Telnyx Documents API. The Documents API returns a document id — that value is your loa_document_id.
The response contains the document id:
Save data.id — you’ll pass it as loa_document_id in the next step. Enable Number Reputation, passing the document id and a refresh frequency.
Enabling reputation is a billable action. See Number Reputation pricing for current pricing. Telnyx reviews your uploaded LOA. Track loa_status on the reputation settings:
loa_status moves pendingapproved (or rejected). You cannot add phone numbers until loa_status is approved and reputation status is approved.

LOA approval gate

Reputation status and loa_status are two separate gates. Both must read approved before POST .../reputation/numbers will accept numbers.

Replace a pending or rejected LOA

If your LOA is rejected — or it is still pending and you need to upload a corrected document — render a fresh PDF, sign and upload it to the Documents API to get a new loa_document_id, then point your reputation settings at it:
Replacing the LOA resets loa_status back to pending. The new document must be approved again before more numbers can be added. This is the recovery path for a rejected LOA. You can only replace the LOA while loa_status is pending or rejected. Once loa_status is approved, the document is locked in and this PATCH returns 400 Bad Request (“The authorization document cannot be changed after it has been approved.”). To start over with a different LOA after approval, disable Number Reputation and re-enable it with the new document.

Next steps


Reputation Settings

Source: https://developers.telnyx.com/docs/number-reputation/settings.md

Overview

Number Reputation Settings control the monitoring lifecycle for your enterprise. You enable reputation monitoring, configure how often numbers are checked, and manage the vetting status.

Prerequisites

Before enabling Number Reputation, you need:
  1. An Enterprise registered on your account — an Enterprise can serve Number Reputation, Branded Calling, or both.
  2. A signed Letter of Authorization (LOA) rendered, signed, and uploaded to the Documents API to obtain a loa_document_id — follow the LOA guide. The LOA authorizes Telnyx to register your numbers with the major call-analytics networks used by US carriers.
  3. Agreement to the Number Reputation Terms of Service.

Enable Number Reputation

Submit your LOA document ID to enable reputation monitoring:
check_frequency is optional and defaults to business_daily. Your enterprise details are submitted for automated vetting. This typically takes minutes. Enabling reputation is a billable action. See Number Reputation pricing for current pricing. Enabling returns 403 if you have not agreed to the Number Reputation Terms of Service. See Terms of Service below.

Two approval gates

Two statuses must each read approved before you can add phone numbers — they are tracked independently: status and loa_status are two separate gates. Both must be approved before POST .../reputation/numbers will accept numbers. A rejected loa_status is recoverable — replace the LOA per the LOA guide.

Vetting lifecycle

Once you disable reputation, the settings are removed: a subsequent GET .../reputation returns 404 Not Found rather than a readable status. Check your current status:
The response includes:

Auto-refresh schedules

Telnyx automatically runs fresh reputation queries on all your registered numbers based on the configured check_frequency:

Change the schedule

The enterprise’s reputation status must be approved. A frequency change requested while status is still pending is rejected with 400 Bad Request. Choose a frequency that balances data freshness with cost. Each auto-refresh counts as a billed query per number — see Number Reputation pricing.

Disable Number Reputation

To stop monitoring entirely and remove the enterprise from reputation tracking:
This de-registers your numbers from the reputation feed and removes the reputation settings. A subsequent GET .../reputation returns 404 Not Found; to monitor again you must re-enable with a fresh LOA.

Terms of Service

You must accept the Number Reputation Terms of Service (read the full terms) before enabling monitoring:
This is a one-time step per account. To check ToS status, call GET /v2/terms_of_service/status?product_type=number_reputation. This endpoint defaults to branded_calling, so you must pass product_type=number_reputation. Likewise, GET /v2/terms_of_service/agreements also defaults to branded_calling — pass ?product_type=number_reputation to scope the list to Number Reputation.

Phone Numbers

Source: https://developers.telnyx.com/docs/number-reputation/phone-numbers.md

Overview

Once your enterprise is approved for Number Reputation — both reputation status 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.
A freshly added number has 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:
If no cached data exists for a number, a fresh query is automatically triggered regardless of the 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 a reputation_data object. The object is null until the first refresh has been collected, and every field inside it is nullable:

Spam risk

Granular scores (0-100)

A 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: Treat the field as an opaque string — the set may grow over time. It is null when the number is not flagged.

List all monitored numbers

Supports pagination with 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 scheduled check_frequency:
Up to 100 numbers per call. The response reports the per-number outcome:
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 the enterprise_id path parameter: Remember to URL-encode the + as %2B in the {phone_number} path:

Remediation

Source: https://developers.telnyx.com/docs/number-reputation/remediation.md

Overview

When one of your monitored numbers is flagged with an elevated spam_risk, you can submit it for reputation remediation — a request to the call-analytics networks to re-evaluate the number’s classification. You submit a batch of numbers, Telnyx forwards the request on your behalf, and you poll the request to track its status and per-number outcome. Remediation is asynchronous. The submit call returns 202 Accepted with a request id; the request then moves through processing states until it completes. Use the GET endpoints to poll status and per-number results. Submitting a remediation request does not guarantee a number will be removed from any spam or block list. Remediation is a re-evaluation request to the call-analytics networks — the outcome may be that the number remains flagged (requires_review or refused). Even after a number is successfully remediated, calls from it can still be blocked or labeled by downstream spam filters and carriers. Those systems are outside Telnyx’s control, and a successful remediation does not override them. Both Number Reputation approval gates must be cleared (reputation status and loa_status both approved) and the Number Reputation Terms of Service accepted before you can submit remediation requests. See the LOA guide and Reputation Settings.

Submit numbers for remediation

The endpoint returns 202 Accepted with the persisted request and its initial status of pending:
A number that already has an in-flight remediation request cannot be submitted again — the request returns 409 Conflict. Numbers that do not belong to this enterprise return 422 Unprocessable Entity.

Count fields

Get a remediation request

Retrieve full detail for one request, including per-number results once they are available:
A completed request includes the populated results object:
A request that is not found — or does not belong to this enterprise — returns 404 Not Found.

Status values

status is the customer-facing meta-status: results is null while the request is still pending and is populated once results are available.

Per-number result buckets

When results is populated, each number falls into exactly one bucket. Empty buckets are returned as empty arrays (never omitted), so you can iterate without null-checking each key: A number landing in the remediated bucket means the analytics networks re-evaluated and cleared it — it does not guarantee the number is removed from every spam list, and downstream carriers and spam filters may still block or label calls from it.

List remediation requests

List items are a slim shape — they omit results, webhook_url, and the count breakdown. Call get by id for full detail.

Pagination

Pagination is JSON:API. Page numbering is 1-based; page[size] defaults to 20 and is capped at 250.

Filters

Webhooks

When you provide a webhook_url in the remediation request, Telnyx sends status notifications to that URL as the request progresses. The webhook events are: Webhook payloads include the remediation request id, status, and results (when populated). Ensure your webhook endpoint is publicly accessible and responds with 200 to acknowledge receipt.

Next steps


API Reference (Number Reputation)

Enterprises

  • List enterprises: Return the enterprises you own, paginated. The default page size is 20; the maximum is 250.
  • Create an enterprise: Create the legal entity (enterprise) that represents your business on the Telnyx platform.
  • Get an enterprise: Retrieve a single enterprise by id. Returns 404 if the id does not exist or does not belong to your account.
  • Replace an enterprise: Replace the enterprise’s mutable fields. Only mutable fields may be sent. Server-assigned and immutable fields (id, record_type, created_at, updated_at
  • Delete an enterprise: Soft-delete an enterprise.

Terms of Service

Reputation