Modify the configuration of a Per-App VPN payload item within a profile

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

To modify Ios Per App Vpn payload item

Request URL

https://{server-hostname}:8383/api/v1/mdm/profiles/{profile_id}/payloads/iosperappvpn/payloaditems/{payload_id}

Scope

MDMDeviceMgmt.UPDATECopied!

Header

Authorization: d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

Content-TypestringMandatory
application/jsonapplication/jsonCopied!
AcceptstringMandatory
application/jsonapplication/jsonCopied!

- Path Parameters

profile_idstringMandatory

Unique identifier of the profile. Obtain from the Create Profile or Get Profiles response

payload_idstringMandatory

Unique identifier of the payload item. Obtain from the Get Payload Item IDs response

- Request Body

application/json
JSON Object
Hide Sub-Attributes
sub_configstringOptional

Sub Config. Default: L2TP

connection_namestringMandatory

Connection Name. Default: VPN Configuration

connection_typeintegerMandatory

VPN connection type. Allowed values: 0=L2TP, 1=PPTP, 2=IPSec, 3=Cisco Legacy AnyConnect, 4=Juniper SSL, 5=F5 SSL, 6=Custom SSL, 7=Pulse Secure, 8=IKEv2, 9=Cisco AnyConnect, 10=SonicWall, 11=Aruba VIA, 12=CheckPoint Mobile

send_all_nw_trafficbooleanOptional

Send All Nw Traffic. Default: false

certificate_uuidstringOptional

Certificate Uuid

enable_vpn_on_demandbooleanOptional

Enable Vpn On Demand. Default: false

disconnect_on_idle_timeoutintegerOptional

Disconnect on idle timeout in seconds. 0 means disabled. Default: 0

ciscoJSON ObjectOptional

Cisco

Show Sub-Attributes
junipersslJSON ObjectOptional

Juniperssl

Show Sub-Attributes
pulsesecureJSON ObjectOptional

Pulsesecure

Show Sub-Attributes
f5sslJSON ObjectOptional

F5Ssl

Show Sub-Attributes
customsslJSON ObjectOptional

Customssl

Show Sub-Attributes
ciscoanyconnectJSON ObjectOptional

Ciscoanyconnect

Show Sub-Attributes
sonicwallJSON ObjectOptional

Sonicwall

Show Sub-Attributes
arubaviaJSON ObjectOptional

Arubavia

Show Sub-Attributes
checkpointJSON ObjectOptional

Checkpoint

Show Sub-Attributes
proxy_typeintegerOptional

Proxy configuration type. Allowed values: 0=None, 1=Manual, 2=Automatic (PAC URL)

proxy_serverstringOptional

Proxy Server

proxy_server_portintegerOptional

Proxy Server Port. Default: 0

proxy_user_namestringOptional

Proxy User Name

proxy_passwordstringOptional

Proxy Password (sensitive - write-only)

proxy_password_idlongOptional

Proxy Password Id

proxy_pac_urlstringOptional

Proxy Pac Url

ondemand_user_override_disabledbooleanOptional

Ondemand User Override Disabled. Default: false

ondemandrulesJSON ArrayOptional

List of VPN On Demand rules controlling when the VPN connects/disconnects

Show Sub-Attributes
JSON Object
Show Sub-Attributes
rule_orderintegerOptional

Order in which the rule is evaluated

actionintegerOptional

Action to take. Allowed values: 0=Disconnect, 1=Connect, 2=Ignore, 3=Evaluate Connection

typeintegerOptional

Match type. Allowed values: 0=Always, 1=DNS Domain Match, 2=DNS Server Address Match, 3=Interface Type Match, 4=SSID Match, 5=URL String Probe

valuearrayOptional

List of match values (domains, addresses, SSIDs, etc.) based on the match type

vpn_typeintegerMandatory

VPN scope type. Allowed values: 1=Device-level VPN, 2=Per-App VPN

