{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/telnyx/json-schema/telnyx-update-phone-number-voice-settings-request-schema.json",
  "title": "UpdatePhoneNumberVoiceSettingsRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-phone-number-configurations-api-openapi.yml#/components/schemas/UpdatePhoneNumberVoiceSettingsRequest",
  "properties": {
    "call_forwarding": {
      "$ref": "#/$defs/CallForwarding"
    },
    "call_recording": {
      "$ref": "#/$defs/CallRecording"
    },
    "caller_id_name_enabled": {
      "default": false,
      "description": "Controls whether the caller ID name is enabled for this phone number.",
      "type": "boolean"
    },
    "cnam_listing": {
      "$ref": "#/$defs/CnamListing"
    },
    "inbound_call_screening": {
      "default": "disabled",
      "description": "The inbound_call_screening setting is a phone number configuration option variable that allows users to configure their settings to block or flag fraudulent calls. It can be set to disabled, reject_calls, or flag_calls. This feature has an additional per-number monthly cost associated with it.",
      "enum": [
        "disabled",
        "reject_calls",
        "flag_calls"
      ],
      "type": "string"
    },
    "media_features": {
      "$ref": "#/$defs/MediaFeatures"
    },
    "tech_prefix_enabled": {
      "default": false,
      "description": "Controls whether a tech prefix is enabled for this phone number.",
      "type": "boolean"
    },
    "translated_number": {
      "description": "This field allows you to rewrite the destination number of an inbound call before the call is routed to you. The value of this field may be any alphanumeric value, and the value will replace the number originally dialed.",
      "type": "string"
    },
    "usage_payment_method": {
      "default": "pay-per-minute",
      "description": "Controls whether a number is billed per minute or uses your concurrent channels.",
      "enum": [
        "pay-per-minute",
        "channel"
      ],
      "type": "string"
    }
  },
  "type": "object",
  "$defs": {
    "CallForwarding": {
      "description": "The call forwarding settings for a phone number.",
      "properties": {
        "call_forwarding_enabled": {
          "default": true,
          "description": "Indicates if call forwarding will be enabled for this number if forwards_to and forwarding_type are filled in. Defaults to true for backwards compatibility with APIV1 use of numbers endpoints.",
          "type": "boolean"
        },
        "forwarding_type": {
          "description": "Call forwarding type. 'forwards_to' must be set for this to have an effect.",
          "enum": [
            "always",
            "on-failure"
          ],
          "type": "string"
        },
        "forwards_to": {
          "description": "The phone number to which inbound calls to this number are forwarded. Inbound calls will not be forwarded if this field is left blank. If set, must be a +E.164-formatted phone number.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CallRecording": {
      "description": "The call recording settings for a phone number.",
      "properties": {
        "inbound_call_recording_channels": {
          "default": "single",
          "description": "When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B.",
          "enum": [
            "single",
            "dual"
          ],
          "type": "string"
        },
        "inbound_call_recording_enabled": {
          "default": false,
          "description": "When enabled, any inbound call to this number will be recorded.",
          "type": "boolean"
        },
        "inbound_call_recording_format": {
          "default": "wav",
          "description": "The audio file format for calls being recorded.",
          "enum": [
            "wav",
            "mp3"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CnamListing": {
      "description": "The CNAM listing settings for a phone number.",
      "properties": {
        "cnam_listing_details": {
          "description": "The CNAM listing details for this number. Must be alphanumeric characters or spaces with a maximum length of 15. Requires cnam_listing_enabled to also be set to true.",
          "type": "string"
        },
        "cnam_listing_enabled": {
          "default": false,
          "description": "Enables CNAM listings for this number. Requires cnam_listing_details to also be set.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "MediaFeatures": {
      "description": "The media features settings for a phone number.",
      "properties": {
        "accept_any_rtp_packets_enabled": {
          "default": false,
          "description": "When enabled, Telnyx will accept RTP packets from any customer-side IP address and port, not just those to which Telnyx is sending RTP.",
          "type": "boolean"
        },
        "rtp_auto_adjust_enabled": {
          "default": true,
          "description": "When RTP Auto-Adjust is enabled, the destination RTP address port will be automatically changed to match the source of the incoming RTP packets.",
          "type": "boolean"
        },
        "t38_fax_gateway_enabled": {
          "default": false,
          "description": "Controls whether Telnyx will accept a T.38 re-INVITE for this phone number. Note that Telnyx will not send a T.38 re-INVITE; this option only controls whether one will be accepted.",
          "type": "boolean"
        }
      },
      "type": "object"
    }
  }
}