{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/IncomingPermissionSetting",
  "title": "IncomingPermissionSetting",
  "type": "object",
  "required": [
    "useCustomEnabled",
    "externalTransfer",
    "internalCallsEnabled",
    "collectCallsEnabled"
  ],
  "properties": {
    "useCustomEnabled": {
      "type": "boolean",
      "description": "When true, indicates that this virtual line uses the specified calling permissions for receiving inbound calls rather than the organizational defaults."
    },
    "externalTransfer": {
      "type": "string",
      "enum": [
        "ALLOW_ALL_EXTERNAL",
        "ALLOW_ONLY_TRANSFERRED_EXTERNAL",
        "BLOCK_ALL_EXTERNAL"
      ],
      "description": "Specifies the transfer behavior for incoming, external calls.\n * `ALLOW_ALL_EXTERNAL` - Allow transfer and forward for all external calls including those which were transferred.\n * `ALLOW_ONLY_TRANSFERRED_EXTERNAL` - Only allow transferred calls to be transferred or forwarded and disallow transfer of other external calls.\n * `BLOCK_ALL_EXTERNAL` - Block all external calls from being transferred or forwarded.\n"
    },
    "internalCallsEnabled": {
      "type": "boolean",
      "example": true,
      "description": "Internal calls are allowed to be received."
    },
    "collectCallsEnabled": {
      "type": "boolean",
      "example": true,
      "description": "Collect calls are allowed to be received."
    }
  }
}