{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/OutgoingCallingPermissionsSettingPut",
  "title": "OutgoingCallingPermissionsSettingPut",
  "type": "object",
  "required": [
    "callingPermissions"
  ],
  "properties": {
    "useCustomEnabled": {
      "type": "boolean",
      "example": true,
      "description": "When true, indicates that this user uses the shared control that applies to all outgoing call settings categories when placing outbound calls."
    },
    "useCustomPermissions": {
      "type": "boolean",
      "example": true,
      "description": "When true, indicates that this user uses the specified outgoing calling permissions when placing outbound calls."
    },
    "callingPermissions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "transferEnabled"
        ],
        "properties": {
          "callType": {
            "type": "string",
            "enum": [
              "INTERNAL_CALL",
              "TOLL_FREE",
              "INTERNATIONAL",
              "OPERATOR_ASSISTED",
              "CHARGEABLE_DIRECTORY_ASSISTED",
              "SPECIAL_SERVICES_I",
              "SPECIAL_SERVICES_II",
              "PREMIUM_SERVICES_I",
              "PREMIUM_SERVICES_II",
              "NATIONAL"
            ],
            "description": "Designates the action to be taken for each call type and if transferring the call type is allowed.\n * `INTERNAL_CALL` - Controls calls within your own company.\n * `TOLL_FREE` - Controls calls to a telephone number that is billed for all arriving calls instead of incurring charges to the originating caller, usually free of charge from a landline.\n * `INTERNATIONAL` - Controls calls to locations outside of the Long Distance areas that require an international calling code before the number is dialed.\n * `OPERATOR_ASSISTED` - Controls calls requiring Operator Assistance.\n * `CHARGEABLE_DIRECTORY_ASSISTED` - Controls calls to Directory Assistant companies that require a charge to connect the call.\n * `SPECIAL_SERVICES_I` - Controls calls to carrier-specific number assignments to special services or destinations.\n * `SPECIAL_SERVICES_II` - Controls calls to carrier-specific number assignments to special services or destinations.\n * `PREMIUM_SERVICES_I` - Controls calls used to provide information or entertainment for a fee charged directly to the caller.\n * `PREMIUM_SERVICES_II` - Controls calls used to provide information or entertainment for a fee charged directly to the caller.\n * `NATIONAL` - Controls calls that are within your country of origin, both within and outside of your local area code.\n"
          },
          "action": {
            "type": "string",
            "enum": [
              "ALLOW",
              "BLOCK",
              "AUTH_CODE",
              "TRANSFER_NUMBER_1",
              "TRANSFER_NUMBER_2",
              "TRANSFER_NUMBER_3"
            ],
            "description": "Action on the given `callType`.\n * `ALLOW` - Allow the designated call type.\n * `BLOCK` - Block the designated call type.\n * `AUTH_CODE` - Allow only via Authorization Code.\n * `TRANSFER_NUMBER_1` - Transfer to Auto Transfer Number 1. The answering virtual line can then approve the call and send it through or reject the call.\n * `TRANSFER_NUMBER_2` - Transfer to Auto Transfer Number 2. The answering virtual line can then approve the call and send it through or reject the call.\n * `TRANSFER_NUMBER_3` - Transfer to Auto Transfer Number 3. The answering virtual line can then approve the call and send it through or reject the call.\n"
          },
          "transferEnabled": {
            "type": "boolean",
            "description": "Allow the virtual line to transfer or forward a call of the specified call type."
          }
        }
      },
      "description": "Specifies the outbound calling permissions settings."
    }
  }
}