{"id":4791,"date":"2023-11-16T07:45:46","date_gmt":"2023-11-16T07:45:46","guid":{"rendered":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/?page_id=4791"},"modified":"2026-03-18T11:53:29","modified_gmt":"2026-03-18T11:53:29","slug":"macos-policies","status":"publish","type":"page","link":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/policies\/macos-policies\/","title":{"rendered":"macOS Policies"},"content":{"rendered":"<div class=\"method-copy\">\n<div class=\"method-copy-padding\">\n<h2>macOS Policies<\/h2>\n<p>The <strong>password<\/strong> dictionary can contain the following keys:<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>allow_simple<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>true<\/td>\n<\/tr>\n<tr>\n<td>require_alphanumeric<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>change_at_next_auth<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to enforce password change in the next login.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>min_length<\/td>\n<td>Integer<\/td>\n<td>Optional. Values can be from 1 to 16.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>min_complex_chars<\/td>\n<td>Integer<\/td>\n<td>Optional. Values can be from 1 to 4.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>max_pinage_in_days<\/td>\n<td>Integer<\/td>\n<td>Optional. Values can be from 0 to 730. Specifies the maximum number of days the passcode can be used before expiration<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>max_inactivity<\/td>\n<td>String<\/td>\n<td>Optional.Specifies the maximum period of inactivity before the device locks. Values can be never, 1_mintue, 2_minutes, 3_minutes, 4_minutes, 5_minutes, 10_minutes, or 15_minutes.<\/td>\n<td>never<\/td>\n<\/tr>\n<tr>\n<td>pin_history<\/td>\n<td>Integer<\/td>\n<td>Optional. Values can be from 0 to 50.<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>max_grace_period<\/td>\n<td>String<\/td>\n<td>Optional. Values can be none, immediately,1_minute, 5_minutes, 15_minutes, 1_hour, or 4_hours.<\/td>\n<td>none<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The <strong>wifi<\/strong> dictionary contains the following keys:<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>service_set_identifier<\/td>\n<td>String<\/td>\n<td>Required.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>autojoin<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>true<\/td>\n<\/tr>\n<tr>\n<td>hidden_network<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>security_type<\/td>\n<td>String<\/td>\n<td>Optional. The possible values are <strong>none<\/strong>, <strong>WEP<\/strong>, <strong>WPA\/WPA2<\/strong>, <strong>Any*(Personal)<\/strong>, <strong>WEP_Enterprise<\/strong>, <strong>WPA\/WPA2_Enterprise<\/strong>, or <strong>Any*(Enterprise)<\/strong>.<\/td>\n<td>Any*(Personal)<\/td>\n<\/tr>\n<tr>\n<td>password<\/td>\n<td>String<\/td>\n<td>Required if WEP, WPA\/WPA2 or Any*(Personal) is set.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>proxy_type<\/td>\n<td>String<\/td>\n<td>Optional. The possible values are <strong>None<\/strong>, <strong>Manual<\/strong> or <strong>Automatic<\/strong>.<\/td>\n<td>None<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>If the <strong>proxy_type<\/strong> field is set to Manual or Automatic, the following fields must also be provided:<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>proxyserver<\/td>\n<td>String<\/td>\n<td>Required when proxy_type is Manual. The proxy server\u2019s network address.<\/td>\n<\/tr>\n<tr>\n<td>proxy_server_port<\/td>\n<td>Integer<\/td>\n<td>Required when proxy_type is Manual. The proxy server\u2019s port number.<\/td>\n<\/tr>\n<tr>\n<td>proxy_user_name<\/td>\n<td>String<\/td>\n<td>Required when proxy_type is Manual. Username for proxy authentication.<\/td>\n<\/tr>\n<tr>\n<td>proxy_password<\/td>\n<td>String<\/td>\n<td>Required when proxy_type is Manual. Password for proxy authentication.<\/td>\n<\/tr>\n<tr>\n<td>proxy_pac_url<\/td>\n<td>String<\/td>\n<td>Required when proxy_type is Automatic. The URL of the Proxy Auto Configuration (PAC) file.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>If the <strong>security_type<\/strong> field is set to Enterprise network options namely WEP_Enterprise, WPA\/WPA2_Enterprise, or Any*(Enterprise), the following fields must also be provided:<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>tls<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>leap<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>eap_fast<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>user_password<\/td>\n<td>String<\/td>\n<td>The user password for authentication.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>outer_identity<\/td>\n<td>String<\/td>\n<td>The outer identity for authentication.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>inner_authentication<\/td>\n<td>String<\/td>\n<td>Available if eap_fast is enabled. The inner authentication method for EAP. Values can be PAP, CHAP, MSCHAP, or MSCHAPv2<\/td>\n<td>PAP<\/td>\n<\/tr>\n<tr>\n<td>identity_cert_id<\/td>\n<td>String<\/td>\n<td>The ID of the identity certificate for authentication.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>provision_pac<\/td>\n<td>Boolean<\/td>\n<td>Available if eap_fast is enabled.<\/td>\n<td>true<\/td>\n<\/tr>\n<tr>\n<td>provision_pac_anonymously<\/td>\n<td>Boolean<\/td>\n<td>Available if eap_fast is enabled.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>user_name<\/td>\n<td>String<\/td>\n<td>The username for authentication.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>ttls<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>true<\/td>\n<\/tr>\n<tr>\n<td>peap<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>eap_sim<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>use_per_connection_pwd<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>use_pac<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>true<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The <strong>vpn<\/strong> dictionary payload can contain the following keys<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>certificate_id<\/td>\n<td>String<\/td>\n<td>Required when machine_authentication is a certificate.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>account<\/td>\n<td>String<\/td>\n<td>Optional. The username for the connection.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>connection_name<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>connection_type<\/td>\n<td>String<\/td>\n<td>Optional. Values can be L2TP, PPTP, IPSec(Cisco), Cisco_AnyConnect, Juniper_SSL, F5_SSL, SonicWALL_Mobile_Connect, Aruba_VIA, Check_Point_Mobile_VPN and Open_VPN.<\/td>\n<td>L2TP<\/td>\n<\/tr>\n<tr>\n<td>encryption_level<\/td>\n<td>String<\/td>\n<td>Available when the connection type is PPTP. Values can be None, Automatic, or Maximum(128_bit).<\/td>\n<td>None<\/td>\n<\/tr>\n<tr>\n<td>group<\/td>\n<td>String<\/td>\n<td>Specifies group information. Available when the connection type is Cisco_AnyConnect.<\/td>\n<\/tr>\n<tr>\n<td>identifier<\/td>\n<td>String<\/td>\n<td>Optional. Specifies the identifier for the connection.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>include_user_pin<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>ipsec_account<\/td>\n<td>String<\/td>\n<td>Optional. The IPSec account information.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>ipsec_auth_password<\/td>\n<td>String<\/td>\n<td>Optional. The password for IPSec authentication.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>ipsec_certificate_id<\/td>\n<td>String<\/td>\n<td>Optional. The ID of the IPSec certificate.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>ipsec_group_name<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>ipsec_shared_secret<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>l2tp_account<\/td>\n<td>String<\/td>\n<td>Optional. The L2TP account information.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>l2tp_password<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>l2tp_server<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>l2tp_shared_secret<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>l2tp_user_authentication<\/td>\n<td>String<\/td>\n<td>The authentication method for an L2TP user. Values can be\u2018RSA_SecureID\u2019, or \u2018Password\u2019.<\/td>\n<td>\u2018RSA_SecureID\u2019<\/td>\n<\/tr>\n<tr>\n<td>l2tp_user_authentication_method<\/td>\n<td>Integer<\/td>\n<td>Optional.<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>login_group <\/td>\n<td>String<\/td>\n<td>Required when the connection type is SONIC_WALL_Mobile_Connect. Specifies the login group information.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>machine_authentication<\/td>\n<td>String<\/td>\n<td>Required when the connection type is IPSec(Cisco). The type of machine authentication. Values can be certificate, or shared_secret\/group_name<\/td>\n<td>shared_secret\/group_name.<\/td>\n<\/tr>\n<tr>\n<td>password<\/td>\n<td>String<\/td>\n<td>Optional. The password for authentication.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>prompt_for_password<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>proxy_pac_url<\/td>\n<td>String<\/td>\n<td>Required when proxy_type is Automatic<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>proxy_password<\/td>\n<td>String<\/td>\n<td>Available when proxy_type is Manual<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>proxy_server_port<\/td>\n<td>Integer<\/td>\n<td>Required when proxy_type is Manual<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>proxy_type<\/td>\n<td>String<\/td>\n<td>Values can be \u2018None\u2019, \u2018Manual\u2019 or \u2018Automatic\u2019.<\/td>\n<td>&#8216;None&#8217;<\/td>\n<\/tr>\n<tr>\n<td>proxy_user_name<\/td>\n<td>String<\/td>\n<td>Available when proxy_type is Manual. Specifies the username for proxy authentication<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>proxyserver<\/td>\n<td>String<\/td>\n<td>Required when proxy_type is Manual. The server address of proxy.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>realm<\/td>\n<td>String<\/td>\n<td>Optional. Specifies the realm information.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>remote_address<\/td>\n<td>String<\/td>\n<td>Optional. Specifies the remote address for the connection.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>role<\/td>\n<td>String<\/td>\n<td>Optional.Specifies the role information<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>send_all_traffic<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to enable sending of all traffic through the connection.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>server<\/td>\n<td>String<\/td>\n<td>Optional. Specifies the server information.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>use_hybrid_authentication<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>user_authentication_type<\/td>\n<td>String<\/td>\n<td>Optional. Values can be \u2018password\u2019 or \u2018certificate\u2019.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>enable_vpn_ondemand<\/td>\n<td>Integer<\/td>\n<td>Optional.<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>http_enable<\/td>\n<td>Integer<\/td>\n<td>Optional.<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>https_enable<\/td>\n<td>Integer<\/td>\n<td>Optional.<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>proxy_autoconfig<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>https_proxyserver<\/td>\n<td>String<\/td>\n<td>Optional. Specifies the server address of the HTTPS proxy server.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>https_proxy_server_port<\/td>\n<td>Integer<\/td>\n<td>Optional. Specifies the port number of the HTTPS proxy server.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>connection_sub_type<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>auth_protocol<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to enable authentication protocol.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>auth_plugins<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to enable authentication plugins.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>token_key<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>ipsec_auth_enabled<\/td>\n<td>Integer<\/td>\n<td>Optional.<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>local_identifier_type<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The <strong>firewall<\/strong> dictionary payload can contain the following keys<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>firewall_enabled<\/td>\n<td>String<\/td>\n<td>Optional. Values can be allow_incoming_connections or block_incoming_connections<\/td>\n<td>allow_incoming_connections<\/td>\n<\/tr>\n<tr>\n<td>Enable_Firewall<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>Block_AllIncoming<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>Enable_StealthMode<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>application<\/td>\n<td>Array<\/td>\n<td>Optional. The application details to be included in Firewall. The details should be in the following format [{app_name:\u201d, app_id:\u201d, identifier:\u201d}].<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The <strong>filevault<\/strong> dictionary payload can contain the following keys<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>preventfromdisabled<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to prevent users from turning off FileVault encryption on the device.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>escrow_recovery_key<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to encrypt the key with a certificate and escrow it to Hexnode for safekeeping.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>preventfromenabled<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to prevent users from turning on FileVault encryption on the device.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>escrow_encryption-key_manual<\/td>\n<td>Boolean<\/td>\n<td>Optional. The possible value is allow_hexnode_to_automatically_to_encrypt_and_decrypt_the_recovery_key.<\/td>\n<td>allow_hexnode_to_automatically_to_encrypt_and_decrypt_the_recovery_key<\/td>\n<\/tr>\n<tr>\n<td>unlock_hibernation<\/td>\n<td>Boolean<\/td>\n<td>Optional.The option to enforce the use of the device password for unlocking FileVault after hibernation and for restoring the disk to its most recent saved state.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>max_bypass_attempt<\/td>\n<td>Integer<\/td>\n<td>Optional.<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>enable_bypassing<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>encryption_type<\/td>\n<td>String<\/td>\n<td>Optional. The possible values are institutional_recovery_key, personal_recovery_key, or institutional_and_personal_recovery_key.<\/td>\n<td>institutional_and_personal_recovery_key<\/td>\n<\/tr>\n<tr>\n<td>escrow_local_desc<\/td>\n<td>String<\/td>\n<td>Optional.The description for escrow local.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>show_recovery_key<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>true<\/td>\n<\/tr>\n<tr>\n<td>selected_cert_id<\/td>\n<td>Integer<\/td>\n<td>Optional.<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>escrow_message<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<\/tr>\n<tr>\n<td>enable_filevault<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>true<\/td>\n<\/tr>\n<tr>\n<td>escrow_encrypt_key_cert<\/td>\n<td>String<\/td>\n<td>Optional.<\/td>\n<td>None<\/td>\n<\/tr>\n<tr>\n<td>enter_missing_info<\/td>\n<td>Boolean<\/td>\n<td>Optional.<\/td>\n<td>true<\/td>\n<\/tr>\n<tr>\n<td>ask_at_logout<\/td>\n<td>Boolean<\/td>\n<td>Optional. The option to define the maximum number of times a user can bypass the prompt to enable FileVault when logging into the device.<\/td>\n<td>true<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The <strong>systemextension<\/strong> dictionary payload can contain the following keys<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>allow_system_user_overrides<\/td>\n<td>Boolean<\/td>\n<td>Optional<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>allowed_system_teamids<\/td>\n<td>Array<\/td>\n<td>Optional. The team identifiers should be specified within []<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>allowed_system_extensions<\/td>\n<td>Object<\/td>\n<td>Optional. The system extensions should be specified within {}.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>allowed_system_extension_type<\/td>\n<td>Object<\/td>\n<td>Optional. The system extension types should be specified within {}.<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The <strong>kernelextension<\/strong> dictionary payload can contain the following keys<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" class=\"table table-bordered\" width=\"100%\">\n<thead>\n<tr>\n<th width=\"15%\"><strong>Argument<\/strong><\/th>\n<th width=\"12%\"><strong>Type<\/strong><\/th>\n<th width=\"30%\"><strong> Description <\/strong><\/th>\n<th width=\"10%\"><strong> Default value <\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>allow_user_overrides<\/td>\n<td>Boolean<\/td>\n<td>Optional<\/td>\n<td>false<\/td>\n<\/tr>\n<tr>\n<td>allowed_kernel_extensions<\/td>\n<td>Object<\/td>\n<td>Optional. The kernel extensions should be specified within {}.<\/td>\n<\/tr>\n<tr>\n<td>allowed_teamids<\/td>\n<td>String<\/td>\n<td>Optional. The team identifiers should be specified within [].<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The <strong>app_management<\/strong> dictionary can contain the following keys:<\/p>\n<div class=\"table-responsive\">\n<table id=\"table_61516733\" width=\"100%\" class=\"table table-bordered\">\n<thead>\n<tr>\n<th> <strong> Argument <\/strong> <\/th>\n<th> <strong> Type <\/strong> <\/th>\n<th> <strong> Description <\/strong> <\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>whitelist_apps<\/td>\n<td>Dictionary<\/td>\n<td>Optional. A dictionary containing the explicit keys <strong>app<\/strong> (whose value is a list of app IDs) and <strong>group<\/strong> (whose value is a list of app group IDs). <\/td>\n<\/tr>\n<tr>\n<td>blacklist_apps<\/td>\n<td>Dictionary<\/td>\n<td>Optional. A dictionary containing the explicit keys <strong>app<\/strong> (whose value is a list of app IDs) and <strong>group<\/strong> (whose value is a list of app group IDs). <\/td>\n<\/tr>\n<tr>\n<td>mandatory_apps<\/td>\n<td>Dictionary<\/td>\n<td>Optional. A dictionary containing the explicit keys <strong>app<\/strong> (whose value is a list of app IDs) and <strong>group<\/strong> (whose value is a list of app group IDs). <\/td>\n<\/tr>\n<tr>\n<td>catalogues<\/td>\n<td>List \/ Array<\/td>\n<td>Optional. List of integers representing the corresponding catalogue IDs.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"method-example\">\n<div class=\"curl-text\">curl<\/div>\n<div class=\"code-curl code-div active-code\">\n<div class=\"method-example-part\">\n<pre class=\"lang:default decode:true\">POST https:\/\/.hexnodemdm.com\/api\/v1\/policy\/ \r\nheaders:- \r\nAuthorization:  \r\nContent-Type: application\/json \r\nSample Post Data:- \r\n[{ \r\n\"name\": \"Sales Team Policy\", \r\n\"description\": \"\", \r\n\"macos\": { \r\n\"passwordcode\": { \r\n\"allow_simple\": true, \r\n\"require_alphanumeric\": false, \r\n\"change_at_next_auth\": false, \r\n\"min_length\": 1, \r\n\"min_complex_chars\": 2, \r\n\"max_pinage_in_days\": 30, \r\n\"max_inactivity\": never, \r\n\"pin_history\": 4, \r\n\u201cmax_grace_period\u201d : none, \r\n\u201cforce_pin\u201d: true \r\n}, \r\n\r\n\"wifi\": null, \r\n\"vpn\": null, \r\n\"schedule_os_updates\": null, \r\n\"firewall\": null, \r\n\"filevault\": null, \r\n\"Systemextension\": null, \r\n\"Kernelextension\": null, \r\n\"app_management\": {} \r\n} \r\n\r\n\"policy_targets\": { \r\n\"devices\": [2,4], \r\n\"devicegroups\": [], \r\n\"users\": [], \r\n\"usergroups\": [] \r\n} \r\n}] \r\n<\/pre>\n<p>Shell Command<\/p>\n<pre class=\"lang:default decode:true\">curl -H \"Authorization:  \" -H \"Content-Type: application\/json\" -d '{\"name\": \"Sales Team Policy\", \"description\": \"\", \"macos\": {\"password\": {\"allow_simple\": true, \"require_alphanumeric\": false, \"change_at_next_auth\": false, \"min_length\": 1, \"min_complex_chars\": 2, \"max_pinage_in_days\": 30, \"max_inactivity\": \"never\", \"pin_history\": 4, \"force_pin\": true}}, \"policy_targets\": {\"devices\": [4002], \"devicegroups\": [], \"users\": [], \"usergroups\": []}}' https:\/\/.hexnodemdm.com\/api\/v1\/policy\/ -X POST \r\n<\/pre>\n<\/div>\n<\/div>\n<div class=\"code-curl code-div active-code\">\n<div class=\"method-example-part\">\n<p>HTTP Response:<\/p>\n<pre class=\"lang:default decode:true\">HTTP\/1.1 201 Created \r\n{ \r\n\"id\": 5, \r\n\"name\": \"Sales Team Policy\", \r\n\"description\": \"\", \r\n\"version\": 1, \r\n\"ios_configured\": false, \r\n\"android_configured\": false, \r\n\"windows_configured\": false, \r\n\"macos_configured\": true, \r\n\"created_time\": \"2023-11-08T05:06:53.782500Z\", \r\n\"modified_time\": \"2023-11-08T05:06:53.782312Z\", \r\n\"ios\": { \r\n\"password\": null, \r\n\"restrictions\": null, \r\n\"advanced_restrictions\": null, \r\n\"web_content_filter\": null, \r\n\"wifi\": null, \r\n\"vpn\": null, \r\n\"email\": null, \r\n\"activesync\": null, \r\n\"ldap\": null, \r\n\"caldav\": null, \r\n\"subscribe_calendar\": null, \r\n\"carddav\": null, \r\n\"webclip\": null, \r\n\"access_point\": null, \r\n\"applock\": null, \r\n\"wallpaper\": null, \r\n\"globalproxy\": null, \r\n\"lock_screen_msg\": null \r\n}, \r\n\r\n\"android\": { \r\n\"password\": null, \r\n\"restrictions\": null, \r\n\"wifi\": [], \r\n\"email\": null, \r\n\"activesync\": null, \r\n\"applock\": null, \r\n\"wallpaper\": null, \r\n\"android_web_content_filter\": null \r\n}, \r\n\r\n\"windows\": null, \r\n\"macos\": { \r\n\"password\": { \r\n\"allow_simple\": true, \r\n\"require_alphanumeric\": true, \r\n\"change_at_next_auth\": true, \r\n\"min_length\": 6, \r\n\"min_complex_chars\": 3, \r\n\"max_pinage_in_days\": 4, \r\n\"max_inactivity\": \"5_minutes\", \r\n\"pin_history\": null, \r\n\"max_grace_period\": \"15_minutes\" \r\n}, \r\n\r\n\"wifi\": null, \r\n\"vpn\": null, \r\n\"firewall\": null, \r\n\"filevault\": null, \r\n\"systemextension\": null, \r\n\"kernelextension\": null,\r\n\"app_management\": { \r\n\"whitelist_apps\": { \r\n\"app\": [], \r\n\"group\": [] \r\n}, \r\n\"blacklist_apps\": { \r\n\"app\": [], \r\n\"group\": [] \r\n}, \r\n\"mandatory_apps\": { \r\n\"app\": [], \r\n\"group\": [] \r\n}, \r\n\"catalogues\": [] \r\n} \r\n}, \r\n\"general_settings\": { \r\n\"location_settings\": { \r\n\"tracking_disabled\": true, \r\n\"interval_minutes\": 60, \r\n\"location_configured\": false \r\n} \r\n}, \r\n\r\n\"policy_targets\": { \r\n\"devices\": [2,4] \r\n\"devicegroups\": [], \r\n\"users\": [], \r\n\"usergroups\": [] \r\n} \r\n} \r\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>macOS Policies The password dictionary can contain the following keys: Argument Type Description Default value allow_simple Boolean Optional. true require_alphanumeric Boolean Optional. false change_at_next_auth Boolean Optional. The option to enforce password change in the next login. false min_length Integer Optional. Values can be from 1 to 16. min_complex_chars Integer Optional. Values can be from 1 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":3672,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-4791","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/pages\/4791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/comments?post=4791"}],"version-history":[{"count":17,"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/pages\/4791\/revisions"}],"predecessor-version":[{"id":5023,"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/pages\/4791\/revisions\/5023"}],"up":[{"embeddable":true,"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/pages\/3672"}],"wp:attachment":[{"href":"https:\/\/www.hexnode.com\/mobile-device-management\/developers\/wp-json\/wp\/v2\/media?parent=4791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}