provider_typeintegerOptional

VPN provider type. Allowed values: 0=Packet Tunnel (default), 1=App Proxy

vpnuuidstringOptional

Vpnuuid

safari_domainsarrayOptional

List of Safari domain strings that trigger Per-App VPN

excluded_domainsarrayOptional

List of domain strings excluded from Per-App VPN

smb_domainsarrayOptional

List of SMB domain strings that trigger Per-App VPN

allowed_appsJSON ArrayOptional

List of apps allowed to use this Per-App VPN

Show Sub-Attributes
JSON Object
Show Sub-Attributes
app_idlongOptional

App ID of the VPN app. Use the app_group_id from the Apps API response

is_system_appbooleanOptional

Whether this is a system app. Default: false

group_display_namestringOptional

Display name of the app group

autonomous_kiosk_appsJSON ArrayOptional

List of autonomous single app mode apps

Show Sub-Attributes
JSON Object
Show Sub-Attributes
app_idlongOptional

App ID of the kiosk app. Use the app_group_id from the Apps API response

group_display_namestringOptional

Display name of the app group

ondemand_match_app_enabledbooleanOptional

Ondemand Match App Enabled. Default: true

custom_dataJSON ArrayOptional

List of custom key-value pairs for vendor-specific VPN configuration

Show Sub-Attributes
JSON Object
Show Sub-Attributes
custom_keystringOptional

Custom configuration key name

custom_valuestringOptional

Custom configuration key value

ipsecJSON ObjectOptional

Ipsec

Show Sub-Attributes
ikev2JSON ObjectOptional

Ikev2

Show Sub-Attributes

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request PUT \
  --url https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/iosperappvpn/payloaditems/{payload_id} \
  --header 'Accept: application/json' \
  --header 'Authorization:  d92d4xxxxxxxxxxxxx15f52' \
  --header 'Content-Type: application/json' \
  --data '{"connection_name":"VPN Configuration","send_all_nw_traffic":false,"connection_type":0,"pulsesecure":{},"sub_config":"L2TP","juniperssl":{},"enable_vpn_on_demand":false,"certificate_uuid":"value","disconnect_on_idle_timeout":0,"cisco":{},"vpn_type":1}'

Sample Request Body

Modify Per-App VPN payload item

Copied!
  {
    "connection_name": "VPN Configuration",
    "send_all_nw_traffic": false,
    "connection_type": 0,
    "pulsesecure": {},
    "sub_config": "L2TP",
    "juniperssl": {},
    "enable_vpn_on_demand": false,
    "certificate_uuid": "value",
    "disconnect_on_idle_timeout": 0,
    "cisco": {},
    "vpn_type": 1
  }
                
Show full

Response Parameters

- HTTP code 200

Response Body - application/json
JSON Object
Hide Sub-Attributes
payload_idlong

Unique identifier of the payload item

sub_configstring

Sub Config. Default: L2TP

connection_namestring

Connection Name. Default: VPN Configuration

connection_typeinteger

VPN connection type. Allowed values: 0=L2TP, 1=PPTP, 2=IPSec, 3=Cisco Legacy AnyConnect, 4=Juniper SSL, 5=F5 SSL, 6=Custom SSL, 7=Pulse Secure, 8=IKEv2, 9=Cisco AnyConnect, 10=SonicWall, 11=Aruba VIA, 12=CheckPoint Mobile

send_all_nw_trafficboolean

Send All Nw Traffic. Default: false

certificate_uuidstring

Certificate Uuid

enable_vpn_on_demandboolean

Enable Vpn On Demand. Default: false

disconnect_on_idle_timeoutinteger

Disconnect on idle timeout in seconds. 0 means disabled. Default: 0

ciscoJSON Object

Cisco

Show Sub-Attributes
junipersslJSON Object

Juniperssl

Show Sub-Attributes
pulsesecureJSON Object

