Phone Numbers

Number ownership needs confirmation

A monitored number hosted with another provider changed carrier, or its periodic ownership re-verification is due. Confirm ownership before confirm_by with POST /enterprises/{enterprise_id}/reputation/numbers/{phone_number}/ownership_confirm.

Sent to the enterprise's ownership webhook URL (PATCH /enterprises/{enterprise_id}/reputation/webhook). This webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.

postWebhooknumberReputationNumberFlagged

Headers

telnyx-timestampinteger required

Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp

telnyx-signature-ed25519string required

Ed25519 signature of the payload - compatible with webhook-signature

Payload

Example payload

{
  "data": {
    "record_type": "event",
    "id": "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
    "occurred_at": "2026-10-05T07:00:12.521992Z",
    "event_type": "number_reputation.number.flagged",
    "payload": {
      "record_type": "reputation_phone_number",
      "phone_number": "+13125550142",
      "enterprise_id": "4a6192a4-573d-446d-b3ce-aff9117272a6",
      "source": "external",
      "ownership_status": "pending_confirmation",
      "flag_reason": "carrier_changed",
      "confirm_by": "2026-10-08T07:00:00+00:00"
    }
  },
  "meta": {
    "attempt": 1,
    "delivered_to": "https://example.com/webhooks/telnyx"
  }
}

Response

Return an HTTP 200 to acknowledge receipt; otherwise delivery is retried.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.