{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/twilio/main/json-schema/twilio-voice-v1-byoc-trunk-schema.json",
  "title": "voice.v1.byoc_trunk",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/twilio-byoctrunks-api-openapi.yml#/components/schemas/voice.v1.byoc_trunk",
  "type": "object",
  "properties": {
    "account_sid": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 34,
      "maxLength": 34,
      "pattern": "^AC[0-9a-fA-F]{32}$",
      "description": "The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the BYOC Trunk resource."
    },
    "sid": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 34,
      "maxLength": 34,
      "pattern": "^BY[0-9a-fA-F]{32}$",
      "description": "The unique string that that we created to identify the BYOC Trunk resource."
    },
    "friendly_name": {
      "type": [
        "string",
        "null"
      ],
      "description": "The string that you assigned to describe the resource."
    },
    "voice_url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri",
      "description": "The URL we call using the `voice_method` when the BYOC Trunk receives a call.",
      "x-twilio": {
        "pii": {
          "handling": "standard",
          "deleteSla": 30
        }
      }
    },
    "voice_method": {
      "type": [
        "string",
        "null"
      ],
      "format": "http-method",
      "enum": [
        "HEAD",
        "GET",
        "POST",
        "PATCH",
        "PUT",
        "DELETE"
      ],
      "description": "The HTTP method we use to call `voice_url`. Can be: `GET` or `POST`."
    },
    "voice_fallback_url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri",
      "description": "The URL that we call when an error occurs while retrieving or executing the TwiML requested from `voice_url`.",
      "x-twilio": {
        "pii": {
          "handling": "standard",
          "deleteSla": 30
        }
      }
    },
    "voice_fallback_method": {
      "type": [
        "string",
        "null"
      ],
      "format": "http-method",
      "enum": [
        "HEAD",
        "GET",
        "POST",
        "PATCH",
        "PUT",
        "DELETE"
      ],
      "description": "The HTTP method we use to call `voice_fallback_url`. Can be: `GET` or `POST`."
    },
    "status_callback_url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri",
      "description": "The URL that we call to pass status parameters (such as call ended) to your application.",
      "x-twilio": {
        "pii": {
          "handling": "standard",
          "deleteSla": 30
        }
      }
    },
    "status_callback_method": {
      "type": [
        "string",
        "null"
      ],
      "format": "http-method",
      "enum": [
        "HEAD",
        "GET",
        "POST",
        "PATCH",
        "PUT",
        "DELETE"
      ],
      "description": "The HTTP method we use to call `status_callback_url`. Either `GET` or `POST`."
    },
    "cnam_lookup_enabled": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether Caller ID Name (CNAM) lookup is enabled for the trunk. If enabled, all inbound calls to the BYOC Trunk from the United States and Canada automatically perform a CNAM Lookup and display Caller ID data on your phone. See [CNAM Lookups](https://www.twilio.com/docs/sip-trunking#CNAM) for more information."
    },
    "connection_policy_sid": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 34,
      "maxLength": 34,
      "pattern": "^NY[0-9a-fA-F]{32}$",
      "description": "The SID of the Connection Policy that Twilio will use when routing traffic to your communications infrastructure."
    },
    "from_domain_sid": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 34,
      "maxLength": 34,
      "pattern": "^SD[0-9a-fA-F]{32}$",
      "description": "The SID of the SIP Domain that should be used in the `From` header of originating calls sent to your SIP infrastructure. If your SIP infrastructure allows users to \"call back\" an incoming call, configure this with a [SIP Domain](https://www.twilio.com/docs/voice/api/sending-sip) to ensure proper routing. If not configured, the from domain will default to \"sip.twilio.com\"."
    },
    "date_created": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format."
    },
    "date_updated": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format."
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri",
      "description": "The absolute URL of the resource."
    }
  }
}