Pulsesecure

Show Sub-Attributes
f5sslJSON Object

F5Ssl

Show Sub-Attributes
customsslJSON Object

Customssl

Show Sub-Attributes
ciscoanyconnectJSON Object

Ciscoanyconnect

Show Sub-Attributes
sonicwallJSON Object

Sonicwall

Show Sub-Attributes
arubaviaJSON Object

Arubavia

Show Sub-Attributes
checkpointJSON Object

Checkpoint

Show Sub-Attributes
proxy_typeinteger

Proxy configuration type. Allowed values: 0=None, 1=Manual, 2=Automatic (PAC URL)

proxy_serverstring

Proxy Server

proxy_server_portinteger

Proxy Server Port. Default: 0

proxy_user_namestring

Proxy User Name

proxy_passwordstring

Proxy Password (sensitive - write-only)

proxy_password_idlong

Proxy Password Id

proxy_pac_urlstring

Proxy Pac Url

ondemand_user_override_disabledboolean

Ondemand User Override Disabled. Default: false

ondemandrulesJSON Array

List of VPN On Demand rules controlling when the VPN connects/disconnects

Show Sub-Attributes
JSON Object
Show Sub-Attributes
rule_orderinteger

Order in which the rule is evaluated

actioninteger

Action to take. Allowed values: 0=Disconnect, 1=Connect, 2=Ignore, 3=Evaluate Connection

typeinteger

Match type. Allowed values: 0=Always, 1=DNS Domain Match, 2=DNS Server Address Match, 3=Interface Type Match, 4=SSID Match, 5=URL String Probe

valuearray

List of match values (domains, addresses, SSIDs, etc.) based on the match type

vpn_typeinteger

VPN scope type. Allowed values: 1=Device-level VPN, 2=Per-App VPN

provider_typeinteger

VPN provider type. Allowed values: 0=Packet Tunnel (default), 1=App Proxy

vpnuuidstring

Vpnuuid

safari_domainsarray

List of Safari domain strings that trigger Per-App VPN

excluded_domainsarray

List of domain strings excluded from Per-App VPN

smb_domainsarray

List of SMB domain strings that trigger Per-App VPN

allowed_appsJSON Array

List of apps allowed to use this Per-App VPN

Show Sub-Attributes
JSON Object
Show Sub-Attributes
app_idlong

App ID of the VPN app. Use the app_group_id from the Apps API response

is_system_appboolean

Whether this is a system app. Default: false

group_display_namestring

Display name of the app group

autonomous_kiosk_appsJSON Array

List of autonomous single app mode apps

Show Sub-Attributes
JSON Object
Show Sub-Attributes
app_idlong

App ID of the kiosk app. Use the app_group_id from the Apps API response

group_display_namestring

Display name of the app group

ondemand_match_app_enabledboolean

Ondemand Match App Enabled. Default: true

custom_dataJSON Array

List of custom key-value pairs for vendor-specific VPN configuration

Show Sub-Attributes
JSON Object
Show Sub-Attributes
custom_keystring

Custom configuration key name

custom_valuestring

Custom configuration key value

ipsecJSON Object

Ipsec

Show Sub-Attributes
ikev2JSON Object

Ikev2

Show Sub-Attributes

Possible Response Codes

200HTTP code

Sample Response: HTTP 200

Per-App VPN payload item successfully modified

Copied!
  {
    "connection_name": "VPN Configuration",
    "send_all_nw_traffic": false,
    "payload_id": 9007199254741000,
    "connection_type": 0,
    "pulsesecure": {},
    "sub_config": "L2TP",
    "juniperssl": {},
    "enable_vpn_on_demand": false,
    "certificate_uuid": "value",
    "disconnect_on_idle_timeout": 0,
    "cisco": {},
    "vpn_type": 1
  }
                
Show full

Duration: 1 minute | Threshold: 60 | Lock period: 5 minutes

Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.