Reputation

Register phone numbers for reputation monitoring

Changed on

Add up to 100 phone numbers to reputation monitoring on this enterprise. Each must be in E.164 format (+1NPANXXXXXX for US/CA). A number in your Telnyx phone-number inventory is accepted as source: telnyx; a number that is not is treated as hosted with another provider and must meet the requirements below.

Prerequisite: reputation must already be enabled on this enterprise (see POST .../reputation).

Pricing: This is a billable action. See https://telnyx.com/pricing/numbers for current pricing.

A phone number that is not in your Telnyx inventory is treated as a number hosted with another provider (source: external). It must be a US local number, and the enterprise's ownership proof must be approved first (POST /enterprises/{enterprise_id}/reputation/external_verification); otherwise the request fails with a 400 whose detail contains external_verification_required. Ownership of such numbers is checked every day.

post/enterprises/{enterprise_id}/reputation/numbers

Request

  • Base URL: https://api.telnyx.com/v2
  • URL: https://api.telnyx.com/v2/enterprises/{enterprise_id}/reputation/numbers
  • Auth: HTTP bearer

Path parameters

enterprise_idstring uuid required
Example:4a6192a4-573d-446d-b3ce-aff9117272a6

The enterprise id. Lowercase UUID.

Request body

phone_numbersstring[] required

1–100 phone numbers in E.164 format with a leading +.

Example request

{
  "phone_numbers": [
    "+19493253498"
  ]
}

Response

Numbers registered.

Example response

{
  "data": [
    {
      "id": "8a4b1f5e-2f12-4c0c-9a98-9b3a7d8b8e62",
      "enterprise_id": "4a6192a4-573d-446d-b3ce-aff9117272a6",
      "phone_number": "+19493253498",
      "source": "external",
      "ownership_status": "verified",
      "flag_reason": "carrier_changed",
      "confirm_by": "2026-10-08T07:00:00Z",
      "removed_at": "2026-10-09T06:02:11Z",
      "removal_reason": "unconfirmed_ownership",
      "reputation_data": {
        "spam_risk": "low",
        "maturity_score": 72,
        "connection_score": 80,
        "engagement_score": 64,
        "sentiment_score": 75,
        "last_refreshed_at": "2026-04-26T18:09:24.785211Z"
      },
      "created_at": "2026-04-26T18:06:51.940749Z",
      "updated_at": "2026-04-26T18:09:24.785211Z"
    }
  ],
  "meta": {
    "total_pages": 3,
    "total_results": 42,
    "page_number": 1,
    "page_size": 20
  }
}

Changes

    • breaking

      the // response's property type changed from object to no type for status

    • warning

      removed the optional property /// from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added subschema #2 to the // response property anyOf list for the response status